:root{--site-primary:#1d1d1d;--site-primary-dark:#050505;--site-primary-light:#4d4d4d;--site-secondary:#494949;--site-accent:#7c9c00;--site-surface:#f5f5f5;--site-muted:#505050;--bs-body-bg:#fcfcfc;--bs-body-color:#020202;--bs-body-font-family:'PT Sans',sans-serif;--bs-link-color:#1d1d1d;--bs-link-hover-color:#050505;--font-display:'PT Serif',serif;--size-h1:clamp(2.4rem,5vw,3.4rem);--size-h2:2.2rem;--size-h3:1.5rem;--size-body:1.125rem;--size-small:.95rem;--size-kicker:.78rem;--section-space:clamp(5rem,8vw,7rem);--hairline:rgba(73,73,73,.2)}
body{background:var(--bs-body-bg);color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:var(--size-body);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:'PT Serif',serif;line-height:1.18;text-wrap:balance;font-weight:400}h1{font-size:var(--size-h1)}h2{font-size:var(--size-h2)}h3{font-size:var(--size-h3)}p{max-width:68ch;text-wrap:pretty}a{color:var(--site-primary);text-underline-offset:4px}a:hover{color:var(--site-primary-dark)}img{max-width:100%;object-fit:cover;border-radius:8px}small,.small{font-size:var(--size-small)}.text-muted{color:var(--site-muted)!important}.btn{border-radius:0;padding:.75rem 1.3rem;font-weight:700;box-shadow:none;letter-spacing:.01em;transition:background-color .15s,color .15s;border-width:1.5px}.btn-primary{background-color:transparent;border-color:var(--site-primary);color:var(--site-primary)}.btn-primary:hover,.btn-primary:focus{background-color:var(--site-primary-dark);border-color:var(--site-primary-dark);color:#fff}.btn-outline-primary{color:var(--site-primary);border-color:var(--site-primary);background-color:transparent}.btn-outline-primary:hover,.btn-outline-primary:focus{background-color:var(--site-primary);border-color:var(--site-primary);color:#fff}.bg-primary{background-color:var(--site-primary)!important}.text-primary{color:var(--site-primary)!important}.border-primary{border-color:var(--site-primary)!important}.form-control,.form-select{border-radius:5px;background:#fcfcfc;border:1px solid #777;padding:.65rem .8rem;font-size:var(--size-body)}.form-control:focus,.form-select:focus{border-color:var(--site-accent);box-shadow:0 0 0 .18rem rgba(124,156,0,.15)}.form-check-input:checked{background-color:var(--site-primary);border-color:var(--site-primary)}.form-label{font-weight:700}.card{border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid var(--hairline);background:var(--bs-body-bg)}.navbar{background:var(--bs-body-bg);border-bottom:1px solid var(--hairline);padding:1.35rem 0;box-shadow:none}.navbar.is-small{padding:.6rem 0;box-shadow:0 1px 2px rgba(0,0,0,.05)}.navbar-brand{font-family:var(--font-display);font-size:1.4rem;display:flex;align-items:center;gap:.7rem;white-space:normal}.brand-mark{width:44px;height:44px;object-fit:contain}.is-small .brand-mark{width:34px;height:34px}.nav-link{color:var(--site-primary);font-size:var(--size-small)}.navbar-toggler{border-radius:0}.wide{padding-inline:clamp(1.5rem,5vw,5rem);width:100%}.narrow{max-width:880px;margin-inline:auto;padding-inline:24px}.band{padding-block:var(--section-space);border-top:1px solid var(--hairline)}.kicker{font-size:var(--size-kicker);text-transform:uppercase;letter-spacing:.1em;font-weight:700;display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;line-height:1.4}.kicker:before{content:'';display:block;flex:none;width:28px;height:1px;background:var(--site-accent)}.hero{padding-top:clamp(4rem,7vw,6rem);border-top:0;padding-bottom:0}.hero h1{max-width:920px}.hero .lead{font-size:1.25rem;max-width:760px;margin-block:1.7rem 2rem}.hero-image{display:block;width:100%;height:clamp(190px,23vw,330px);object-fit:cover;object-position:center 65%;margin-top:3.5rem;border-radius:0}.about{background:rgba(77,77,77,.045);padding-bottom:calc(var(--section-space) + 48px)}.about-grid{display:grid;grid-template-columns:38fr 62fr;gap:0}.about-heading{position:sticky;top:110px;align-self:start;padding-right:3rem}.about-copy{max-width:690px}.about-copy .lead{font-family:var(--font-display);font-size:var(--size-h3)}.detail-list{list-style:none;padding:0;margin-top:2rem}.detail-list li{padding:.75rem 0;border-bottom:1px solid var(--hairline);display:flex;align-items:center;gap:1rem}.line-icon{width:24px;height:24px;flex:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none;color:var(--site-muted)}.surface{background:var(--site-surface)}#servicios,#contacto{padding-top:0}.overlap{margin-top:-48px;position:relative}.contact-grid .phone{font-size:var(--size-h3)}.services-intro{display:grid;grid-template-columns:55fr 45fr;align-items:start}.services-visual{padding-left:2rem;border-left:1px solid var(--hairline);margin-left:2rem}.large-note{font-family:var(--font-display);font-size:var(--size-h3);line-height:1.4}.service-card{height:100%;padding:1.6rem;display:flex;flex-direction:column}.service-card h3{margin-block:1.2rem 1rem}.service-card p{font-size:var(--size-small)}.price{font-family:var(--font-display);font-size:var(--size-h3);font-variant-numeric:tabular-nums}.service-card .price{margin-top:auto;padding-top:.5rem}.service-card a{font-size:var(--size-small);font-weight:700}.notice{font-size:var(--size-small);border-left:2px solid var(--site-accent);padding-left:1.2rem;margin-block:2rem;color:var(--site-muted)}.process{padding-block:calc(var(--section-space)*1.5)}.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.step{padding-block:1.2rem;border-bottom:1px solid var(--hairline)}.step h3{margin-bottom:.7rem}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.contact-grid h2{overflow-wrap:anywhere}.contact-grid a{overflow-wrap:anywhere}.contact-title{font-size:var(--size-h3);font-family:var(--font-display)}.phone{font-variant-numeric:tabular-nums;white-space:nowrap}.contact-area{padding-block:3rem;border-top:1px solid var(--hairline)}.map{border:0;width:100%;height:290px;border-radius:8px;display:block;background:var(--site-surface)}.contact-location{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.site-footer{padding:2.5rem 1.5rem;border-top:1px solid var(--hairline);text-align:center;font-size:var(--size-small)}.footer-brand{font-family:var(--font-display);font-size:var(--size-h3);margin-bottom:.5rem}.site-footer p{margin:0 auto .5rem}.footer-links{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:center;margin:1.2rem auto}.cookie-banner{position:fixed;bottom:18px;left:18px;right:18px;z-index:1050;max-width:740px;margin-inline:auto;padding:1.2rem 1.5rem;border:1px solid var(--hairline);background:#fcfcfc;box-shadow:0 1px 2px rgba(0,0,0,.05);border-radius:8px;font-size:var(--size-small)}.cookie-banner p{margin-bottom:.8rem}.cookie-banner[hidden]{display:none}.legal{max-width:880px;margin-inline:auto;padding:var(--section-space) 24px}.legal h2{margin-top:2.5rem;margin-bottom:1rem}.legal h3{margin-top:1.75rem}.legal dl{margin-block:2rem}.legal dt{font-weight:700;padding-top:1rem}.legal dd{padding-bottom:1rem;margin:0;border-bottom:1px solid var(--hairline);overflow-wrap:anywhere}.page-intro{padding-block:var(--section-space)}.proposal-form{max-width:880px;margin:auto;padding-inline:24px;padding-bottom:var(--section-space)}fieldset{min-width:0;border:0;margin:0 0 2.5rem;padding:0}legend{font-family:var(--font-display);font-size:var(--size-h3);margin-bottom:1.2rem}#summary{border-top:1px solid var(--hairline);padding-top:2.5rem;scroll-margin-top:100px}#summary-text{white-space:pre-wrap;font-family:var(--bs-body-font-family);font-size:var(--size-body);background:var(--site-surface);padding:1.5rem;overflow-wrap:anywhere}.form-error{color:#9a251b;font-size:var(--size-small)}.service-scope{font-size:var(--size-small);color:var(--site-muted)}.not-found{min-height:50vh}.not-found h1{margin-bottom:1.5rem}section[id],form[id]{scroll-margin-top:100px}a:focus-visible,button:focus-visible{outline:2px solid var(--site-accent);outline-offset:4px}
@media(min-width:992px){.legal dl{display:grid;grid-template-columns:30% 70%}.legal dt{border-bottom:1px solid var(--hairline)}.legal dd{padding-top:1rem}.navbar .navbar-nav{align-items:center;gap:1.2rem}}
@media(max-width:767px){.about-grid,.services-intro,.process-grid,.contact-grid,.contact-location{grid-template-columns:1fr}.about-heading{position:static;padding-right:0;margin-bottom:2rem}.services-visual{padding:1.5rem 0 0;margin:1.5rem 0 0;border-left:0;border-top:1px solid var(--hairline)}.contact-grid{gap:2.5rem}.hero h1{max-width:100%}.navbar-brand{font-size:1.15rem}.wide{padding-inline:24px}.cookie-banner{left:10px;right:10px;bottom:10px;padding:1rem}.process-grid{gap:2rem}.navbar-collapse{padding-top:1rem}.navbar .btn{margin-block:.5rem}.hero-image{margin-top:2.5rem}}
.lang-switch{display:flex;align-items:center;gap:.35rem;font-size:var(--size-small);font-weight:700;letter-spacing:.06em}.lang-switch a{color:var(--site-muted);text-decoration:none;padding:.35rem .25rem}.lang-switch a:hover{color:var(--site-primary-dark);text-decoration:underline}.lang-switch a[aria-current]{color:var(--site-primary);text-decoration:underline;text-decoration-color:var(--site-accent);text-decoration-thickness:2px}.lang-switch span{color:var(--hairline)}.navbar .lang-switch{margin-right:.5rem}@media(min-width:992px){.navbar .lang-switch{margin-right:0}}
.lang-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:var(--size-small);font-weight:700;color:var(--site-primary);background:transparent;border:1px solid var(--site-primary);border-radius:999px;line-height:1.2;white-space:nowrap;margin-right:.5rem}.lang-btn:hover,.lang-btn:focus-visible{background:var(--site-primary);border-color:var(--site-primary);color:#fff}.lang-btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}@media(min-width:992px){.lang-btn{margin-right:0}}
