:root{--wine:#3d1727;--wine-2:#601f38;--rose:#b66b7e;--blush:#ead1d7;--cream:#f8f3ef;--paper:#fffdfb;--ink:#241b20;--muted:#72666c;--line:#e8dedf;--gold:#b99158;--shadow:0 22px 60px rgba(61,23,39,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{width:100%;display:block}button{font:inherit}.eyebrow{color:var(--rose);font-size:11px;font-weight:800;letter-spacing:.18em}.site-header{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(28px,5vw);border-bottom:1px solid rgba(61,23,39,.08);background:rgba(255,253,251,.94);backdrop-filter:blur(15px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:12px;justify-self:start}.brand img{width:50px;height:50px;object-fit:cover;border-radius:50%;border:2px solid var(--blush)}.brand strong,.brand small{display:block}.brand strong{font:700 20px 'Playfair Display',serif}.brand small{margin-top:1px;color:var(--rose);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:32px}.site-nav a{position:relative;font-size:12px;font-weight:700}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--rose);transition:right .2s}.site-nav a:hover:after{right:0}.header-cta{justify-self:end;padding:12px 18px;border-radius:99px;color:#fff;background:var(--wine);font-size:11px;font-weight:800}.menu-toggle{display:none;border:0;background:none}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);align-items:center;gap:7vw;padding:70px max(28px,7vw);overflow:hidden;background:linear-gradient(120deg,var(--cream),#fff 56%)}.hero-copy h1,.section-heading h2,.about-copy h2,.contact-copy h2{margin:14px 0 20px;font:700 clamp(43px,5vw,76px)/.98 'Playfair Display',serif;letter-spacing:-.035em}.hero-copy h1 em,.section-heading h2 em,.about-copy h2 em,.contact-copy h2 em{color:var(--rose);font-weight:600}.hero-copy>p{max-width:600px;color:var(--muted);font-size:16px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:12px;margin-top:30px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 23px;border:1px solid transparent;border-radius:99px;cursor:pointer;font-size:12px;font-weight:800}.button.primary{color:#fff;background:var(--wine)}.button.primary:hover{background:var(--wine-2)}.button.secondary{color:var(--wine);border-color:var(--blush);background:transparent}.button.light{color:var(--wine);background:#fff}.hero-trust{display:flex;align-items:center;gap:22px;margin-top:38px}.hero-trust span b,.hero-trust span small{display:block}.hero-trust span b{font:600 15px 'Playfair Display',serif}.hero-trust span small{margin-top:4px;color:var(--muted);font-size:10px}.hero-trust i{width:1px;height:34px;background:var(--line)}.hero-gallery{height:min(670px,70vw);position:relative}.hero-gallery figure{margin:0;position:absolute;overflow:hidden;box-shadow:var(--shadow)}.hero-gallery img{height:100%;object-fit:cover;transition:transform .8s}.hero-gallery figure:hover img{transform:scale(1.035)}.hero-main{width:66%;height:82%;right:10%;top:5%;border-radius:180px 180px 30px 30px}.hero-small{width:32%;height:34%;border:9px solid var(--paper);border-radius:120px 120px 22px 22px}.hero-small.top{right:0;top:0}.hero-small.bottom{left:0;bottom:1%;border-radius:25px 25px 100px 100px}.hero-seal{width:115px;height:115px;display:grid;place-content:center;position:absolute;right:2%;bottom:4%;z-index:2;text-align:center;border-radius:50%;color:#fff;background:var(--wine);box-shadow:var(--shadow);transform:rotate(-8deg)}.hero-seal strong{font:700 24px 'Playfair Display',serif}.hero-seal span{font-size:10px;font-weight:800;letter-spacing:.25em}.hero-seal small{margin-top:4px;color:var(--blush);font:italic 10px 'Playfair Display',serif}.intro-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:22px max(28px,7vw);color:#fff;background:var(--wine)}.intro-strip span{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 20px;border-right:1px solid rgba(255,255,255,.16)}.intro-strip span:last-child{border:0}.intro-strip b{color:var(--rose);font:600 21px 'Playfair Display',serif}.intro-strip strong{font-size:10px;letter-spacing:.07em;text-transform:uppercase}.section{padding:110px max(28px,7vw)}.section-heading.centered{max-width:760px;margin:0 auto 55px;text-align:center}.section-heading h2,.about-copy h2,.contact-copy h2{font-size:clamp(37px,4vw,59px)}.section-heading p{color:var(--muted);font-size:14px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-grid article{min-height:330px;display:flex;flex-direction:column;position:relative;padding:28px;border:1px solid var(--line);background:#fff;transition:transform .25s,background .25s,color .25s}.service-grid article:hover{color:#fff;background:var(--wine);transform:translateY(-7px);box-shadow:var(--shadow)}.service-grid article>span{position:absolute;right:22px;top:20px;color:var(--blush);font:600 28px 'Playfair Display',serif}.service-icon{width:54px;height:54px;display:grid;place-items:center;margin:45px 0 22px;border-radius:50%;color:var(--wine);background:var(--cream);font-size:20px}.service-grid h3{margin:0;font:700 23px 'Playfair Display',serif}.service-grid p{color:var(--muted);font-size:12px;line-height:1.7}.service-grid article:hover p{color:rgba(255,255,255,.68)}.service-grid a{margin-top:auto;color:var(--rose);font-size:10px;font-weight:800;letter-spacing:.06em}.gallery-section{background:var(--cream)}.gallery-heading{display:grid;grid-template-columns:1fr 390px;align-items:end;gap:50px;margin-bottom:45px}.gallery-heading p{margin:0 0 14px}.gallery-heading a,.text-link{color:var(--wine);font-size:11px;font-weight:800;border-bottom:1px solid var(--rose)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-card{height:340px;position:relative;overflow:hidden;border:0;padding:0;cursor:zoom-in;background:#eadfe0}.gallery-card:nth-child(7n+1),.gallery-card:nth-child(7n+5){grid-row:span 2;height:692px}.gallery-card img{height:100%;object-fit:cover;transition:transform .5s,filter .5s}.gallery-card:after{content:"Ver foto  +";position:absolute;left:14px;right:14px;bottom:14px;padding:12px 14px;color:#fff;background:rgba(61,23,39,.72);backdrop-filter:blur(8px);font-size:10px;font-weight:800;letter-spacing:.06em;opacity:0;transform:translateY(8px);transition:.25s}.gallery-card:hover img{transform:scale(1.045);filter:saturate(1.06)}.gallery-card:hover:after{opacity:1;transform:none}.gallery-more{display:flex;align-items:center;flex-direction:column;gap:10px;margin-top:36px}.gallery-more small{color:var(--muted);font-size:10px}.about{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:9vw}.about-images{height:650px;position:relative}.about-images figure{margin:0;position:absolute;overflow:hidden}.about-images img{height:100%;object-fit:cover}.about-large{width:70%;height:88%;left:0;top:0;border-radius:210px 210px 20px 20px}.about-small{width:45%;height:48%;right:0;bottom:0;border:10px solid #fff;border-radius:18px 18px 130px 130px;box-shadow:var(--shadow)}.about-copy>p{color:var(--muted);font-size:14px;line-height:1.8}.about-copy blockquote{margin:30px 0;padding:20px 0 20px 24px;border-left:2px solid var(--rose);color:var(--wine);font:italic 600 22px/1.4 'Playfair Display',serif}.contact{display:grid;grid-template-columns:1fr .85fr;gap:8vw;color:#fff;background:var(--wine)}.contact-copy .eyebrow{color:var(--blush)}.contact-copy h2{color:#fff}.contact-copy h2 em{color:#d99bad}.contact-copy p{max-width:530px;color:rgba(255,255,255,.65);line-height:1.7}.contact-copy .button{margin-top:20px}.contact-info{align-self:center;border-top:1px solid rgba(255,255,255,.16)}.contact-info article{padding:24px 4px;border-bottom:1px solid rgba(255,255,255,.16)}.contact-info span,.contact-info strong,.contact-info small{display:block}.contact-info span{color:#d99bad;font-size:9px;font-weight:800;letter-spacing:.16em}.contact-info strong{margin-top:6px;font:600 20px 'Playfair Display',serif}.contact-info small{margin-top:4px;color:rgba(255,255,255,.55);font-size:10px}footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;padding:45px max(28px,7vw);border-bottom:9px solid var(--wine);background:#fff}.footer-brand img{width:46px;height:46px}footer p{color:var(--muted);font-size:11px}footer>div{display:flex;gap:20px}footer>div a{font-size:10px;font-weight:800}footer>small{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line);color:#998e93;font-size:9px}.whatsapp-float{height:53px;display:flex;align-items:center;gap:9px;position:fixed;right:22px;bottom:22px;z-index:45;padding:6px 17px 6px 7px;border-radius:99px;color:#fff;background:#1fa855;box-shadow:0 13px 35px rgba(21,116,61,.3)}.whatsapp-float span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.18);font-size:10px;font-weight:900}.whatsapp-float b{font-size:11px}.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:30px;border:0;background:rgba(24,12,18,.94)}.lightbox[open]{display:grid;grid-template-columns:70px 1fr 70px;align-items:center}.lightbox::backdrop{background:rgba(20,8,14,.9)}.lightbox figure{height:calc(100dvh - 60px);margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.lightbox img{width:auto;max-width:100%;height:auto;max-height:calc(100% - 44px);object-fit:contain}.lightbox figcaption{margin-top:12px;color:#fff;font-size:11px}.lightbox button{border:0;color:#fff;background:transparent;cursor:pointer;font-size:28px}.lightbox-close{position:absolute;right:20px;top:15px}.lightbox-nav{height:90px}.lightbox-nav:hover{color:var(--blush)}
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto}.site-nav{display:none}.header-cta{grid-column:2}.hero{grid-template-columns:1fr 1fr;gap:30px;padding-left:5vw;padding-right:5vw}.service-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-card:nth-child(7n+1),.gallery-card:nth-child(7n+5){grid-row:auto;height:340px}}
@media(max-width:760px){.site-header{height:72px;padding:0 18px}.brand img{width:43px;height:43px}.brand strong{font-size:17px}.header-cta{display:none}.menu-toggle{width:42px;height:42px;display:grid;place-content:center;gap:6px;justify-self:end}.menu-toggle span{width:23px;height:2px;background:var(--wine)}.site-nav{position:fixed;inset:72px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;background:var(--paper);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.2s}.menu-open .site-nav{opacity:1;visibility:visible;transform:none}.site-nav a{font:600 28px 'Playfair Display',serif}.hero{min-height:auto;grid-template-columns:1fr;padding:65px 20px}.hero-copy h1{font-size:47px}.hero-copy>p{font-size:14px}.hero-actions{align-items:stretch;flex-direction:column}.hero-gallery{height:520px;margin-top:25px}.hero-main{width:72%;right:5%}.hero-small{width:38%}.hero-seal{width:94px;height:94px}.intro-strip{grid-template-columns:1fr 1fr;padding:16px}.intro-strip span{justify-content:flex-start;border-bottom:1px solid rgba(255,255,255,.14)}.intro-strip span:nth-child(2){border-right:0}.intro-strip b{font-size:16px}.intro-strip strong{font-size:8px}.section{padding:80px 20px}.section-heading.centered{text-align:left}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:270px}.gallery-heading{grid-template-columns:1fr;gap:5px}.gallery-grid{grid-template-columns:1fr 1fr;gap:7px}.gallery-card,.gallery-card:nth-child(7n+1),.gallery-card:nth-child(7n+5){height:240px}.about{grid-template-columns:1fr}.about-images{height:470px}.about-copy{padding-top:25px}.contact{grid-template-columns:1fr}.contact-copy h2{font-size:43px}footer{grid-template-columns:1fr;gap:17px}footer>div{flex-wrap:wrap}footer>small{grid-column:auto}.lightbox{padding:18px}.lightbox[open]{grid-template-columns:42px 1fr 42px}.lightbox figure{height:calc(100dvh - 36px)}.whatsapp-float{right:12px;bottom:12px}}
@media(max-width:420px){.hero-copy h1{font-size:40px}.hero-gallery{height:440px}.hero-small.bottom{bottom:0}.gallery-card,.gallery-card:nth-child(7n+1),.gallery-card:nth-child(7n+5){height:205px}.intro-strip{grid-template-columns:1fr}.intro-strip span{border-right:0}.about-images{height:410px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.social-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.social{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.06)}.social>span{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff!important;font-size:10px!important;letter-spacing:0!important}.social div small{margin:0;color:rgba(255,255,255,.5);font-size:8px;letter-spacing:.12em}.social div strong{margin-top:3px;font:700 11px Manrope,sans-serif}.social.whatsapp>span{background:#1fa855}.social.instagram>span{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}
@media(max-width:760px){.social-buttons{grid-template-columns:1fr}}
.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.whatsapp-button svg{width:19px;height:19px;flex:0 0 auto;fill:currentColor}.button.primary.whatsapp-button{background:#25d366}.button.primary.whatsapp-button:hover{background:#1fba59}.button.light.whatsapp-button{color:#128c4a}.social{transition:transform .2s,background .2s}.social:hover{transform:translateY(-2px);background:rgba(255,255,255,.11)}.social>span{width:42px;height:42px;border-radius:12px}.social>span svg{width:22px;height:22px;fill:#fff}.social.whatsapp>span{background:#25d366}.social.instagram>span{background:radial-gradient(circle at 30% 110%,#ffdb8b 0 10%,#f1a14a 22%,#e1306c 48%,#c13584 66%,#833ab4 84%,#405de6 100%)}.whatsapp-float span svg{width:23px;height:23px;fill:#fff}
