        :root{
            /* ground and ink, tinted, never pure white/black */
            --ivory:#FBF4F6;      /* page ground, pink-wine tint */
            --cream:#FFFFFF;      /* raised surface */
            --ink:#3A1420;        /* body text, warm wine-brown */
            --wine:#950936;       /* accent, the brand */
            --wine-dark:#6f0629;
            --wine-deep:#4b061e;
            --wine-soft:#b5164d;
            --soft:#8a5a68;       /* secondary text */
            /* lines derived from the brand hue, never neutral grey */
            --line:rgba(149,9,54,.16);
            --line-soft:rgba(149,9,54,.09);
            --rose:#f8e9ef;
            --muted:#75666d;
            --white:#fff;
            /* type roles */
            --serif:'Noto Sans Thai','Fraunces','Trirong',Georgia,"Times New Roman",serif;
            --sans:'Noto Sans Thai','Archivo',system-ui,-apple-system,"Segoe UI","Noto Sans Thai",sans-serif;
            /* one curve everywhere */
            --ease:cubic-bezier(.23,1,.32,1);
            --radius:18px;
            --lift:0 26px 64px rgba(58,20,32,.16);
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth;scroll-padding-top:80px}
        body{color:var(--ink);background:var(--ivory);font-family:var(--sans);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-variant-numeric:tabular-nums}
        img,video{display:block;max-width:100%}
        img{height:auto}
        a{color:inherit}
        ::selection{background:var(--wine-soft);color:#fff}

        .wine{color:var(--wine)} .bg-wine{background:var(--wine)!important} .bg-rose{background:var(--rose)!important}

        /* ---- the pill, the only button ---- */
        .btn-wine{background:var(--wine);color:#fff;border-radius:999px;font-weight:600;letter-spacing:.04em;padding:13px 30px;border:1px solid var(--wine);min-height:46px;transition:all .5s var(--ease);display:inline-flex;align-items:center;gap:10px}
        .btn-wine:hover{background:var(--wine-dark);color:#fff;transform:translateY(-2px)}
        .btn-outline-wine{border:1px solid var(--line);color:var(--wine);border-radius:999px;font-weight:600;letter-spacing:.04em;padding:13px 26px;min-height:46px;background:transparent;transition:all .5s var(--ease);display:inline-flex;align-items:center;gap:10px}
        .btn-outline-wine:hover{border-color:var(--wine-soft);color:var(--wine-dark);background:rgba(149,9,54,.04)}

        /* ---- typography: two worlds, no blend ---- */
        .section-title{font-family:var(--serif);color:var(--wine-deep);font-weight:400;font-size:clamp(32px,4.4vw,56px);line-height:1.15;letter-spacing:.01em;max-width:22ch;margin-left:auto;margin-right:auto}
        .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--wine);font-weight:600;margin-bottom:20px}
        .eyebrow::before{content:"";width:34px;height:1px;background:currentColor;flex:0 0 auto}
        .kicker{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--wine);font-weight:600}
        .lede{font-size:clamp(17px,1.5vw,21px);line-height:1.6;max-width:58ch;color:var(--ink)}

        .navbar-brand img{height:46px}
        .hero{background:radial-gradient(circle at 82% 18%,rgba(149,9,54,.10),transparent 34%),linear-gradient(150deg,var(--ivory),#f7e6ed);min-height:100vh;min-height:100dvh;display:flex;align-items:center;padding-top:96px;padding-bottom:26px}
        @media (max-width:575px){ .hero{min-height:auto;padding-top:110px;padding-bottom:48px} }
        .hero h1{font-family:var(--serif);font-size:clamp(38px,5vw,72px);line-height:1.05;letter-spacing:.01em;color:var(--wine-deep);font-weight:400}
        .hero h1 em{font-style:italic;color:var(--wine)}
        .hero .tagline{font-family:var(--serif);font-size:clamp(19px,1.9vw,26px);color:var(--wine);font-style:italic;letter-spacing:.01em}

        .hero-card{background:linear-gradient(150deg,#a30b3d,#4e061f);border-radius:26px;overflow:hidden;aspect-ratio:1/1;box-shadow:var(--lift)}
        .hero-card img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}

        /* ---- hero carousel chrome ---- */
        .hero .carousel-fade .carousel-item{transition:opacity .8s ease-in-out}
        .hero .carousel-fade .carousel-item.active,.hero .carousel-fade .carousel-item-next.carousel-item-start,.hero .carousel-fade .carousel-item-prev.carousel-item-end{opacity:1}
        .hero .carousel-fade .active.carousel-item-start,.hero .carousel-fade .active.carousel-item-end{opacity:0}
        .hero .hero-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:36px}
        .hero .hero-nav .carousel-indicators,.hero .carousel-indicators{position:static;margin:0;display:inline-flex;align-items:center;gap:8px}
        .hero .carousel-indicators [data-bs-target]{width:8px;height:8px;border-radius:50%;background:var(--wine);opacity:.25;border:0;transition:all .3s var(--ease);margin:0}
        .hero .carousel-indicators .active{opacity:1;width:26px;border-radius:999px}
        .hero .carousel-inner{cursor:grab}
        .hero .carousel-inner:active{cursor:grabbing}
        .hero .carousel-inner,.hero .carousel-inner *{user-select:none;-webkit-user-select:none}

        /* ---- grain overlay: kills flat-tint look ---- */
        body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

        .service-card{border:1px solid var(--line-soft);transition:transform .5s var(--ease),box-shadow .5s var(--ease);border-radius:var(--radius);overflow:hidden;background:var(--cream)}
        .service-card:hover{transform:translateY(-5px);box-shadow:var(--lift)}
        .service-card img{height:170px;object-fit:cover;width:100%}
        .service-desc p:last-child{margin-bottom:0}

        .gallery-card{display:block;border-radius:var(--radius);overflow:hidden;cursor:zoom-in;text-decoration:none}
        .gallery-card img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform 1.3s var(--ease);display:block;transform:scale(1.02)}
        .gallery-card:hover img{transform:scale(1.0)}
        .gallery-card figcaption{display:block;padding:10px 4px 2px;color:var(--wine-deep);font-family:var(--serif);font-size:.95rem;background:transparent}

        .promo-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--cream);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
        .promo-card:hover{transform:translateY(-5px);box-shadow:var(--lift)}
        .promo-card img{height:200px;object-fit:cover;object-position:center top;width:100%}

        .review-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);box-shadow:0 1px 0 var(--line-soft)}
        .branch-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease);display:flex;flex-direction:column}
        .branch-card:hover{transform:translateY(-5px);box-shadow:var(--lift)}
        .branch-card .branch-img-wrapper{position:relative;overflow:hidden;height:210px;background:var(--rose)}
        .branch-card .branch-img-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
        .branch-card:hover .branch-img-wrapper img{transform:scale(1.05)}
        .branch-card .branch-badge{position:absolute;top:14px;left:14px;background:var(--wine);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;padding:4px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(58,20,32,.25)}
        [dir="rtl"] .branch-card .branch-badge{left:auto;right:14px}
        .branch-social-btn{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff!important;font-size:14px;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease);box-shadow:0 2px 6px rgba(0,0,0,.12)}
        .branch-social-btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.2);color:#fff!important}
        .branch-social-btn.btn-fb{background:#1877f2}
        .branch-social-btn.btn-ig{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
        .branch-social-btn.btn-tk{background:#010101}
        .branch-social-btn.btn-yt{background:#ff0000}
        .stars{color:#c9a227}
        .text-wine-soft{color:var(--wine-soft)!important}
        
        /* ---- Footer (Dark high-contrast) ---- */
        .site-footer{background:#17030b!important;color:#ffffff!important;font-size:14px;border-top:1px solid rgba(255,255,255,.12)}
        .site-footer h5{font-family:var(--serif);font-size:16px;letter-spacing:.04em;font-weight:600;color:#ffffff!important}
        .site-footer p{color:rgba(255,255,255,.85)!important}
        .site-footer a{color:rgba(255,255,255,.85)!important;text-decoration:none;transition:all .3s var(--ease)}
        .site-footer a:hover{color:#ffffff!important}
        .footer-links li{margin-bottom:8px}
        .footer-links a:hover{color:#fff!important;padding-left:4px}
        [dir="rtl"] .footer-links a:hover{padding-left:0;padding-right:4px}
        .footer-social-link{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;color:#fff!important;font-size:17px;transition:all .3s var(--ease)}
        .footer-social-link:hover{background:var(--wine);border-color:var(--wine-soft);transform:translateY(-2px);color:#fff!important}
        .footer-bottom{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.75)!important}
        .footer-bottom a{color:rgba(255,255,255,.75)!important}
        .footer-bottom a:hover{color:#fff!important}

        /* ---- Floating Contact Speed Dial ---- */
        .floating-contact-wrapper{position:fixed;bottom:24px;right:24px;z-index:1050;display:flex;flex-direction:column;align-items:flex-end}
        [dir="rtl"] .floating-contact-wrapper{right:auto;left:24px;align-items:flex-start}

        .float-toggle-btn{width:56px;height:56px;border-radius:50%;background:var(--wine);color:#fff;border:2px solid #fff;box-shadow:0 8px 24px rgba(58,20,32,.45);display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;transition:all .35s var(--ease);position:relative;outline:none;padding:0}
        .float-toggle-btn:hover{background:var(--wine-dark);transform:scale(1.06)}
        .float-toggle-btn .icon-open{display:block;transition:transform .3s ease}
        .float-toggle-btn .icon-close{display:none;font-size:20px;transition:transform .3s ease}
        .floating-contact-wrapper.active .float-toggle-btn{background:#2a0715;border-color:rgba(255,255,255,.8);transform:rotate(90deg)}
        .floating-contact-wrapper.active .float-toggle-btn .icon-open{display:none}
        .floating-contact-wrapper.active .float-toggle-btn .icon-close{display:block}

        .floating-menu{display:flex;flex-direction:column;gap:12px;margin-bottom:14px;opacity:0;visibility:hidden;transform:translateY(20px) scale(0.9);transition:all .35s var(--ease);pointer-events:none}
        .floating-contact-wrapper.active .floating-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}

        .float-item{display:flex;align-items:center;gap:10px;text-decoration:none;justify-content:flex-end}
        [dir="rtl"] .float-item{justify-content:flex-start;flex-direction:row-reverse}
        .float-item-label{background:rgba(23,3,11,.95);color:#fff;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.35);white-space:nowrap;letter-spacing:.02em;border:1px solid rgba(255,255,255,.2);transition:all .25s ease}
        .float-item:hover .float-item-label{background:var(--wine);transform:translateX(-3px);color:#fff}
        [dir="rtl"] .float-item:hover .float-item-label{transform:translateX(3px)}

        .float-item-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff!important;font-size:20px;box-shadow:0 6px 18px rgba(0,0,0,.3);border:2px solid #fff;transition:transform .25s ease;flex-shrink:0}
        .float-item:hover .float-item-icon{transform:scale(1.1)}
        .float-item-tel .float-item-icon{background:var(--wine)}
        .float-item-line .float-item-icon{background:#06c755}
        .float-item-fb .float-item-icon{background:#1877f2}
        .float-item-ig .float-item-icon{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
        .float-item-tk .float-item-icon{background:#010101}

        /* ---- Navbar Language Switcher (Desktop Dropdown) ---- */
        .lang-dropdown-wrapper{position:relative;display:inline-block}
        .lang-toggle-btn{border:1px solid var(--line);background:var(--cream);color:var(--wine);font-weight:600;font-size:13px;min-height:38px;padding:6px 16px;box-shadow:0 2px 8px rgba(58,20,32,0.06);transition:all .3s var(--ease)}
        .lang-toggle-btn:hover,.lang-dropdown-wrapper.active .lang-toggle-btn{background:var(--wine);color:#fff;border-color:var(--wine)}
        .lang-toggle-btn .chevron-icon{font-size:11px;transition:transform .3s var(--ease)}
        .lang-dropdown-wrapper.active .lang-toggle-btn .chevron-icon{transform:rotate(180deg)}
        .lang-menu-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:210px;background:#ffffff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px rgba(58,20,32,0.18);opacity:0;visibility:hidden;transform:translateY(10px) scale(0.96);transition:all .25s var(--ease);z-index:1060}
        [dir="rtl"] .lang-menu-dropdown{right:auto;left:0}
        .lang-dropdown-wrapper.active .lang-menu-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
        .lang-option-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:13px;font-weight:500;transition:all .2s var(--ease)}
        .lang-option-btn:hover{background:var(--rose);color:var(--wine);transform:translateX(2px)}
        [dir="rtl"] .lang-option-btn:hover{transform:translateX(-2px)}
        .lang-option-btn.active{background:rgba(149,9,54,0.08);color:var(--wine);font-weight:700}

        /* ---- Navbar Language Switcher (Mobile & Tablet direct pills) ---- */
        .lang-switch{display:flex;align-items:center;gap:6px}
        .lang-switch .btn{border-radius:999px;font-size:13px;letter-spacing:.03em;padding:6px 14px;min-height:36px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
        @media (max-width:991.98px){
          .lang-switch{padding:12px 0 6px 0;justify-content:flex-start}
        }
        [dir="rtl"] .me-auto{margin-right:auto!important;margin-left:0!important}
        .pswp__caption{background:linear-gradient(to top,rgba(20,2,10,.85),transparent)}
        .pswp__caption__center{font-family:var(--serif);font-size:1.05rem;color:#fff;text-align:center;padding:20px 16px}
        .pswp__counter{font-family:inherit;letter-spacing:.06em}
		  
		  