
:root{
 --bg:#ffffff;--surface:#f5f6f7;--ink:#172125;--muted:#536066;--line:#dde3e5;
 --ok:#15803d;--err:#b91c1c;--photo-ink:#ffffff;
 --s-xs:.5rem;--s-sm:.75rem;--s-md:1rem;--s-lg:1.5rem;--s-xl:2rem;--s-2xl:3rem;--s-3xl:4rem;--s-4xl:5rem;
 --r-md:.5rem;--r-lg:1rem;--site-radius:1rem;
 --brand:#ea580c;--brand-ink:#ffffff;--brand-2:#6b7280;
 --brand-soft:color-mix(in srgb,var(--brand) 5%,var(--bg));--brand-line:color-mix(in srgb,var(--brand) 20%,var(--line));
 --brand-text:color-mix(in srgb,var(--brand) 60%,#172125);
 --font:ui-sans-serif,system-ui,sans-serif;--heading-modern:ui-sans-serif,system-ui,sans-serif;--heading-editorial:Georgia,'Times New Roman',serif;
 --fs-sm:.875rem;--fs-xl:1.5rem;--heading:clamp(2.25rem,4.2vw,4rem);--section-heading:clamp(1.65rem,2.7vw,2.4rem);
 --duration-fast:150ms;--duration-slow:400ms;--ease-out:cubic-bezier(0,0,.2,1);--motion-distance:1rem;--hover-lift:-.15rem;
 --hero-height:32rem;--map-height:14rem;--z-nav:10;--anchor-offset:7rem;
 --contact-bar-height:5rem;--dialog-width:38rem;--control-size:2.75rem;
 --shadow-panel:0 .75rem 2.5rem color-mix(in srgb,var(--ink) 12%,transparent);
 --backdrop:color-mix(in srgb,var(--ink) 55%,transparent);
 --photo-overlay:linear-gradient(90deg,rgba(10,21,26,.9),rgba(10,21,26,.35));
 color-scheme:light;
}
.site-enquiry-frame{display:block;width:100%;height:min(70dvh,44rem);max-height:min(70dvh,44rem);border:0;background:var(--bg)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column;overflow-wrap:anywhere}
main{flex:1}
img{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.2em}
h1,h2,h3{line-height:1.15;margin:0;text-wrap:balance}
p{margin:0 0 var(--s-sm)}p:last-child{margin-bottom:0}
.wrap{width:100%;max-width:76rem;margin-inline:auto;padding-inline:max(var(--s-lg),env(safe-area-inset-left))}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-nav{position:sticky;top:0;z-index:var(--z-nav);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(var(--s-sm));border-bottom:1px solid var(--line);transition:transform var(--duration-fast)}
.site-nav.nav-away{transform:translateY(-100%)}
.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s-lg);min-height:5rem;padding-block:var(--s-sm)}
.site-name{display:flex;align-items:center;gap:var(--s-sm);min-width:0;max-width:45%;font-weight:750;text-decoration:none;line-height:1.25}
.site-name span{min-width:0;font-size:1.125rem}.site-logo{width:auto;max-width:10rem;height:3rem;object-fit:contain;flex-shrink:0}
.site-links{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-lg);font-size:var(--fs-sm)}
.site-links>a:not(.btn){text-decoration:none;font-weight:550;white-space:nowrap}.site-links>a:hover{text-decoration:underline}
.site-menu{display:none}.site-menu summary{display:flex;align-items:center;gap:var(--s-xs);min-height:var(--control-size);cursor:pointer;list-style:none;font-weight:600}.site-menu summary::-webkit-details-marker{display:none}
.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:1.25rem;height:2px;background:currentColor}.menu-lines{position:relative}.menu-lines:before,.menu-lines:after{content:'';position:absolute}.menu-lines:before{top:-.4rem}.menu-lines:after{top:.4rem}
.site-menu-panel{position:absolute;top:100%;left:0;right:0;padding:var(--s-lg);background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow-panel)}.site-menu-panel>a{display:flex;padding:var(--s-sm) var(--s-md);text-decoration:none;font-weight:600}.site-menu-panel>a:not(.btn):hover{background:var(--surface)}.site-menu-panel>.btn{margin-top:var(--s-sm)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-xs);min-height:3rem;padding:var(--s-xs) var(--s-lg);border-radius:var(--r-md);border:1px solid transparent;background:var(--brand);color:var(--brand-ink);font:inherit;font-weight:650;text-decoration:none;cursor:pointer;transition:filter var(--duration-fast)}
.btn:hover{filter:brightness(.94)}.btn.alt{background:var(--bg);color:var(--ink);border-color:var(--line)}.btn.alt:hover{background:var(--surface)}
.btn[disabled]{opacity:.5;cursor:not-allowed}.btn svg{width:1.125rem;height:1.125rem;flex:none}
:where(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--brand-text);outline-offset:3px}
.hero,.sec,.contact-details,.contact-form{scroll-margin-top:var(--anchor-offset)}
.hero{padding-block:var(--s-2xl);background:linear-gradient(140deg,var(--bg),var(--brand-soft));position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:var(--s-3xl)}
.hero-copy{min-width:0;padding-block:var(--s-lg);position:relative}
.hero-prof,.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text);margin:0 0 var(--s-lg)}
.hero-prof:before{content:'';display:inline-block;width:var(--s-xl);height:2px;margin-right:var(--s-xs);background:var(--brand);vertical-align:middle}
.hero-name{font-size:var(--heading);font-weight:750;letter-spacing:-.045em;max-width:20ch}
.hero-intro{margin-top:var(--s-lg);color:var(--muted);max-width:48ch;font-size:1.0625rem;line-height:1.7}
.cta{display:flex;flex-wrap:wrap;gap:var(--s-sm);margin-top:var(--s-xl)}
.hero-visual{height:var(--hero-height);overflow:hidden;min-width:0;border-radius:var(--site-radius);background:var(--brand-soft)}
.hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-photo.focal-top{object-position:50% 15%}.hero-photo.focal-bottom{object-position:50% 85%}
.hero-graphic{height:100%;position:relative;overflow:hidden;background:var(--brand-soft)}
.hero-graphic span{position:absolute;width:75%;aspect-ratio:1;border:1px solid var(--brand-line);border-radius:50%;background:var(--brand);top:20%;left:35%}.hero-graphic span:nth-child(2){left:-25%;top:-20%;background:var(--brand-2)}.hero-graphic span:nth-child(3){left:5%;top:65%;background:var(--bg)}
.hero-v-cover .hero,.t-modern:not(.hero-v-split):not(.hero-v-centered) .hero{background:var(--ink);color:var(--photo-ink);padding-block:var(--s-3xl)}
.hero-v-cover .hero-grid,.t-modern:not(.hero-v-split):not(.hero-v-centered) .hero-grid{grid-template-columns:1fr;min-height:var(--hero-height)}
.hero-v-cover .hero-copy,.t-modern:not(.hero-v-split):not(.hero-v-centered) .hero-copy{z-index:1;max-width:42rem}
.hero-v-cover .hero-visual,.t-modern:not(.hero-v-split):not(.hero-v-centered) .hero-visual{position:absolute;inset:0;height:100%;border-radius:0}
.hero-v-cover .hero-visual:after,.t-modern:not(.hero-v-split):not(.hero-v-centered) .hero-visual:after{content:'';position:absolute;inset:0;background:var(--photo-overlay)}
.hero-v-cover .hero-prof,.hero-v-cover .hero-intro,.t-modern:not(.hero-v-split):not(.hero-v-centered) .hero-prof,.t-modern:not(.hero-v-split):not(.hero-v-centered) .hero-intro{color:var(--photo-ink)}
.hero-v-cover .hero .btn.alt{background:transparent;color:var(--photo-ink);border-color:currentColor}
.hero-v-centered .hero-grid{grid-template-columns:minmax(0,1fr);text-align:center;gap:var(--s-xl)}.hero-v-centered .hero-copy{margin:auto}.hero-v-centered .hero-name{margin-inline:auto}.hero-v-centered .cta{justify-content:center}
.hero-v-centered .hero-intro{margin-inline:auto}.hero-v-centered .hero-visual:has(.hero-graphic){height:8rem;max-width:48rem;width:100%;margin:auto}
.look-bold .hero-name{max-width:18ch}.look-bold #servicios{background:var(--bg)}.look-bold #servicios .svc{counter-reset:services}.look-bold #servicios .svc li{position:relative;padding-left:var(--s-3xl);counter-increment:services}.look-bold #servicios .svc li:before{content:counter(services,decimal-leading-zero);position:absolute;left:0;top:var(--s-lg);color:var(--brand-text);font-size:var(--fs-sm);font-weight:600}.look-bold #servicios .svc p{max-width:60ch}
.look-warm{--bg:#fffcf7;--surface:#f8f3ec}.look-warm .hero-visual{border-radius:50% 50% var(--site-radius) var(--site-radius)}
.type-editorial h1,.type-editorial h2,.type-editorial h3{font-family:var(--heading-editorial);font-weight:400}.type-modern h1,.type-modern h2,.type-modern h3{font-family:var(--heading-modern)}
.sec{padding-block:var(--s-2xl)}.sec h2{font-size:var(--section-heading);letter-spacing:-.03em;margin-bottom:var(--s-xl)}
#servicios{background:var(--surface)}.about{max-width:48rem;color:var(--muted);line-height:1.75}
.svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--s-lg)}
.svc li{min-width:0;padding:var(--s-lg);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg)}
.svc h3{font-size:1.2rem;font-weight:650;letter-spacing:-.02em}.svc p{margin-top:var(--s-sm);color:var(--muted)}.svc li>a{display:inline-flex;margin-top:var(--s-md);font-weight:600;color:var(--brand-text)}
.section-action{margin-top:var(--s-lg)}.page-heading{padding-block:var(--s-xl)}
[data-layout="list"] .svc,[data-layout="editorial"] .svc{grid-template-columns:minmax(0,1fr)}
[data-layout="list"] .svc li,[data-layout="editorial"] .svc li{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:var(--s-lg) 0;background:transparent}
[data-layout="centered"]>.wrap{text-align:center;max-width:52rem}.sec[data-layout="centered"] .about{margin-inline:auto}
.section-photo{display:block;width:100%;height:20rem;object-fit:cover;border-radius:var(--site-radius);margin-bottom:var(--s-xl)}
.showcase .svc li{overflow:hidden}.showcase-image{display:block;width:calc(100% + var(--s-2xl));max-width:none;aspect-ratio:4/3;object-fit:cover;margin:calc(-1 * var(--s-lg)) calc(-1 * var(--s-lg)) var(--s-lg)}
.showcase .about{margin-top:var(--s-sm)}.testimonials .svc li{background:var(--brand-soft)}
.testimonial{margin:0;display:flex;flex-direction:column;gap:var(--s-lg);height:100%}.testimonial blockquote{margin:0;flex:1}.testimonial blockquote p{margin:0;color:var(--ink)}.testimonial blockquote p+p{margin-top:var(--s-sm)}.testimonial figcaption{display:flex;align-items:center;gap:var(--s-sm)}.testimonial-name{display:block;font-weight:700}.testimonial-from{display:block;font-size:var(--fs-sm);color:var(--muted)}.testimonial-image{width:var(--s-3xl);height:var(--s-3xl);border-radius:var(--r-md);object-fit:cover;flex-shrink:0}
[data-layout="featured"] .svc li:first-child{grid-column:1/-1}.service-price{font-size:var(--fs-xl);font-weight:700;color:var(--brand-text)}.service-price small{display:block;font-size:var(--fs-sm);font-weight:400;color:var(--muted)}
.contact-area{background:var(--brand-soft)}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-2xl);align-items:start}
.contact-details,.contact-form{min-width:0}.contact-details h2{max-width:18ch}.contact{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-lg)}
.contact li{display:flex;align-items:flex-start;gap:var(--s-sm)}.contact li>div{min-width:0;display:grid;gap:.25rem}.contact .k{font-size:var(--fs-sm);color:var(--muted)}.contact a{font-weight:600;text-decoration:none}.contact a:hover{text-decoration:underline}.contact address{font-style:normal}
.contact-icon{display:grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;border-radius:var(--r-md);background:var(--bg);color:var(--brand-text)}.contact-icon svg{width:1.125rem;height:1.125rem}.contact a>svg{display:none}
.contact-form{background:var(--bg);border:1px solid var(--brand-line);border-radius:var(--site-radius);padding:var(--s-xl)}.contact-form h2{font-size:1.65rem;margin-bottom:var(--s-lg)}
.map-disclosure{margin-top:var(--s-lg);border-top:1px solid var(--line);padding-top:var(--s-md)}.map-disclosure summary{cursor:pointer;font-weight:600;color:var(--brand-text)}
.location-map{margin-top:var(--s-md);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--bg)}.map-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--s-sm);padding:var(--s-lg);text-align:center}.map-placeholder[hidden]{display:none}.map-placeholder>svg{width:1.5rem;height:1.5rem;color:var(--brand-text)}.map-placeholder strong{font-size:var(--fs-sm)}.map-placeholder .note{font-size:.75rem;color:var(--muted)}.location-map iframe{display:block;border:0;width:100%;height:var(--map-height)}.map-close{border:0;background:var(--bg);color:var(--brand-text);font:inherit;padding:var(--s-sm);width:100%;cursor:pointer}
.doc{padding:var(--s-xl) 0 var(--s-2xl);max-width:46rem}.doc h1{font-size:2rem;margin-bottom:var(--s-lg)}.doc h2{font-size:1.2rem;margin:var(--s-lg) 0 var(--s-sm)}.doc p{color:var(--muted)}.facts{margin:0 0 var(--s-sm);display:grid;gap:var(--s-xs)}.facts dt{font-size:var(--fs-sm);color:var(--muted)}.facts dd{margin:0;font-weight:600}.back{display:inline-block;margin-bottom:var(--s-md);font-weight:600}
.foot{border-top:1px solid var(--line);padding-block:var(--s-lg);font-size:var(--fs-sm)}.foot .wrap{display:flex;justify-content:space-between;gap:var(--s-lg);flex-wrap:wrap}.foot nav{display:flex;gap:var(--s-lg)}.strip{text-align:center;padding:var(--s-md);background:var(--surface);font-size:.75rem;color:var(--muted)}
.mobile-action{position:fixed;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(var(--s-sm));border-top:1px solid var(--line);z-index:var(--z-nav);padding-block:var(--s-sm) max(var(--s-sm),env(safe-area-inset-bottom))}.mobile-action .wrap{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-sm)}.contact-bar-name{font-weight:650;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-action .btn{flex:none}body:has(.mobile-action){padding-bottom:calc(var(--contact-bar-height) + env(safe-area-inset-bottom))}.editor-empty{border:1px dashed var(--line)}
.contact-invitation{align-self:center;min-width:0}.contact-invitation h2{max-width:22ch}.contact-invitation p{color:var(--muted);max-width:46ch;margin-bottom:var(--s-lg)}
.site-contact-dialog{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-xl);width:calc(100% - var(--s-xl));max-width:var(--dialog-width);max-height:calc(100dvh - var(--s-3xl));overflow:auto;box-shadow:var(--shadow-panel)}.site-contact-dialog::backdrop{background:var(--backdrop);backdrop-filter:blur(.25rem)}.site-contact-dialog:not([data-inline]) .contact-form{border:0;padding:0;background:none}.site-contact-dialog:not([data-inline]) .contact-form h2{padding-right:var(--s-xl);font-size:var(--fs-xl)}.site-dialog-close{float:right;display:grid;place-items:center;width:var(--control-size);height:var(--control-size);margin:calc(-1 * var(--s-sm)) calc(-1 * var(--s-sm)) 0 var(--s-xs);border:0;border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:var(--fs-xl);cursor:pointer}.site-dialog-close:hover{background:var(--line)}body.contact-open{overflow:hidden}.contact-open .mobile-action{visibility:hidden}
.site-contact-dialog[data-inline]{display:contents}.site-contact-dialog[data-inline] .site-dialog-close{display:none}
@media(min-width:56rem){.contact-paired{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--s-4xl)}.contact-paired .contact-details{grid-column:1;grid-row:1}.contact-paired .contact-form{grid-column:2;grid-row:1}[data-contact-layout="stacked"] .contact-paired{grid-template-columns:1fr;max-width:48rem}[data-contact-layout="stacked"] .contact-form,[data-contact-layout="stacked"] .contact-details{grid-column:auto;grid-row:auto}[data-layout="columns"]#nosotros>.wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--s-xl)}}
@media(max-width:63.99rem){.site-links{display:none}.site-menu{display:block}.site-name{max-width:75%}}
@media(max-width:55.99rem){.hero-grid{gap:var(--s-lg)}.hero-visual{height:24rem}.contact-form{padding:var(--s-lg)}}
@media(max-width:40rem){:root{--anchor-offset:6rem;--hero-height:14rem;--heading:clamp(2rem,8.8vw,3rem)}.wrap{padding-inline:var(--s-lg)}.site-nav .wrap{min-height:4.5rem}.site-name{max-width:100%;flex:1}.site-name span{font-size:1rem}.site-logo{height:2.5rem;max-width:7rem}.site-links{display:none}.hero{padding-block:var(--s-lg)}.hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--s-lg)}.hero-copy{padding:0}.hero-prof{margin-bottom:var(--s-md)}.hero-name{max-width:22ch}.hero-intro{font-size:1rem;margin-top:var(--s-md)}.cta{margin-top:var(--s-lg)}.cta .btn{flex:1;padding-inline:var(--s-sm)}.cta .btn.alt{flex:0 0 auto}.hero-visual{height:var(--hero-height)}.hero-v-cover .hero-grid{min-height:26rem}.hero-v-cover .hero-visual{height:100%}.hero-v-cover .hero{padding-block:var(--s-xl)}.sec{padding-block:var(--s-xl)}.sec h2{margin-bottom:var(--s-lg)}.svc{gap:var(--s-sm)}.svc li{padding:var(--s-md)}.showcase-image{width:calc(100% + var(--s-xl));margin:calc(-1 * var(--s-md)) calc(-1 * var(--s-md)) var(--s-md)}.contact-grid{gap:var(--s-xl)}.contact-form{padding:var(--s-md)}.section-photo{height:14rem}.mobile-action{display:flex;position:fixed;bottom:0;left:0;right:0;gap:var(--s-xs);padding:var(--s-xs) var(--s-md) max(var(--s-xs),env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);z-index:var(--z-nav)}.mobile-action .btn{flex:1;font-size:var(--fs-sm);padding-inline:var(--s-sm)}body:has(.mobile-action){padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.foot .wrap{gap:var(--s-sm)}}
.site-enter{animation:site-enter var(--duration-slow) var(--ease-out) both}@keyframes site-enter{from{opacity:0;transform:translateY(var(--motion-distance))}to{opacity:1;transform:none}}
@media(max-width:40rem){.mobile-action{padding:var(--s-xs) 0 max(var(--s-xs),env(safe-area-inset-bottom))}.mobile-action .wrap{padding-inline:var(--s-md);gap:var(--s-xs)}.mobile-action .btn{flex:1}.contact-bar-name{display:none}.site-contact-dialog{margin:auto 0 0;width:100%;max-width:none;max-height:90dvh;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:var(--s-lg) var(--s-md) max(var(--s-lg),env(safe-area-inset-bottom))}.site-name{max-width:75%}}
.motion-none .site-enter{animation:none}html:has(.motion-none){scroll-behavior:auto}
@media(max-width:40rem){.hero .cta{display:none}.mobile-action .contact-call,.mobile-action .contact-whatsapp{flex:0 0 var(--control-size);width:var(--control-size);padding:0}.mobile-action .contact-call span,.mobile-action .contact-whatsapp span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-enter{animation:none!important}.btn,.site-nav{transition:none}}
