@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--marca:#274b48;--tinta:#18302e;--suave:#627471;--crema:#f8f7f1;--linea:#e3e9e4}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--tinta);font-family:'DM Sans',system-ui,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.site-header{min-height:78px;max-width:1440px;margin:auto;padding:15px clamp(22px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font:800 1.05rem Manrope,system-ui,sans-serif;letter-spacing:-.045em;min-width:0}
.brand span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-mark{display:grid;place-items:center;width:37px;height:37px;flex:none;border-radius:12px;background:var(--marca);color:#fff;font-size:1.3rem}
.site-header nav{display:flex;gap:28px;align-items:center;font-size:.88rem;font-weight:700}
.site-header nav>a:not(.nav-book):hover,.text-link:hover{color:var(--marca)}
.nav-book,.primary-link{display:inline-flex;justify-content:center;align-items:center;gap:30px;background:var(--marca);color:#fff;border-radius:999px;font-weight:700;transition:transform .2s,box-shadow .2s}
.nav-book{padding:13px 19px;gap:15px}.primary-link{padding:17px 24px}
.nav-book:hover,.primary-link:hover{transform:translateY(-2px);box-shadow:0 10px 22px #1c4a4030}
.hero{max-width:1440px;min-height:630px;margin:auto;padding:42px clamp(22px,5vw,80px) 78px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(34px,6vw,96px)}
.hero-copy{max-width:620px}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.73rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--marca)}
.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#a4b894}
h1,h2{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.06em}h1{font-size:clamp(3.2rem,5.5vw,6.2rem);line-height:1.04;margin:25px 0 28px;font-weight:800}
.hero-copy p{font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.75;color:var(--suave);max-width:510px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:29px;margin:35px 0}.text-link{font-weight:800;font-size:.9rem;display:inline-flex;gap:10px;align-items:center}
.hero-note{display:flex;align-items:center;gap:10px;color:var(--suave);font-size:.83rem}.note-icon{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e4eee3;color:var(--marca);font-weight:800}
.hero-visual{position:relative;height:min(42vw,570px);min-height:390px;border-radius:160px 160px 24px 24px;overflow:hidden;background:#e7eee8}
.hero-visual>img,.story-visual>img{width:100%;height:100%;object-fit:cover}.hero-visual>img{object-position:center 45%}
.visual-fallback{height:100%;display:grid;place-items:center;font-size:12rem;color:#a7c3b3}
.visual-tag{position:absolute;left:24px;bottom:24px;background:#fff;padding:16px 19px;border-radius:16px;box-shadow:0 12px 30px #1c4a4020;font-size:.88rem;font-weight:700;display:flex;align-items:center;gap:18px}.visual-tag span{color:var(--marca);font-size:1.2rem}
.services-section{background:var(--crema);padding:100px clamp(22px,5vw,80px);scroll-margin-top:20px}.services-section>*{max-width:1280px;margin-left:auto;margin-right:auto}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:38px}.section-heading h2,.story-copy h2,.contact-section h2{font-size:clamp(2.1rem,3vw,3.7rem);line-height:1.14;margin:13px 0}.section-heading p,.story-copy p,.contact-section p{color:var(--suave);line-height:1.7;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-card{min-height:240px;padding:24px;background:#fff;border:1px solid var(--linea);border-radius:19px;display:flex;flex-direction:column;gap:24px;transition:transform .2s,border-color .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);border-color:#aac5b3;box-shadow:0 15px 35px #1c4a4010}
.service-icon{width:55px;height:55px;display:grid;place-items:center;background:#e8f1e8;border-radius:15px;color:var(--marca);font:500 2rem Manrope,system-ui,sans-serif}.service-name{font:800 1.08rem/1.35 Manrope,system-ui,sans-serif;letter-spacing:-.03em;flex:1}.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-size:.9rem;color:var(--marca);font-weight:800}.card-arrow{font-size:1.2rem;color:var(--marca)}.empty-catalog{grid-column:1/-1;color:var(--suave)}
.story-section{max-width:1440px;margin:auto;padding:100px clamp(22px,5vw,80px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(34px,7vw,100px)}.story-visual{height:460px;background:#e7eee8;border-radius:24px 150px 24px 24px;overflow:hidden;display:grid;place-items:center;font-size:8rem;color:#a7c3b3}.story-copy{max-width:510px}.story-copy p{margin:19px 0 30px}
.contact-section{margin:0 clamp(22px,5vw,80px) 80px;padding:45px clamp(25px,5vw,65px);background:var(--marca);color:#fff;border-radius:25px;display:flex;justify-content:space-between;align-items:center;gap:24px}.contact-section .eyebrow,.contact-section p{color:#d9e8dc}.contact-section h2{font-size:clamp(1.9rem,3vw,3rem)}.contact-links{display:flex;flex-direction:column;gap:10px;font-weight:700;font-size:.9rem}.contact-links a:hover{text-decoration:underline}
footer{padding:24px clamp(22px,5vw,80px);border-top:1px solid var(--linea);display:flex;justify-content:space-between;gap:20px;color:var(--suave);font-size:.8rem}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:30px}h1{font-size:clamp(3rem,6vw,5rem)}}
@media(max-width:700px){.site-header{min-height:68px;padding:12px 18px}.site-header nav>a:not(.nav-book){display:none}.nav-book{padding:11px 13px;font-size:.78rem;white-space:nowrap}.brand{font-size:.9rem}.brand-mark{width:33px;height:33px}.hero{padding:26px 22px 70px;display:flex;flex-direction:column;align-items:stretch;gap:38px;min-height:0}.hero-copy{order:2}.hero-visual{order:1;height:320px;min-height:0;border-radius:110px 110px 22px 22px}.visual-tag{left:12px;bottom:12px;padding:12px;font-size:.72rem}h1{font-size:clamp(2.8rem,11vw,4rem);margin:18px 0}.hero-copy p{font-size:1rem}.hero-actions{gap:19px;margin:28px 0}.primary-link{padding:15px 20px}.services-section{padding:70px 20px}.section-heading{align-items:start;flex-direction:column;margin-bottom:25px}.service-grid{gap:11px}.service-card{min-height:205px;padding:17px;gap:15px}.service-name{font-size:.93rem}.service-icon{width:46px;height:46px;font-size:1.6rem}.price{font-size:.8rem}.story-section{padding:70px 20px;display:flex;flex-direction:column;align-items:stretch}.story-visual{height:300px;border-radius:20px 90px 20px 20px}.contact-section{margin:0 20px 50px;padding:30px 25px;flex-direction:column;align-items:start}footer{padding:20px;flex-direction:column;gap:5px}}
.location-section{max-width:850px;margin:0 auto 80px;padding:0 24px;text-align:center;scroll-margin-top:35px}.location-section h2{font-size:clamp(1.9rem,3vw,2.8rem);margin:14px 0}.location-address{color:var(--suave);line-height:1.7;margin:0 0 26px}.location-card{text-align:left;border:1px solid var(--linea);border-radius:22px;background:var(--crema);overflow:hidden}.location-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px 25px;color:var(--marca);font-weight:800}.location-card summary::-webkit-details-marker{display:none}.location-card summary:hover{background:#edf2eb}.location-card summary:focus-visible{outline:3px solid var(--marca);outline-offset:-4px}.location-pin{width:46px;height:46px;display:grid;place-items:center;flex:none;background:#e4ece2;border-radius:14px}.location-caption{display:block;font-size:.8rem;font-weight:400;color:var(--suave);margin-top:5px}.location-chevron{margin-left:auto;font-size:1.5rem;transition:transform .2s}.location-card[open] .location-chevron{transform:rotate(180deg)}.location-map{background:#e4ece2;border-top:1px solid var(--linea)}.location-map iframe{display:block;width:100%;height:340px;border:0}.location-map-footer{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.location-map-footer>span{font-size:.82rem;line-height:1.6;color:var(--suave)}.location-map-footer a{display:inline-flex;align-items:center;justify-content:center;gap:18px;flex:none;background:var(--marca);color:#fff;border-radius:999px;padding:13px 20px;font-size:.85rem;font-weight:700}.location-map-footer a:hover{filter:brightness(1.15)}.location-section>.contact-links{margin-top:24px;color:var(--marca)}
@media(max-width:700px){.location-section{margin-bottom:50px;padding:0 20px}.location-card summary{padding:18px 16px;gap:12px}.location-map iframe{height:290px}.location-map-footer{padding:18px;flex-direction:column;align-items:stretch;gap:14px}.location-map-footer>span{text-align:center}}
@media(max-width:380px){.service-grid{grid-template-columns:1fr}.service-card{min-height:165px}.brand span:last-child{max-width:125px}}
