:root{--pink:#CE1B6E;--gray:#333333;--light:#f7f7f7;--text:#333333;--muted:#666666;--white:#ffffff;--line:#e5e5e5;--pink-soft:#f8e4ee;--pink-dark:#a9155b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}
.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 7%;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center}.brand-logo{display:block;width:155px;height:auto;max-height:62px;object-fit:contain;object-position:center}
.topbar nav{display:flex;gap:27px;align-items:center;color:var(--gray);font-size:14px;font-weight:600}.topbar nav a{transition:.2s}.topbar nav a:hover{color:var(--pink)}.topbar nav .nav-gestion{background:var(--pink);color:#fff;padding:11px 17px;border-radius:8px;font-weight:800}.topbar nav .nav-gestion:hover{background:var(--pink-dark);color:#fff}
.hero{min-height:650px;padding:90px 7%;display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:center;background:#fff}
.hero h1{font-size:clamp(42px,5vw,70px);line-height:1.02;margin:0 0 24px;max-width:820px;color:var(--gray)}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:900;color:var(--pink);margin:0 0 18px}.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:640px;margin:0 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.primary-btn,.secondary-btn,.outline-btn,.instagram-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:14px 22px;font-weight:800;transition:.2s}.primary-btn{background:var(--pink);color:#fff;box-shadow:0 8px 20px rgba(206,27,110,.16)}.primary-btn:hover{transform:translateY(-2px);background:var(--pink-dark)}.outline-btn{border:1.5px solid var(--gray);color:var(--gray)}.outline-btn:hover{background:var(--gray);color:#fff}
.hero-card{background:var(--gray);color:#fff;border-radius:18px;padding:42px;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 22px 45px rgba(51,51,51,.15);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:var(--pink);right:-80px;top:-80px;opacity:.95}.hero-logo{width:270px;max-width:88%;height:auto;background:#fff;padding:12px 14px;border-radius:7px;position:relative;z-index:1;margin-bottom:auto;object-fit:contain}.hero-card p{font-size:27px;font-weight:900;margin:0 0 8px;position:relative;z-index:1}.hero-card span{color:#eee;line-height:1.5;position:relative;z-index:1}.hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.hero-tags span{font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--gray);background:#fff}
.section{padding:95px 7%}.section h2,.portfolio-section h2,.contact h2{font-size:40px;margin:0 0 34px;color:var(--gray)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards article{padding:30px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.2s}.cards article:hover{transform:translateY(-4px);border-color:#e9a9c5;box-shadow:0 12px 30px rgba(51,51,51,.07)}.icon{font-size:27px;color:var(--pink);margin-bottom:20px}.cards h3{font-size:21px;margin:0 0 10px;color:var(--gray)}.cards p{color:var(--muted);line-height:1.6;margin:0}
.portfolio-section{padding:95px 7%;background:#f7f7f7}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head h2{margin-bottom:10px}.section-head>div>p:last-child{color:var(--muted);margin:0}.instagram-btn{border:1px solid var(--pink);color:var(--pink);white-space:nowrap}.instagram-btn:hover{background:var(--pink);color:#fff}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.gallery-item{aspect-ratio:1/1;overflow:hidden;background:#eee}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.05)}
.work-slider-section{margin:0 7% 95px;padding:48px 0 8px;background:#fff}
.work-slider-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
.work-slider-head h2{margin:0 0 8px;color:var(--gray)}
.work-slider-head>div>p:last-child{color:var(--muted);margin:0}
.slider-controls{display:flex;gap:8px}
.slider-btn{width:42px;height:42px;border:1px solid #ddd;background:#fff;color:var(--gray);border-radius:50%;font-size:27px;line-height:1;cursor:pointer;transition:.2s}
.slider-btn:hover{background:var(--pink);border-color:var(--pink);color:#fff;transform:translateY(-1px)}
.work-slider-viewport{overflow:hidden;border-radius:18px}
.work-slider-track{display:flex;gap:18px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.work-slide{position:relative;flex:0 0 calc((100% - 36px)/3);aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#eee;box-shadow:0 12px 30px rgba(51,51,51,.10)}
.work-slide img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s}
.work-slide:hover img{transform:scale(1.035)}
.work-slide:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.7));pointer-events:none}
.work-slide-caption{position:absolute;left:18px;right:18px;bottom:15px;color:#fff;z-index:2;display:flex;flex-direction:column;gap:3px}
.work-slide-caption strong{font-size:17px}
.work-slide-caption span{font-size:13px;opacity:.9}
.slider-dots{display:flex;justify-content:center;gap:7px;margin-top:18px}
.slider-dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#d6d6d6;cursor:pointer;transition:.2s}
.slider-dot.active{width:22px;border-radius:999px;background:var(--pink)}
.contact{margin:0 7% 80px;padding:55px;border-radius:18px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid var(--line)}.contact h2{margin-bottom:10px}.contact p:not(.eyebrow){color:var(--muted)}.location{font-weight:700;color:var(--gray)!important}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.secondary-btn{border:1px solid var(--gray);color:var(--gray)}.secondary-btn:hover{background:var(--gray);color:#fff}
footer{padding:28px 7%;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#666;font-size:13px}
@media(max-width:900px){.topbar{padding:0 5%}.topbar nav{gap:10px}.hero{grid-template-columns:1fr;padding:70px 5%}.section,.portfolio-section{padding:70px 5%}.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}.work-slider-section{margin:0 5% 70px}.work-slider-head{align-items:center}.work-slide{flex-basis:calc((100% - 18px)/2)}.contact{margin:0 5% 60px;flex-direction:column;align-items:flex-start}}
@media(max-width:620px){.topbar{height:auto;padding:12px 5%;align-items:center;gap:10px}.brand-logo{width:125px;max-height:50px}.topbar nav{flex-wrap:wrap;justify-content:flex-end;font-size:12px}.topbar nav a:nth-child(-n+3){display:none}.hero h1{font-size:43px}.cards{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.section-head{flex-direction:column;align-items:flex-start}.hero-card{min-height:270px;padding:34px}.work-slider-section{margin:0 5% 60px}.work-slider-head{flex-direction:column;align-items:flex-start;gap:18px}.work-slide{flex-basis:100%}.contact{padding:35px}.contact-actions{width:100%}.contact-actions a{flex:1}}
/* Hero mapa de ubicación */
.hero-map{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center}
.map-card{width:100%;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 55px rgba(51,51,51,.14);overflow:hidden;position:relative}
.map-card:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--pink);right:-55px;top:-65px;opacity:.14;z-index:0}
.map-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 26px 18px;position:relative;z-index:1}
.map-header .eyebrow{margin:0 0 5px;font-size:11px}
.map-header h3{margin:0 0 5px;font-size:28px;color:var(--gray)}
.map-header p{margin:0;color:var(--muted);font-size:14px}
.map-link{background:var(--pink);color:#fff;text-decoration:none;font-weight:800;font-size:12px;padding:11px 15px;border-radius:999px;white-space:nowrap}
.map-frame{height:325px;position:relative;background:#eee}
.map-frame iframe{width:100%;height:100%;border:0;display:block}
.map-pin{position:absolute;left:18px;bottom:18px;background:rgba(51,51,51,.94);color:#fff;border-radius:999px;padding:10px 15px;font-size:12px;font-weight:800;box-shadow:0 10px 25px rgba(0,0,0,.2);pointer-events:none}
.map-pin span{margin-left:4px}
@media(max-width:900px){.hero-map{min-height:390px}.map-header{align-items:flex-start;flex-direction:column}.map-link{align-self:flex-start}}
@media(max-width:620px){.hero-map{min-height:330px;margin-top:15px}.map-header{padding:20px 18px 14px}.map-header h3{font-size:24px}.map-frame{height:270px}.map-pin{left:12px;bottom:12px}}
