:root{--color-navy:#0b1724;--color-ivory:#f4f1ea;--color-white:#fff;--color-muted:#b9b8b3;--color-accent:#b28a63;--font-primary:"Manrope", sans-serif;--font-display:"Cormorant Garamond", serif;--container-width:1200px;--navbar-height:88px;--transition-fast:.25s ease;--transition-normal:.4s ease}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--navbar-height)}body{font-family:var(--font-primary);background-color:var(--color-ivory);color:var(--color-navy);margin:0}a{color:inherit}button,input,textarea{font-family:inherit}#root{min-height:100vh}@media (width<=768px){:root{--navbar-height:72px}}.navbar{width:100%;height:var(--navbar-height);z-index:100;color:var(--color-white);transition:background-color .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,box-shadow .4s,border-color .4s;position:fixed;top:0;left:0}.navbar--solid{-webkit-backdrop-filter:blur(14px);background:#0b1724d1;border-bottom:1px solid #ffffff14;box-shadow:0 8px 30px #0000001f}.navbar__container{width:min(var(--container-width), 90%);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.navbar__brand{align-items:center;text-decoration:none;display:inline-flex}.navbar__logo{width:auto;height:44px;display:block}.navbar__links{align-items:center;gap:2.4rem;margin:0;padding:0;list-style:none;display:flex}.navbar__links a{color:#ffffffc7;font-size:.82rem;font-weight:500;text-decoration:none;transition:color .25s;position:relative}.navbar__links a:after{content:"";background-color:var(--color-white);width:0;height:1px;transition:width .25s;position:absolute;bottom:-7px;left:0}.navbar__links a:hover{color:var(--color-white)}.navbar__links a:hover:after{width:100%}.navbar__cta{color:var(--color-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff14;border:1px solid #ffffff40;border-radius:999px;padding:11px 20px;font-size:.8rem;font-weight:600;text-decoration:none;transition:background-color .25s,border-color .25s,transform .25s}.navbar__cta:hover{background-color:#ffffff29;border-color:#fff6;transform:translateY(-2px)}.navbar__menu-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;display:none}.navbar__menu-button span{background-color:var(--color-white);width:16px;height:1px;transition:transform .3s,opacity .3s}.navbar__menu-button--open span:first-child{transform:translateY(3px)rotate(45deg)}.navbar__menu-button--open span:last-child{transform:translateY(-3px)rotate(-45deg)}.navbar__mobile-menu{display:none}@media (width<=900px){.navbar__links{gap:1.4rem}.navbar__links a{font-size:.75rem}.navbar__cta{padding:9px 16px}}@media (width<=768px){.navbar__container{width:88%}.navbar__logo{height:34px}.navbar__links,.navbar__cta{display:none}.navbar__menu-button{display:flex}.navbar__mobile-menu{top:var(--navbar-height);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;background:#07121df5;border-top:1px solid #ffffff14;flex-direction:column;width:100%;padding:25px 6% 35px;transition:opacity .3s,transform .3s,visibility .3s;display:flex;position:absolute;left:0;transform:translateY(-15px)}.navbar__mobile-menu--open{opacity:1;visibility:visible;transform:translateY(0)}.navbar__mobile-menu a{color:#f4f1ead9;border-bottom:1px solid #ffffff14;padding:17px 0;font-size:1rem;font-weight:500;text-decoration:none;transition:color .25s}.navbar__mobile-menu a:last-child{border-bottom:none}.navbar__mobile-menu a:hover{color:var(--color-white)}.navbar--menu-open{background:#07121df5}}.footer{color:var(--color-ivory);background-color:#07121d;padding:20px 0}.footer__container{width:min(var(--container-width), 90%);margin:0 auto}.footer__main{justify-content:space-between;gap:80px;padding-bottom:56px;display:flex}.footer__brand{max-width:320px}.footer__logo{color:var(--color-ivory);letter-spacing:-.03em;margin-bottom:20px;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-block}.footer__brand p{color:#f4f1ea80;max-width:250px;margin:0;font-size:.85rem;line-height:1.7}.footer__navigation{gap:72px;display:flex}.footer__column{flex-direction:column;gap:12px;min-width:160px;display:flex}.footer__column span{letter-spacing:.14em;text-transform:uppercase;color:#f4f1ea59;margin-bottom:8px;font-size:.68rem;font-weight:700}.footer__column a{color:#f4f1eab3;width:fit-content;font-size:.78rem;text-decoration:none;transition:color .25s}.footer__column a:hover{color:var(--color-ivory)}.footer__bottom{color:#f4f1ea59;border-top:1px solid #f4f1ea1a;justify-content:space-between;align-items:center;padding-top:25px;font-size:.68rem;display:flex}@media (width<=768px){.footer{padding:56px 0 24px}.footer__main{flex-direction:column;gap:48px;padding-bottom:40px}.footer__navigation{flex-wrap:wrap;gap:48px}}.whatsapp-options{background-color:var(--color-ivory);border-radius:16px;flex-direction:column;width:max-content;max-width:min(300px,100vw - 48px);display:flex;overflow:hidden;box-shadow:0 20px 40px #00000040}.whatsapp-options__option{color:var(--color-navy);border-bottom:1px solid #0b172414;flex-direction:column;gap:4px;padding:14px 20px;text-decoration:none;transition:background-color .2s;display:flex}.whatsapp-options__option:last-child{border-bottom:none}.whatsapp-options__option:hover{background-color:#b28a631f}.whatsapp-options__option span:first-child{font-size:.85rem;font-weight:700}.whatsapp-options__option span:last-child{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-size:.7rem;font-weight:600}.floating-whatsapp{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:150;position:fixed}.floating-whatsapp__button{background-color:var(--color-navy);width:56px;height:56px;color:var(--color-ivory);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 10px 30px #00000059}.floating-whatsapp__button svg{width:26px;height:26px}.floating-whatsapp__button:hover{transform:translateY(-3px);box-shadow:0 14px 36px #0006}.floating-whatsapp__popover{z-index:5;position:absolute;bottom:calc(100% + 12px);right:0}@media (width<=768px){.floating-whatsapp{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom))}.floating-whatsapp__button{width:52px;height:52px}.floating-whatsapp__button svg{width:24px;height:24px}}.site-main{padding-top:var(--navbar-height)}.site-main--flush{padding-top:0}.hero{color:#f5f2eb;background:linear-gradient(90deg,#081423eb 0%,#081423b8 42%,#08142326 100%),url(/images/institucional/hero.jpg) 50%/cover no-repeat;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero__overlay{background:linear-gradient(#00000026,#00000040);position:absolute;inset:0}.hero__content{z-index:1;width:min(1100px,90%);margin:0 auto;padding:140px 0 100px;position:relative}.hero__eyebrow{letter-spacing:.18em;text-transform:uppercase;opacity:.8;margin:0 0 24px;font-size:.85rem;font-weight:500}.hero h1{max-width:850px;font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(3.5rem,7vw,7rem);font-weight:600;line-height:1}.hero__description{color:#f5f2ebc7;max-width:520px;margin:32px 0 0;font-size:1.05rem;line-height:1.7}.hero__actions{align-items:center;gap:32px;margin-top:42px;display:flex}.hero__button{color:#101b29;background:#f5f2eb;border-radius:999px;align-items:center;gap:18px;padding:15px 24px;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .3s,background .3s;display:inline-flex}.hero__button span{font-size:1.2rem;transition:transform .3s}.hero__button:hover{transform:translateY(-3px)}.hero__button:hover span{transform:translate(4px)}.hero__link{color:#f5f2eb;border-bottom:1px solid #f5f2eb80;padding-bottom:4px;font-size:.9rem;font-weight:500;text-decoration:none;transition:border-color .3s}.hero__link:hover{border-color:#f5f2eb}.hero__scroll{z-index:2;letter-spacing:.12em;text-transform:uppercase;color:#f5f2eb99;flex-direction:column;align-items:center;gap:6px;font-size:.7rem;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.hero__scroll span:last-child{font-size:1.2rem}@media (width<=768px){.hero{background:linear-gradient(#081423cc,#0814238c),url(/images/institucional/hero.jpg) 50%/cover no-repeat;min-height:100vh}.hero__content{width:88%;padding:80px 0}.hero h1{font-size:clamp(3rem,14vw,5rem)}.hero__description{font-size:.95rem}.hero__actions{flex-direction:column;align-items:flex-start;gap:22px}.hero__scroll{display:none}}.about{background-color:var(--color-ivory);color:var(--color-navy);padding:80px 0}.about__container{width:min(var(--container-width), 90%);margin:0 auto}.about__header{max-width:850px;margin-bottom:40px}.about__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin:0 0 24px;font-size:.75rem;font-weight:700}.about h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(3rem,6vw,6rem);font-weight:600;line-height:.98}.about__content{grid-template-columns:.8fr 1.2fr;align-items:center;gap:80px;display:grid}.about__text{max-width:430px}.about__text p{color:#0b1724ad;margin:0 0 24px;font-size:1rem;line-height:1.8}.about__image{height:540px;overflow:hidden}.about__image img{object-fit:cover;width:100%;height:100%;transition:transform .8s;display:block}.about__image:hover img{transform:scale(1.03)}@media (width<=768px){.about{padding:72px 0}.about__header{margin-bottom:44px}.about__content{grid-template-columns:1fr;gap:60px}.about__image{height:450px}}.lightbox{z-index:1000;cursor:zoom-out;animation:lightbox-fade var(--transition-fast);background-color:#0b1724eb;justify-content:center;align-items:center;padding:clamp(20px,6vw,80px);display:flex;position:fixed;inset:0}.lightbox__image{object-fit:contain;cursor:default;max-width:100%;max-height:100%;animation:.3s lightbox-zoom;display:block;box-shadow:0 30px 90px #0000008c}.lightbox__close{width:44px;height:44px;color:var(--color-ivory);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:2rem;line-height:1;display:flex;position:absolute;top:clamp(12px,3vw,32px);right:clamp(12px,3vw,32px)}.lightbox__close:hover{opacity:.6}.lightbox__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}@keyframes lightbox-zoom{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.lightbox,.lightbox__image{animation:none}}.product-card__image{aspect-ratio:3/2;background-color:var(--color-ivory);cursor:zoom-in;border:none;width:100%;padding:0;display:block;overflow:hidden}.product-card__image:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.product-card__image img{object-fit:contain;width:100%;height:100%;transition:transform .7s;display:block}.product-card:hover .product-card__image img{transform:scale(1.04)}.product-card__info{justify-content:space-between;align-items:flex-start;padding-top:18px;display:flex}.product-card__category{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0 0 6px;font-size:.68rem;font-weight:700}.product-card h3{letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:600}.product-card__material{color:#0b17248c;margin:4px 0 0;font-size:.78rem;font-weight:400}.product-card__arrow{font-size:1.3rem;transition:transform .3s}.product-card:hover .product-card__arrow{transform:translate(3px,-3px)}.featured-products{background-color:var(--color-ivory);padding:40px 0}.featured-products__container{width:min(var(--container-width), 90%);margin:0 auto}.featured-products__header{justify-content:space-between;align-items:flex-end;margin-bottom:44px;display:flex}.featured-products__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin:0 0 20px;font-size:.72rem;font-weight:700}.featured-products h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(3rem,5.5vw,5.5rem);font-weight:600;line-height:.98}.featured-products__description{color:#0b172499;max-width:320px;margin:0;font-size:.95rem;line-height:1.7}.featured-products__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.featured-products__grid .product-card:nth-child(2){margin-top:100px}.featured-products__footer{justify-content:flex-end;margin-top:56px;display:flex}.featured-products__footer a{border-bottom:1px solid var(--color-navy);align-items:center;gap:18px;padding-bottom:8px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.featured-products__footer span{font-size:1.2rem;transition:transform .3s}.featured-products__footer a:hover span{transform:translate(5px)}@media (width<=768px){.featured-products{padding:72px 0}.featured-products__header{margin-bottom:44px;display:block}.featured-products__description{margin-top:30px}.featured-products__grid{grid-template-columns:1fr;gap:60px}.featured-products__grid .product-card:nth-child(2){margin-top:0}.featured-products__footer{justify-content:flex-start;margin-top:50px}}.craftsmanship{background-color:var(--color-navy);color:var(--color-ivory);padding:96px 0}.craftsmanship__container{width:min(var(--container-width), 90%);margin:0 auto}.craftsmanship__intro{margin-bottom:48px}.craftsmanship__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin:0;font-size:.72rem;font-weight:700}.craftsmanship__content{grid-template-columns:1.1fr .9fr;align-items:center;gap:100px;display:grid}.craftsmanship__image{height:650px;overflow:hidden}.craftsmanship__image img{object-fit:cover;width:100%;height:100%;transition:transform .8s;display:block}.craftsmanship__image:hover img{transform:scale(1.03)}.craftsmanship__text{max-width:520px}.craftsmanship h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 35px;font-size:clamp(3rem,5vw,5.2rem);font-weight:600;line-height:.98}.craftsmanship__text p{color:#f4f1ea9e;max-width:460px;margin:0 0 20px;font-size:.95rem;line-height:1.8}.craftsmanship__link{color:var(--color-ivory);border-bottom:1px solid #f4f1ea80;align-items:center;gap:18px;margin-top:25px;padding-bottom:8px;font-size:.82rem;font-weight:600;text-decoration:none;transition:border-color .3s;display:inline-flex}.craftsmanship__link span{font-size:1.2rem;transition:transform .3s}.craftsmanship__link:hover{border-color:var(--color-ivory)}.craftsmanship__link:hover span{transform:translate(5px)}@media (width<=768px){.craftsmanship{padding:72px 0}.craftsmanship__intro{margin-bottom:40px}.craftsmanship__content{grid-template-columns:1fr;gap:60px}.craftsmanship__image{height:500px}}.gallery{background-color:var(--color-ivory);color:var(--color-navy);padding:40px 0}.gallery__container{width:min(var(--container-width), 90%);margin:0 auto}.gallery__header{justify-content:space-between;align-items:flex-end;margin-bottom:56px;display:flex}.gallery__eyebrow{color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px;font-size:.72rem;font-weight:700}.gallery h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(3rem,5.5vw,5.5rem);font-weight:600;line-height:.98}.gallery__description{color:#0b172499;max-width:330px;margin:0 0 5px;font-size:.95rem;line-height:1.7}.gallery__grid{grid-template-rows:420px 300px;grid-template-columns:1.35fr .65fr;gap:24px;display:grid}.gallery__item{cursor:zoom-in;background-color:#ddd;border:none;width:100%;padding:0;display:block;position:relative;overflow:hidden}.gallery__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .8s;display:block}.gallery__item:hover img{transform:scale(1.04)}.gallery__item--large{grid-row:span 2}.gallery__item--small{height:300px}.gallery__item--vertical{height:420px}.gallery__item--wide{grid-column:1/-1;height:300px;margin-top:0}@media (width<=768px){.gallery{padding:72px 0}.gallery__header{margin-bottom:40px;display:block}.gallery__description{margin-top:30px}.gallery__grid{flex-direction:column;gap:18px;display:flex}.gallery__item,.gallery__item--small,.gallery__item--vertical,.gallery__item--wide{width:100%;height:420px;margin:0}.gallery__item--large{height:500px}}.contact{background-color:var(--color-navy);color:var(--color-ivory);padding:50px 0 40px}.contact__container{width:min(var(--container-width), 90%);margin:0 auto}.contact__header{border-bottom:1px solid #f4f1ea26;padding-bottom:30px}.contact__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin:0;font-size:.72rem;font-weight:700}.contact__content{max-width:900px;margin:72px 0}.contact h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(4rem,8vw,5rem);font-weight:400;line-height:1}.contact__content>p{color:#f4f1ea99;max-width:480px;margin:45px 0 35px;font-size:1rem;line-height:1.8}.contact__cta{display:inline-block;position:relative}.contact__button{background-color:var(--color-ivory);color:var(--color-navy);cursor:pointer;border:1px solid #f4f1ea40;border-radius:999px;align-items:center;gap:28px;padding:17px 25px;font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .3s,background-color .3s;display:inline-flex}.contact__button span:last-child{font-size:1.2rem;transition:transform .3s}.contact__button:hover{transform:translateY(-3px)}.contact__button:hover span:last-child{transform:translate(3px,-3px)}.contact__popover{z-index:5;position:absolute;top:calc(100% + 12px);left:0}.contact__details{border-top:1px solid #f4f1ea26;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:30px;display:grid}.contact__details span{letter-spacing:.12em;text-transform:uppercase;color:#f4f1ea66;margin-bottom:10px;font-size:.68rem;font-weight:700;display:block}.contact__details p{color:#f4f1eacc;margin:0;font-size:.85rem}@media (width<=768px){.contact{padding:72px 0 56px}.contact__content{margin:56px 0}.contact h2{font-size:clamp(3.5rem,15vw,5rem)}.contact__details{grid-template-columns:1fr;gap:30px}}.category-filter{flex-wrap:wrap;gap:12px;display:flex}.category-filter__option{color:#0b1724a6;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background-color:#0000;border:1px solid #0b172433;border-radius:999px;padding:10px 20px;font-family:inherit;font-size:.8rem;font-weight:600}.category-filter__option:hover{border-color:var(--color-navy);color:var(--color-navy)}.category-filter__option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.category-filter__option--active{border-color:var(--color-navy);background-color:var(--color-navy);color:var(--color-ivory)}.category-filter__option--active:hover{color:var(--color-ivory)}.catalog{background-color:var(--color-ivory);color:var(--color-navy);padding:72px 0 120px}.catalog__container{width:min(var(--container-width), 90%);margin:0 auto}.catalog__header{max-width:720px;margin-bottom:40px}.catalog__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin:0 0 20px;font-size:.72rem;font-weight:700}.catalog__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-navy);margin:0;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;line-height:1}.catalog__intro{color:#0b172499;max-width:420px;margin:24px 0 0;font-size:.95rem;line-height:1.7}.catalog__filter{margin-bottom:56px}.catalog__grid{grid-template-columns:repeat(3,1fr);gap:48px 24px;display:grid}.catalog__message{color:#0b172499;margin:0;padding:32px 0;font-size:.95rem;line-height:1.7}@media (width<=900px){.catalog__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.catalog{padding:56px 0 90px}.catalog__header{margin-bottom:32px}.catalog__filter{margin-bottom:40px}.catalog__grid{grid-template-columns:1fr;gap:56px}}.not-found{width:min(var(--container-width), 90%);flex-direction:column;justify-content:center;align-items:flex-start;min-height:70vh;margin:0 auto;padding:120px 0;display:flex}.not-found__code{letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin:0 0 20px;font-size:.72rem;font-weight:700}.not-found h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(2.5rem,5vw,4rem);font-weight:600;line-height:1}.not-found__text{color:#0b172499;max-width:420px;margin:24px 0 40px;font-size:1rem;line-height:1.7}.not-found__link{border-bottom:1px solid var(--color-navy);align-items:center;gap:18px;padding-bottom:8px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.not-found__link span{font-size:1.2rem;transition:transform .3s}.not-found__link:hover span{transform:translate(5px)}
