@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600&family=Playfair+Display:wght@400;500&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f3ed;color:#171513;font-family:"Be Vietnam Pro",sans-serif}a{color:inherit}.header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;background:#f7f3edf2;z-index:20;border-bottom:1px solid #ddd4ca}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:.9;letter-spacing:.12em}.brand b{font-family:"Playfair Display";font-size:23px}.brand span{font-size:9px;letter-spacing:.38em;margin-top:7px}.nav{display:flex;gap:22px}.nav a{text-decoration:none;font-size:13px}.hero{height:calc(100vh - 82px);min-height:620px;position:relative;overflow:hidden}.hero img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}.hero img.on{opacity:1}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c0a08aa,#0c0a0815 65%)}.heroText{position:absolute;left:7vw;bottom:12vh;color:#fff;max-width:760px}.heroText h1,.head h2,.intro h2,.contact h2{font-family:"Playfair Display";font-weight:500}.heroText h1{font-size:clamp(42px,6vw,82px);line-height:1.02;margin:16px 0}.heroText span,.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.intro,.contact{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.contact h2{font-size:clamp(34px,4vw,58px)}.albums,.mosaic{padding:90px 5vw;background:#fff}.head{text-align:center;margin-bottom:50px}.head h2{font-size:clamp(42px,5vw,68px);margin:10px}.head i{display:block;width:100px;height:1px;background:#171513;margin:20px auto}.filters{text-align:center;margin-bottom:30px}.filters button{margin:4px;padding:9px 14px;border:1px solid #d8cfc5;background:transparent;border-radius:30px}.filters button.on{background:#171513;color:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{position:relative;height:520px;overflow:hidden;color:#fff;text-decoration:none}.card img{width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:auto 0 0;padding:70px 20px 24px;background:linear-gradient(transparent,#000b);text-align:center}.overlay h3{font:500 30px "Playfair Display";margin:5px}.wide{padding:100px 0;background:#fff}.wide .slide{height:min(650px,58vw);min-height:420px;position:relative}.wide .slide img{width:100%;height:100%;object-fit:cover}.view{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);padding:15px 30px;background:#f7f3ed;text-decoration:none}.video{padding:100px 5vw;text-align:center}.video iframe{width:min(1180px,90vw);aspect-ratio:16/9;border:0}.masonry{columns:4 240px;column-gap:12px}.masonry img{width:100%;margin-bottom:12px}.contact{background:#171513;color:#fff}.buttons{display:flex;flex-direction:column;gap:10px}.buttons a{padding:15px;border:1px solid #6d645c;text-align:center;text-decoration:none}.footer{padding:30px 5vw;display:flex;justify-content:space-between}.gallery{width:min(1100px,92vw);margin:50px auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery img{width:100%}.gallery img:nth-child(3n+1){grid-column:1/-1}.title{text-align:center;padding:70px 20px}.title h1{font:500 clamp(42px,6vw,78px) "Playfair Display"}.panel{width:min(1050px,94vw);margin:40px auto;background:#fff;padding:28px}.row{display:grid;grid-template-columns:110px 1fr 180px auto;gap:10px;align-items:center;border-bottom:1px solid #eee;padding:12px 0}.row img{width:100px;height:80px;object-fit:cover}input,select,textarea,button{font:inherit;padding:10px}button{cursor:pointer}.login{width:min(420px,90vw);margin:12vh auto;background:#fff;padding:35px}.login input{width:100%;margin:7px 0}.login button{width:100%;margin-top:12px;background:#171513;color:#fff;border:0}@media(max-width:800px){.nav{display:none}.cards{grid-template-columns:1fr}.intro,.contact{grid-template-columns:1fr}.hero{height:75vh}.gallery{grid-template-columns:1fr}.gallery img:nth-child(n){grid-column:auto}.row{grid-template-columns:80px 1fr}.row>*:nth-child(n+3){grid-column:2}.masonry{columns:2}.footer{flex-direction:column;gap:10px}}