:root{--ivory:#f7f0ea;--paper:#fffaf6;--rose:#d8bfc0;--nude:#c8b5a7;--taupe:#75645c;--ink:#332d2d;--line:#ddcfca;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent }a:focus-visible,button:focus-visible{outline:3px solid #665052;outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}em{font-style:italic;font-weight:400}.wrap{width:min(100% - 8vw,1280px);margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--ink);color:white;padding:.6rem 1rem;z-index:99}.skip-link:focus{top:1rem}.site-header{position:relative;z-index:20;background:var(--ivory);border-bottom:1px solid var(--line)}.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;font-size:.87rem;font-weight:700;letter-spacing:.2em;white-space:nowrap}.brand img{width:48px;height:48px}.main-nav{display:flex;align-items:center;gap:clamp(1rem,3vw,3rem)}.main-nav a{text-decoration:none;font-size:.88rem;font-weight:600}.main-nav a:hover,.footer-links a:hover{color:#9b7377}.nav-social{border-bottom:1px solid var(--ink);padding-block:.3rem}.nav-social span{margin-left:.4rem}.menu-toggle{display:none}.hero{overflow:hidden;background:linear-gradient(140deg,#f7f0ea 0%,#f7f0ea 54%,#eadad7 100%)}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:clamp(2rem,5vw,5rem);min-height:min(740px,calc(100svh - 90px));padding-block:clamp(3.8rem,6vw,7rem)}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:.78rem;letter-spacing:.24em;font-weight:700;color:#826e66}.eyebrow span{padding-inline:.35rem}.hero h1{font-family:var(--serif);font-size:clamp(5rem,8.3vw,9rem);line-height:.84;letter-spacing:-.055em;margin:2rem 0 2rem;white-space:nowrap}.hero h1 em{color:#a0797f}.hero-intro{max-width:30rem;font-size:1.08rem;line-height:1.75;color:#594d49}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.55rem;margin-top:2.3rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:58px;padding:.85rem 1.5rem;text-decoration:none;font-size:.88rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#5b4747}.text-link{font-size:.91rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.3rem}.text-link:hover{color:#9b7377}.hero-location{margin-top:4rem;font-size:.79rem;letter-spacing:.04em;color:#75665e}.hero-location span{padding-inline:.25rem}.hero-visual{position:relative;padding:0 4.4rem 0 0}.hero-photo-frame{height:min(620px,60vw);min-height:440px;overflow:hidden;border-radius:50% 50% 0 0 / 30% 30% 0 0;background:var(--rose);box-shadow:26px 26px 0 rgba(216,191,192,.55)}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}.hero-vertical{position:absolute;right:.65rem;bottom:1rem;writing-mode:vertical-rl;letter-spacing:.27em;font-size:.68rem;font-weight:700;color:#76625e}.brand-bar{background:var(--ink);color:#f7f0ea;text-align:center;padding:1.15rem 0;font-size:.72rem;letter-spacing:.3em;font-weight:700}.brand-bar span{font-size:.65rem;color:var(--rose);margin-inline:clamp(.8rem,3vw,3rem)}.section{padding-block:clamp(5rem,9vw,9rem)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3.5rem}.section-heading h2,.visit h2{font-family:var(--serif);font-size:clamp(3.8rem,6vw,6.4rem);line-height:.91;letter-spacing:-.045em;margin-top:1rem}.section-heading h2 em,.visit h2 em{color:#aa8187}.section-heading>p,.work-heading>p{max-width:21rem;color:#665953;line-height:1.75}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,3rem)}.service-card{background:var(--paper)}.service-image{height:clamp(300px,39vw,550px);overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover}.service-card:nth-child(1) .service-image img{object-position:50% 44%}.service-card:nth-child(2) .service-image img{object-position:50% 48%}.service-card-body{padding:clamp(1.4rem,3vw,2.7rem)}.service-label{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.4rem}.service-label span{font-size:.78rem;color:#89736b}.service-label h3{font-family:var(--serif);font-size:3.8rem;line-height:1}.price-list{list-style:none;margin:0;padding:0}.price-list li{display:flex;justify-content:space-between;gap:1rem;padding:1.06rem 0;border-top:1px solid var(--line);font-size:.95rem;line-height:1.35}.price-list li strong{white-space:nowrap;font-size:.96rem}.price-note{color:#796b65;font-size:.79rem;margin-top:1.35rem}.statement{background:var(--rose);text-align:center;overflow:hidden}.statement-inner{position:relative;padding-block:clamp(4.5rem,8vw,8rem)}.statement-mark{position:absolute;inset:-.35em auto auto 50%;transform:translateX(-50%);font-family:var(--serif);font-size:clamp(14rem,32vw,34rem);line-height:1;color:rgba(255,255,255,.18);pointer-events:none}.statement p{position:relative;font-family:var(--serif);font-size:clamp(3.7rem,7vw,7.7rem);line-height:.98;letter-spacing:-.045em}.statement-caption{position:relative;display:block;font-size:.75rem;letter-spacing:.28em;font-weight:700;margin-top:2.6rem}.work-heading{align-items:end}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.work-grid figure{min-width:0}.work-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}.work-grid figure:nth-child(3) img{object-position:50% 42%}.work-grid figcaption{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.8rem 0;font-family:var(--serif);font-size:1.7rem}.work-grid figcaption span{font-family:var(--sans);font-size:.74rem;color:#8c7770;letter-spacing:.08em}.work-link{display:table;margin-top:2rem}.visit{background:#ede0dc;padding-block:clamp(5rem,9vw,9rem)}.visit-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem)}.visit-copy{margin-top:1.7rem;color:#685a54}.visit-details{padding-top:.5rem}.visit-details>div{border-top:1px solid #c7b2ad;padding:1.5rem 0 1.8rem}.visit-details span{font-size:.78rem;font-weight:700;letter-spacing:.2em;color:#816d67}.visit-details p{font-size:1.1rem;line-height:1.7;margin:.8rem 0}.visit-details a{font-weight:700;text-decoration-thickness:1px;text-underline-offset:.25rem}.site-footer{background:var(--ink);color:var(--ivory)}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;padding-block:3.3rem}.footer-brand{display:flex;gap:1rem;align-items:center}.footer-brand strong,.footer-brand span{display:block}.footer-brand strong{font-size:.85rem;letter-spacing:.16em}.footer-brand span{font-family:var(--serif);font-size:1.5rem}.footer-links{display:flex;align-items:center;justify-content:end;gap:1.6rem;flex-wrap:wrap}.footer-links a{text-decoration:none;font-size:.84rem}.footer-inner>p{grid-column:1/-1;border-top:1px solid #5a4f4f;padding-top:1.4rem;color:#d7c9c4;font-size:.77rem}#servicios,#trabajos,#ubicacion{scroll-margin-top:1rem}
@media(max-width:950px){.hero-inner{gap:2rem}.hero h1{font-size:clamp(4rem,8vw,7rem)}.hero-visual{padding-right:2rem}.hero-vertical{right:0}.hero-photo-frame{min-height:410px}.section-heading{align-items:start}.section-heading>p{max-width:16rem}.price-list li{font-size:.87rem}}
@media(max-width:720px){.wrap{width:min(100% - 2.2rem,560px)}.header-inner{min-height:72px}.brand{font-size:.75rem;letter-spacing:.14em}.brand img{width:42px;height:42px}.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;border:0;background:transparent;cursor:pointer}.menu-toggle span{width:25px;height:2px;background:var(--ink);display:block}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;padding:1.6rem max(1.1rem,calc((100vw - 560px)/2));background:var(--ivory);box-shadow:0 16px 25px #332d2d1a;flex-direction:column;align-items:start;gap:1.25rem}.main-nav.is-open{display:flex}.main-nav a{font-size:1rem}.hero-inner{grid-template-columns:1fr;min-height:0;padding-top:3.6rem;padding-bottom:3.5rem}.hero h1{font-size:clamp(4.7rem,17vw,8rem);margin:1.5rem 0}.hero-intro{font-size:1rem}.hero-actions{gap:1.3rem}.hero-location{margin-top:2.8rem}.hero-visual{padding:0 1.1rem 0 0;margin-top:1rem}.hero-photo-frame{height:72vw;min-height:360px;max-height:570px;box-shadow:15px 15px 0 rgba(216,191,192,.55)}.hero-vertical{right:-.75rem;font-size:.6rem}.brand-bar{font-size:.61rem;letter-spacing:.18em}.brand-bar span{margin-inline:.55rem}.section-heading{display:block;margin-bottom:2rem}.section-heading h2,.visit h2{font-size:clamp(3.8rem,13vw,5.7rem)}.section-heading>p,.work-heading>p{max-width:29rem;margin-top:1.3rem}.service-grid{grid-template-columns:1fr;gap:2rem}.service-image{height:clamp(330px,100vw,540px)}.service-card-body{padding:1.5rem}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.work-grid figure:nth-child(3){display:none}.work-grid figcaption{font-size:1.4rem}.visit-inner{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-links{justify-content:start}.footer-inner>p{grid-column:1}}
@media(max-width:420px){.hero h1{font-size:clamp(4rem,17vw,5.5rem)}.hero-actions{align-items:flex-start;flex-direction:column}.price-list li{font-size:.89rem}.work-grid{gap:.7rem}.work-grid figcaption{font-size:1.2rem}.work-grid figcaption span{font-size:.65rem}.footer-links{gap:1rem 1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.main-nav .nav-book{background:var(--ink);color:var(--paper);padding:.72rem 1rem;white-space:nowrap}.main-nav .nav-book:hover{background:#5b4747;color:#fff}.nav-book span{margin-left:.35rem}.service-book{margin-top:1.8rem}.visit-book{margin-top:2rem}
@media(max-width:720px){.main-nav .nav-book{padding:.8rem 1.1rem}}
.work-grid .work-image{width:100%;aspect-ratio:4/5;overflow:hidden;position:relative}.work-grid .work-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.work-grid figure:nth-child(3) .work-image img{object-position:73% 65%;transform:scale(1.38);transform-origin:73% 65%}
@media(max-width:720px){.work-grid{grid-template-columns:1fr}.work-grid figure:nth-child(3){display:block}}
