:root{--wine:#5a1015;--text:#171717;--max:1205px}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--text);background:#fff;font-family:Montserrat,Arial,sans-serif}
    a{color:inherit}
    .site-header{height:168px;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(24px,6vw,112px);background:#fff;position:relative;z-index:5}
    .brand{display:flex;align-items:center;justify-content:center;width:190px;height:138px;flex-shrink:0;text-decoration:none}
    .brand img{max-width:100%;max-height:100%;object-fit:contain}
    .brand-fallback{display:none;color:var(--wine);font-family:Georgia,serif;font-size:28px;line-height:1.05;font-weight:bold;text-align:center}
    .nav-wrap{display:flex;align-items:center;gap:clamp(20px,3.7vw,70px)}
    .main-nav{display:flex;align-items:center}
    .main-nav a{padding:7px 19px;border-right:1px solid #222;font-size:16px;font-weight:300;text-decoration:none;white-space:nowrap}
    .main-nav a:last-child{border-right:0}
    .main-nav a:hover,.main-nav a[aria-current=page]{color:var(--wine)}
    .book-btn{display:inline-flex;align-items:center;justify-content:center;min-width:205px;min-height:50px;padding:12px 26px;background:#000;color:#fff;text-decoration:none;letter-spacing:2px;font-size:20px;font-weight:400}
    .book-btn:hover{background:var(--wine)}
    .menu-toggle{display:none;border:1px solid #ddd;background:#fff;font-size:24px;padding:7px 12px;cursor:pointer}
    .gallery-main{max-width:var(--max);margin:0 auto;padding:30px 18px 90px}
    .page-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
    .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
    .gallery-card{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;border:0;padding:0;background:#f3f3f3;cursor:zoom-in;position:relative}
    .gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
    .gallery-card:hover img{transform:scale(1.035)}
    .gallery-card:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
    .image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;background:linear-gradient(135deg,#e9eeee,#c8d4d8);color:#4b5558;font-size:14px}
    .load-note{text-align:center;color:#666;font-size:13px;margin:24px 0 0}
    .lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:20;align-items:center;justify-content:center;padding:60px 70px}
    .lightbox.open{display:flex}
    .lightbox img{max-width:min(100%,1200px);max-height:100%;object-fit:contain;box-shadow:0 8px 40px #0008}
    .lightbox button{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;font-size:38px;line-height:1;padding:12px}
    .lightbox-close{top:18px;right:24px}
    .lightbox-prev{left:16px;top:50%;transform:translateY(-50%)}
    .lightbox-next{right:16px;top:50%;transform:translateY(-50%)}
    .lightbox-counter{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff;font-size:14px}
    .site-footer{
      background-color:#fff;
      background-image:url("assets/footer.png");
      background-repeat:no-repeat;
      background-position:center 20px;
      background-size:min(100%,1000px) auto;
      color:#171717;
      text-align:center;
      padding:200px 20px 24px;
      border-top:1px solid #eee;
    }
    .site-footer h2{margin:0 0 24px;font-size:23px;font-weight:600;color:#171717}
    .footer-contact{margin:0 0 28px;font-size:16px;font-weight:500;line-height:1.8;color:#333}
    .footer-contact a{margin-left:8px;font-size:16px;font-weight:500;color:#5a1015;text-underline-offset:4px}
    .socials{display:flex;justify-content:center;gap:14px;margin-bottom:28px}
    .socials a{
      color:#5a1015;text-decoration:none;font-size:17px;font-weight:600;
      width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
      border:1px solid #d9c4c4;border-radius:50%;transition:background .2s,transform .2s;
    }
    .socials a:hover{background:#f7eeee;transform:translateY(-3px)}
    .socials a svg{width:20px;height:20px;display:block}
    .legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:38px;margin-bottom:24px}
    .legal-links a{font-size:13px;font-weight:600;color:#333;text-decoration:none;letter-spacing:.5px}
    .legal-links a:hover{color:#5a1015}
    .copyright{margin:0;padding-top:18px;border-top:1px solid #e5e5e5;font-size:12px;font-weight:400;color:#666}
    @media(max-width:900px){
      .site-header{height:auto;min-height:115px;padding:12px 24px}
      .brand{width:135px;height:95px}
      .menu-toggle{display:block;margin-left:auto}
      .nav-wrap{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:20px 24px 25px;flex-direction:column;align-items:stretch;gap:18px;box-shadow:0 8px 12px #00000012}
      .nav-wrap.open{display:flex}
      .main-nav{flex-direction:column;align-items:stretch}
      .main-nav a{border-right:0;border-bottom:1px solid #eee;padding:14px 4px}
      .book-btn{width:100%;min-width:0}
      .gallery-main{padding-top:22px}
      .gallery-grid{gap:16px}
      .site-footer h2{margin-bottom:32px;font-size:20px}
      .footer-contact{margin-bottom:35px;font-size:16px}
      .footer-contact a{display:block;margin:4px 0 0}
      .legal-links{gap:24px;margin-bottom:35px}
    }
    @media(max-width:600px){
      .site-header{min-height:92px;padding:8px 16px}
      .brand{width:108px;height:76px}
      .gallery-main{padding:18px 12px 55px}
      .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
      .lightbox{padding:50px 12px}
      .lightbox-prev{left:0}
      .lightbox-next{right:0}
      .lightbox button{font-size:30px}
      .site-footer{background-size:100% auto;background-position:center 15px;padding:125px 18px 25px}
      .site-footer h2{font-size:18px;line-height:1.6;margin-bottom:28px}
      .footer-contact{font-size:14px;margin-bottom:30px;line-height:1.8}
      .footer-contact a{display:block;margin:4px 0 0}
      .legal-links{gap:22px}
      .copyright{font-size:12px;line-height:1.7}
    }
