.portfolio-gallery{margin-top:clamp(2.5rem,4vw,3.5rem)}.portfolio-gallery__viewport{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;width:100vw;margin-left:calc(50% - 50vw);padding-block:.6rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 5% 95%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 5% 95%,#0000 100%)}.portfolio-gallery__viewport:active{cursor:grabbing}html:not([data-reveal-js]) .portfolio-gallery__viewport{cursor:auto;overflow-x:auto}html:not([data-reveal-js]) .portfolio-gallery__controls{display:none}.portfolio-gallery__track{--pf-gap:clamp(.9rem, 1.6vw, 1.5rem);gap:var(--pf-gap);width:max-content;padding-right:var(--pf-gap);will-change:transform;display:flex}.portfolio-gallery__track .portfolio-card{flex:none;width:clamp(320px,42vw,620px)}.portfolio-gallery__controls{justify-content:center;gap:.75rem;margin-top:clamp(1.5rem,2.6vw,2.2rem);display:flex}.portfolio-gallery__btn{width:52px;height:52px;color:var(--ink);background:#fffdf9;border:1px solid #cdb79b;border-radius:50%;place-items:center;transition:background-color .3s,color .3s,border-color .3s,translate .2s;display:grid}.portfolio-gallery__btn svg{width:22px;height:22px}.portfolio-gallery__btn:active{translate:0 1px}.portfolio-gallery__btn:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}@media (hover:hover){.portfolio-gallery__btn:hover{background:var(--coffee);border-color:var(--coffee);color:#fffaf3}}.portfolio-card{isolation:isolate;aspect-ratio:16/9;-webkit-appearance:none;appearance:none;border:1px solid var(--line);cursor:zoom-in;background:#efe7db;border-radius:16px;padding:0;transition:border-color .35s,box-shadow .45s;position:relative;overflow:hidden}.portfolio-card:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}.portfolio-card picture{display:contents}.portfolio-card__img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:block}.portfolio-card__veil{z-index:1;pointer-events:none;opacity:0;background:linear-gradient(#2a191200 45%,#2a19126b);transition:opacity .4s;position:absolute;inset:0}.portfolio-card__zoom{z-index:2;color:#fbf8f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;opacity:0;background:#2a19126b;border:1px solid #faf7f180;border-radius:999px;place-items:center;width:34px;height:34px;transition:opacity .35s,transform .35s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;bottom:.7rem;right:.7rem;transform:translateY(6px)}.portfolio-card__zoom svg{width:16px;height:16px}@media (hover:none){.portfolio-card__zoom{opacity:.85;transform:none}}@media (hover:hover) and (pointer:fine){.portfolio-card:hover{border-color:var(--gold);box-shadow:0 18px 38px -18px #2a19126b}.portfolio-card:hover .portfolio-card__img{transform:scale(1.045)}.portfolio-card:hover .portfolio-card__veil{opacity:1}.portfolio-card:hover .portfolio-card__zoom{opacity:1;transform:none}}.portfolio-gallery__track img{-webkit-user-drag:none;pointer-events:none}@media (max-width:620px){.portfolio-gallery__track .portfolio-card{aspect-ratio:9/16;width:78vw}.portfolio-gallery__btn{width:48px;height:48px}}.portfolio-lightbox{color:#fbf8f2;opacity:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;transition:opacity .28s ease, overlay .28s allow-discrete, display .28s allow-discrete;background:0 0;border:0;place-items:center;margin:0;padding:clamp(1rem,3vw,2.5rem);display:grid;overflow:hidden}.portfolio-lightbox[open]{opacity:1}@starting-style{.portfolio-lightbox[open]{opacity:0}}.portfolio-lightbox::backdrop{opacity:0;transition:opacity .28s ease, overlay .28s allow-discrete, display .28s allow-discrete;background:#140e0be6}.portfolio-lightbox[open]::backdrop{opacity:1}@starting-style{.portfolio-lightbox[open]::backdrop{opacity:0}}@supports ((-webkit-backdrop-filter:blur(6px)) or (backdrop-filter:blur(6px))){.portfolio-lightbox::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}.portfolio-lightbox__inner{max-width:min(88vw,1400px);position:relative}.portfolio-lightbox[open] .portfolio-lightbox__inner{animation:.34s cubic-bezier(.2,.8,.2,1) both portfolio-lightbox-in}@keyframes portfolio-lightbox-in{0%{opacity:0;transform:scale(.97)translateY(10px)}to{opacity:1;transform:none}}.portfolio-lightbox__figure{margin:0}.portfolio-lightbox__img{object-fit:contain;width:100%;height:auto;max-height:calc(100dvh - 9rem);display:block}.portfolio-lightbox__caption{color:#fbf8f2d1;justify-content:center;align-items:baseline;gap:1.5rem;margin-top:.9rem;font-size:.8rem;line-height:1.5;display:flex}.portfolio-lightbox__count{font-variant-numeric:tabular-nums;letter-spacing:.08em;text-transform:uppercase;color:#fbf8f299;flex:none;font-size:.7rem}.portfolio-lightbox__close,.portfolio-lightbox__nav{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fbf8f2;cursor:pointer;background:#2a1912b8;border:1px solid #b58b5080;border-radius:999px;place-items:center;transition:background .2s,color .2s,border-color .2s;display:grid;position:absolute}.portfolio-lightbox__close:hover,.portfolio-lightbox__nav:hover{color:#2a1912;background:#fbf8f2;border-color:#fbf8f2}:is(.portfolio-lightbox__close:focus-visible,.portfolio-lightbox__nav:focus-visible){outline:2px solid var(--gold);outline-offset:3px}.portfolio-lightbox__close{width:40px;height:40px;top:-.75rem;right:-.75rem}.portfolio-lightbox__nav{width:46px;height:46px;top:50%;transform:translateY(-50%)}.portfolio-lightbox__nav.is-prev{left:-1.5rem}.portfolio-lightbox__nav.is-next{right:-1.5rem}.portfolio-lightbox__close svg,.portfolio-lightbox__nav svg{width:20px;height:20px}@media (max-width:900px){.portfolio-lightbox__inner{max-width:94vw}.portfolio-lightbox__close{top:-.5rem;right:-.25rem}.portfolio-lightbox__nav.is-prev{left:.25rem}.portfolio-lightbox__nav.is-next{right:.25rem}}@media (prefers-reduced-motion:reduce){.portfolio-card__img{animation:none!important;transform:scale(1)!important}.portfolio-lightbox[open] .portfolio-lightbox__inner{animation:none!important}}.testimonial-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(1rem,2.2vw,2rem);margin:clamp(2rem,3.6vw,3rem) 0 0;padding:0;list-style:none;display:grid}@media (max-width:1100px){.testimonial-cards{grid-template-columns:minmax(0,1fr)}}.testimonial-card{background:#fcf8f3;border:1px solid #e3d3bd;border-radius:18px;flex-direction:column;gap:1.2rem;padding:clamp(1.5rem,2.4vw,2.3rem) clamp(1.4rem,2.4vw,2.3rem);display:flex}.testimonial-stars{color:#c4954f;gap:3px;display:inline-flex}.testimonial-stars svg{display:block}.testimonial-card__quote{flex:1;grid-template-columns:auto minmax(0,1fr);gap:.9rem;margin:0;display:grid}.testimonial-card__mark{font-family:var(--font-accent), Georgia, serif;color:var(--olive);margin-top:.1rem;font-size:4rem;font-weight:500;line-height:.7}.testimonial-card__quote p{color:var(--ink);margin:0;font-size:clamp(1.1rem,1.38vw,1.32rem);line-height:1.5}.testimonial-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem 1.2rem;padding-left:2.5rem;display:flex}.testimonial-card__author{color:#3b2c22;margin:0;font-size:1rem}.testimonial-card__author strong{color:var(--ink);font-weight:600}.testimonial-card__more{cursor:pointer;color:var(--olive);text-underline-offset:.2em;background:0 0;border:0;padding:0;font-size:.98rem;text-decoration:underline;text-decoration-thickness:1px;transition:color .25s;position:relative}.testimonial-card__more:after{content:"";position:absolute;inset:-12px -8px}.testimonial-card__more:hover{color:var(--ink)}.testimonial-card__more:focus-visible{outline:2px solid var(--olive);outline-offset:4px;border-radius:2px}@media (max-width:620px){.testimonial-card__footer{padding-left:0}.testimonial-card__mark{font-size:3rem}}.testimonial-dialog{width:min(640px,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);opacity:0;transition:opacity .3s var(--ease-out), translate .4s var(--ease-out), overlay .3s allow-discrete, display .3s allow-discrete;background:#fcf8f3;border:0;border-radius:22px;margin:auto;padding:0;translate:0 12px;box-shadow:0 30px 80px -20px #2a191273}.testimonial-dialog[open]{opacity:1;translate:0}@starting-style{.testimonial-dialog[open]{opacity:0;translate:0 12px}}.testimonial-dialog::backdrop{background:#1e120c8c}.testimonial-dialog__panel{padding:clamp(1.8rem,4vw,2.8rem);position:relative;overflow-y:auto}.testimonial-dialog__close{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:.8rem;right:.8rem}.testimonial-dialog__close:hover{background:#2a19120f}.testimonial-dialog__close:focus-visible{outline:2px solid var(--olive);outline-offset:2px}.testimonial-dialog__close svg{width:20px;height:20px}.testimonial-dialog__name{font-family:var(--font-accent), Georgia, serif;margin:.9rem 0 1rem;font-size:1.9rem;font-weight:500;line-height:1.1}.testimonial-dialog__name span{font-family:var(--font-sans), system-ui, sans-serif;color:#5f564e;font-size:1rem}.testimonial-dialog__quote{margin:0}.testimonial-dialog__quote p{color:#3b2c22;margin:0 0 .9rem;font-size:1.05rem;font-weight:300;line-height:1.72}.testimonial-dialog__quote p:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){.testimonial-dialog,.testimonial-dialog[open]{transition:none;translate:none}}.services-tabs{gap:clamp(1.4rem,3.4vw,3.6rem);display:flex}.services-tab{cursor:pointer;color:#6b5444;white-space:nowrap;background:0 0;border:0;padding:.7rem .1rem 1rem;font-size:clamp(1rem,1.3vw,1.2rem);font-weight:400;transition:color .25s;position:relative}.services-tab:after{content:"";background:var(--olive);height:3px;transition:scale .45s var(--ease-out);border-radius:2px;position:absolute;bottom:0;left:0;right:0;scale:0 1}.services-tab[aria-selected=true]{color:var(--ink);font-weight:500}.services-tab[aria-selected=true]:after{background:#4b5a3c38;scale:1}.services-tab__progress{background:var(--olive);transform-origin:0;border-radius:2px;height:3px;animation:7s linear both services-progress;position:absolute;bottom:0;left:0;right:0}.services-tabs[data-paused] .services-tab__progress{animation-play-state:paused}@keyframes services-progress{0%{scale:0 1}to{scale:1}}@media (prefers-reduced-motion:reduce){.services-tab__progress{animation:none;scale:1}}.services-tabs[data-single] .services-tab[aria-selected=true]:after{background:var(--olive)}.services-tab:hover{color:var(--ink)}.services-tab:focus-visible{outline:2px solid var(--olive);outline-offset:4px;border-radius:4px}.services-panel{width:100vw;margin:clamp(1.8rem,3vw,2.6rem) 0 0 calc(50% - 50vw)}.services-panel__inner[hidden]{display:none}.services-panel__inner{--pad:max(4vw, calc((100vw - 1360px) / 2));isolation:isolate;background:#3d2a20f0;align-items:center;min-height:clamp(480px,36vw,700px);display:flex;position:relative;overflow:hidden}.services-panel__copy{z-index:2;width:calc(var(--pad) + min(470px, 36vw));padding:clamp(2.4rem, 4vw, 4rem) 2rem clamp(2.4rem, 4vw, 4rem) var(--pad);color:#fbf3ea;flex-direction:column;justify-content:center;display:flex;position:relative}.services-panel__label{letter-spacing:.26em;text-transform:uppercase;color:#eadccb;margin:0 0 1.4rem;font-size:.8rem;font-weight:400}.services-panel__title{font-family:var(--font-accent), Georgia, serif;letter-spacing:-.01em;color:#fbf3ea;text-wrap:balance;margin:0;font-size:clamp(2.6rem,4.2vw,4.6rem);font-weight:500;line-height:1}.services-panel__text{color:#f1e6da;max-width:34ch;margin:1.2rem 0 0;font-size:clamp(1.04rem,1.3vw,1.22rem);line-height:1.6}.services-panel__cta{align-self:flex-start;margin-top:clamp(1.4rem,2.2vw,2rem)}.services-panel__media{z-index:0;background:#e9d9c8;width:70%;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.services-panel__photo{object-fit:cover;object-position:var(--pos,50% 50%);width:100%;height:100%;display:block;position:absolute;inset:0}.services-panel__media:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#3d2a20f0 0%,#3d2a20b8 14%,#3d2a2052 30%,#3d2a2000 46%);position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.services-panel__copy>*{animation:services-in .7s var(--ease-out) both}.services-panel__copy>:nth-child(2){animation-delay:50ms}.services-panel__copy>:nth-child(3){animation-delay:.1s}.services-panel__copy>:nth-child(4){animation-delay:.15s}.services-panel__copy>.services-panel__cta{animation:services-in .7s var(--ease-out) .15s both, cta-halo 3.6s var(--fill-ease,ease-out) 1s infinite}:is(.services-panel__copy>.services-panel__cta:hover,.services-panel__copy>.services-panel__cta:focus-visible){animation:none}.services-panel__media>img{animation:services-photo-in 1s var(--ease-out) both}}@keyframes services-in{0%{opacity:0;translate:0 14px}}.services-panel__photo.is-alt{opacity:0}@media (prefers-reduced-motion:no-preference){.services-panel__media>.services-panel__photo.is-alt{animation:12s ease-in-out infinite services-swap}.services-panel[data-paused] .services-panel__photo.is-alt{animation-play-state:paused}}@keyframes services-swap{0%,42%{opacity:0}50%,92%{opacity:1}to{opacity:0}}@keyframes services-photo-in{0%{opacity:0;scale:1.04}}@media (max-width:900px){.services-panel__inner{flex-direction:column;align-items:stretch;min-height:0}.services-panel__media{aspect-ratio:16/9;order:-1;width:100%;position:relative}.services-panel__media:after{background:linear-gradient(#3d2a2000 70%,#3d2a20f0 100%)}.services-panel__copy{width:auto;padding:2rem var(--pad) 2.6rem}.services-tabs{scrollbar-width:none;margin-inline:-.2rem;padding-inline:.2rem;overflow-x:auto}.services-tabs::-webkit-scrollbar{display:none}.services-panel__label,.services-panel__title{display:none}.services-panel__text{margin-top:0}}@media (max-width:620px){.services-panel__media{aspect-ratio:9/16}.services-panel__photo{object-position:var(--pos-mobile,50% 50%)}}.cookie-banner{z-index:40;color:#f6ece0;width:min(440px,100vw - 2rem);animation:cookie-in .5s var(--ease-out) both;background:#2a1912;border-radius:16px;gap:1rem;padding:1.2rem 1.3rem;font-size:.92rem;line-height:1.55;display:grid;position:fixed;bottom:clamp(1rem,2vw,1.6rem);left:clamp(1rem,2vw,1.6rem);box-shadow:0 24px 50px -20px #00000080}.cookie-banner p{margin:0}.cookie-banner strong{color:#fff;font-weight:500}.cookie-banner a{color:#e6c48f;text-underline-offset:.2em;text-decoration:underline}.cookie-banner a:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #e6c48f}.cookie-banner__actions{justify-content:flex-end;gap:.6rem;display:flex}.cookie-banner__btn{cursor:pointer;color:#f6ece0;background:0 0;border:1px solid #f6ece073;border-radius:999px;min-height:44px;padding:0 1.2rem;font-size:.92rem;font-weight:500;transition:background-color .25s,color .25s,border-color .25s}.cookie-banner__btn:hover{border-color:#f6ece0}.cookie-banner__btn.is-primary{color:#2a1912;background:#f6ece0;border-color:#f6ece0}.cookie-banner__btn.is-primary:hover{background:#fff}.cookie-banner__btn:focus-visible{outline-offset:3px;outline:2px solid #e6c48f}@keyframes cookie-in{0%{opacity:0;translate:0 16px}}@media (prefers-reduced-motion:reduce){.cookie-banner{animation:none}}@media (max-width:620px){.cookie-banner{width:auto;bottom:.6rem;left:.6rem;right:.6rem}.cookie-banner__actions>*{flex:1}html[data-reveal-js]:has(.cookie-banner) .whatsapp-float[data-visivel]{visibility:hidden;opacity:0}}.cookie-prefs{cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:0;padding:.7rem 0}.cookie-prefs:hover{color:#e2c5a1}.cookie-prefs:focus-visible{outline-offset:5px;outline:2px solid #dbc4a6}.map-placeholder{text-align:center;height:100%;color:var(--ink);background:radial-gradient(circle at 30% 30%,#ffffff8c,#0000 55%),repeating-linear-gradient(45deg,#b58b500f 0 2px,#0000 2px 22px),#ede2d4;place-content:center;justify-items:center;gap:.7rem;padding:2rem;display:grid}.map-placeholder svg{width:34px;height:34px;color:var(--olive)}.map-placeholder__address{font-family:var(--font-accent), Georgia, serif;max-width:22ch;margin:0;font-size:1.35rem;font-weight:500;line-height:1.25}.map-placeholder__note{color:#544a42;max-width:32ch;margin:0;font-size:.9rem}.map-placeholder__btn{cursor:pointer;min-height:44px;color:var(--ink);background:0 0;border:1px solid #2a19128c;border-radius:999px;margin-top:.4rem;padding:0 1.4rem;font-size:.95rem;font-weight:500;transition:background-color .25s,color .25s}.map-placeholder__btn:hover{background:var(--coffee);color:#fffaf3}.map-placeholder__btn:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}
