@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&family=Playfair+Display:wght@700&display=swap";:root{--bg-primary:#f5f3ed;--text-primary:#3d3a36;--accent-olive:#8a8d84;--bg-secondary:#e0dcd6;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Montserrat,sans-serif;font-weight:400;line-height:1.6}body{justify-content:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%}h1,h2,h3{color:var(--text-primary);font-family:Playfair Display,serif;font-weight:700}button{background-color:var(--accent-olive);color:var(--bg-primary);cursor:pointer;border:none;padding:12px 24px;font-family:Montserrat,sans-serif;transition:opacity .3s}button:hover{opacity:.8}.reveal-on-scroll{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(50px)}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#3d3a3699;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-primary);width:100%;max-width:400px;padding:48px;animation:.3s slideUp;position:relative}.modal__close{color:var(--text-primary);cursor:pointer;opacity:.5;background:0 0;border:none;padding:4px 8px;font-size:20px;transition:opacity .2s;position:absolute;top:16px;right:16px}.modal__close:hover{opacity:1}.modal__title{color:var(--text-primary);text-align:center;margin:0 0 36px;font-family:Playfair Display,serif;font-size:28px;font-weight:700}.modal__section{margin-bottom:24px}.modal__label{text-transform:uppercase;letter-spacing:2px;color:var(--accent-olive);margin-bottom:8px;font-family:Montserrat,sans-serif;font-size:12px;font-weight:500;display:block}.modal__contact{color:var(--text-primary);padding:4px 0;font-family:Montserrat,sans-serif;font-size:16px;font-weight:400;text-decoration:none;transition:color .2s;display:block}.modal__contact:hover{color:var(--accent-olive)}.modal__contact--max{color:var(--accent-olive);font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.modal{padding:32px 24px}}.header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f2edd9;justify-content:space-between;align-items:center;padding:24px 48px;display:flex;position:fixed;top:0;left:0;right:0}.header__logo{color:var(--text-primary);letter-spacing:4px;font-family:Playfair Display,serif;font-size:28px;font-weight:700}.header__cta{background-color:var(--accent-olive);color:var(--bg-primary);cursor:pointer;letter-spacing:1px;text-transform:uppercase;border:none;padding:12px 28px;font-family:Montserrat,sans-serif;font-size:14px;font-weight:500;transition:opacity .3s}.header__cta:hover{opacity:.8}@media (width<=480px){.header{padding:16px 24px}.header__logo{letter-spacing:3px;margin-right:12px;font-size:22px}.header__cta{white-space:nowrap;letter-spacing:.5px;padding:10px 18px;font-size:11px}}.hero{background:url(/images/hero.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.hero:after{content:"";background:linear-gradient(#f4f2ed4d,#f4f2edb3);position:absolute;inset:0}.hero__content{z-index:1;text-align:left;max-width:560px;margin-top:360px;margin-left:80px;margin-right:auto;padding:0 24px;position:relative}.hero__title{color:#2a2722;letter-spacing:8px;margin:0 0 24px;font-family:Playfair Display,serif;font-size:80px;font-weight:700;animation:1s fadeInUp}.hero__tagline{color:var(--text-primary);max-width:520px;margin:0 auto;font-family:Montserrat,sans-serif;font-size:18px;font-weight:300;line-height:1.8;animation:1s .3s both fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hero__title{letter-spacing:6px;font-size:52px}.hero__tagline{font-size:15px}}.alternating{background-color:var(--bg-primary)}.alt-block{align-items:center;min-height:60vh;display:flex}.alt-block--right{background-color:var(--bg-secondary);flex-direction:row-reverse}.alt-block__image{flex:2;height:70vh;overflow:hidden}.alt-block__image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.alt-block__image:hover img{transform:scale(1.03)}.alt-block__text{flex:1;padding:60px 48px}.alt-block__text p{color:var(--text-primary);margin:0;font-family:Montserrat,sans-serif;font-size:18px;font-weight:300;line-height:1.7}@media (width<=768px){.alt-block,.alt-block--right{flex-direction:column}.alt-block__image{flex:none;width:100%;height:55vh}.alt-block__text{flex:none;padding:40px 28px}.alt-block__text p{font-size:15px}}.product-grid{background-color:var(--bg-primary);padding:120px 48px}.product-grid__inner{grid-template-columns:repeat(3,1fr);gap:16px;max-width:1400px;margin:0 auto;display:grid}.product-grid__item{overflow:hidden}.product-grid__item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.product-grid__item:hover img{transform:scale(1.04)}@media (width<=768px){.product-grid{padding:80px 16px}.product-grid__inner{grid-template-columns:repeat(2,1fr);gap:8px}}@media (width<=480px){.product-grid__inner{grid-template-columns:1fr}}.closing-quote{background-color:var(--text-primary);text-align:center;padding:140px 48px}.closing-quote__text{color:var(--bg-primary);max-width:800px;margin:0 auto;font-family:Playfair Display,serif;font-size:36px;font-weight:700;line-height:1.5}@media (width<=768px){.closing-quote{padding:80px 32px}.closing-quote__text{font-size:24px}}.footer{background-color:var(--bg-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding:28px 48px;display:flex}.footer__brand{color:var(--text-primary);letter-spacing:3px;font-family:Playfair Display,serif;font-size:18px;font-weight:700}.footer__info{color:var(--accent-olive);font-family:Montserrat,sans-serif;font-size:13px;font-weight:300}.footer__dev{color:var(--accent-olive);opacity:.7;font-family:Montserrat,sans-serif;font-size:13px;font-weight:300;text-decoration:none;transition:opacity .3s}.footer__dev:hover{opacity:1}@media (width<=480px){.footer{text-align:center;flex-direction:column;padding:20px 24px}}.app{width:100%}
