@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#271d19;--muted:#74645d;--cream:#fffaf7;--rose:#8b5e52;--rose2:#d8b2a6;--line:#eaded8;--card:#fff;--dark:#2f211c;--shadow:0 16px 45px rgba(70,46,37,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.topbar{background:var(--dark);color:#fff;padding:8px;text-align:center;font-size:12px;letter-spacing:.08em}.nav{position:sticky;top:0;z-index:50;background:rgba(255,250,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.navin{height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-family:'Playfair Display';font-size:25px;font-weight:700;line-height:1}.brand small{display:block;font:600 9px 'DM Sans';letter-spacing:.22em;color:var(--rose);margin-top:7px}.links{display:flex;gap:26px;font-size:14px}.links a:hover,.links a.active{color:var(--rose)}.actions{display:flex;gap:9px}.btn,.iconbtn{border:0;cursor:pointer;font:600 13px 'DM Sans';transition:.2s}.btn{padding:13px 19px;border-radius:999px;background:var(--rose);color:#fff}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(139,94,82,.25)}.btn.outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.iconbtn{width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--line);position:relative}.count{position:absolute;right:-3px;top:-5px;background:var(--rose);color:#fff;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:10px}.hero{padding:58px 0 76px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;color:var(--rose)}h1,h2,h3{font-family:'Playfair Display';margin:0}h1{font-size:clamp(48px,6vw,78px);line-height:1.02;letter-spacing:-.03em}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:620px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-art{position:relative;height:620px}.hero-art .main{width:76%;height:88%;object-fit:cover;border-radius:120px 120px 22px 22px;margin-left:auto;box-shadow:var(--shadow)}.hero-art .float{position:absolute;left:0;bottom:0;width:46%;border:10px solid var(--cream);border-radius:18px;box-shadow:var(--shadow)}.badge{position:absolute;right:-8px;bottom:42px;background:#fff;padding:14px 18px;border-radius:16px;box-shadow:var(--shadow);font-size:12px}.section{padding:82px 0}.section.alt{background:#f7eee9}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-head h2{font-size:44px;line-height:1.1}.section-head p{max-width:520px;color:var(--muted);line-height:1.7}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;min-height:265px;display:flex;flex-direction:column;justify-content:space-between}.service .num{color:var(--rose);font-weight:700;font-size:12px}.service h3{font-size:29px}.service p{color:var(--muted);line-height:1.65}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.product-img{height:380px;background:#eee;overflow:hidden;position:relative}.product-img img{width:100%;height:100%;object-fit:cover;transition:.45s}.product:hover .product-img img{transform:scale(1.035)}.pill{position:absolute;left:14px;top:14px;background:#fff;border-radius:999px;padding:8px 10px;font-size:10px;font-weight:700;letter-spacing:.08em}.product-info{padding:20px}.product-info h3{font-size:22px}.meta{color:var(--muted);font-size:13px;margin:8px 0 16px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.price{font-weight:700;color:var(--rose)}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split img{border-radius:24px;box-shadow:var(--shadow);height:620px;width:100%;object-fit:cover}.steps{display:grid;gap:18px;margin-top:28px}.step{display:flex;gap:18px}.step b{width:34px;height:34px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-items:center;flex:0 0 34px}.step p{margin:3px 0;color:var(--muted);line-height:1.55}.cta{background:var(--dark);color:#fff;border-radius:28px;padding:56px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:42px}.footer{padding:52px 0 30px;background:#201713;color:#f9efea}.footgrid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px}.footer p,.footer a{color:#cdbdb5;font-size:14px;line-height:1.8}.footer .brand{color:#fff}.copyright{border-top:1px solid #4a3931;margin-top:38px;padding-top:20px;color:#9d8e87;font-size:12px}.pagehero{padding:72px 0 42px;text-align:center}.pagehero h1{font-size:60px}.pagehero p{max-width:700px;margin:18px auto;color:var(--muted);line-height:1.7}.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 0 30px}.filter{padding:10px 16px;border:1px solid var(--line);background:#fff;border-radius:999px;cursor:pointer}.filter.active{background:var(--dark);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #ddcec7;border-radius:10px;background:#fff;font:inherit}.field textarea{min-height:130px;resize:vertical}.notice{display:none;margin-top:14px;padding:12px;border-radius:10px;background:#eef6ee;color:#315b31;font-size:13px}.cart{position:fixed;right:-420px;top:0;width:min(390px,92vw);height:100vh;background:#fff;z-index:100;box-shadow:-20px 0 60px rgba(0,0,0,.15);padding:25px;transition:.3s;display:flex;flex-direction:column}.cart.open{right:0}.carthead{display:flex;justify-content:space-between;align-items:center}.cartitems{display:grid;gap:12px;margin:22px 0;overflow:auto}.cartitem{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.cartitem img{width:64px;height:64px;object-fit:cover;border-radius:10px}.close{background:none;border:0;font-size:28px;cursor:pointer}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:90;display:none}.overlay.show{display:block}.mobile{display:none}.menu{display:none;padding:0 18px 18px}.menu a{display:block;padding:10px 0;border-top:1px solid var(--line)}
@media(max-width:900px){.links,.actions .btn{display:none}.mobile{display:inline-grid;place-items:center}.navin{height:68px}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-art{height:520px}.hero-art .main{width:83%}.services,.products{grid-template-columns:1fr 1fr}.section-head{align-items:start;flex-direction:column}.footgrid{grid-template-columns:1fr 1fr}.cta{align-items:flex-start;flex-direction:column}.menu.open{display:block}}
@media(max-width:600px){.wrap{width:min(100% - 24px,1180px)}.hero{padding-top:36px}.hero-art{height:430px}.hero-art .main{width:88%;height:86%}.hero-art .float{width:48%;border-width:6px}.badge{display:none}.services,.products,.footgrid,.formgrid{grid-template-columns:1fr}.section{padding:60px 0}.section-head h2,.cta h2{font-size:34px}.product-img{height:390px}.split img{height:480px}.cta{padding:35px}.pagehero h1{font-size:46px}.field.full{grid-column:auto}}

/* Home studio imagery */
.visual-services .service{padding:0 0 26px;overflow:hidden;min-height:440px}.visual-services .service .num,.visual-services .service>div,.visual-services .service>a{margin-left:26px;margin-right:26px}.visual-services .service .num{margin-top:20px}.service-photo{width:100%;height:210px;object-fit:cover;border-bottom:1px solid var(--line)}.studio-section{background:#fffaf7}.studio-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:300px 300px;gap:18px}.studio-shot{margin:0;position:relative;border-radius:20px;overflow:hidden;background:#eee;box-shadow:var(--shadow)}.studio-shot-large{grid-row:1/3}.studio-shot:last-child{grid-column:2/4}.studio-shot img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.studio-shot:hover img{transform:scale(1.035)}.studio-shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 22px 20px;background:linear-gradient(transparent,rgba(32,23,19,.82));color:#fff;display:flex;flex-direction:column;gap:4px}.studio-shot figcaption b{font-family:'Playfair Display';font-size:22px}.studio-shot figcaption span{font-size:12px;color:#eaded8;line-height:1.5}
@media(max-width:900px){.studio-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 300px 300px}.studio-shot-large{grid-column:1/3;grid-row:auto}.studio-shot:last-child{grid-column:1/3}.visual-services .service{min-height:430px}}
@media(max-width:600px){.studio-grid{grid-template-columns:1fr;grid-template-rows:none}.studio-shot,.studio-shot-large,.studio-shot:last-child{grid-column:auto;grid-row:auto;height:300px}.studio-shot-large{height:390px}.visual-services .service{min-height:auto}.service-photo{height:240px}}

/* Homepage hero: studio equipment + handcrafted bag */
.hero-art-studio{height:620px;position:relative;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:30px}
.hero-art-studio .hero-machine{width:94%;height:62%;margin-left:auto;object-fit:cover;object-position:center;border-radius:34px;box-shadow:var(--shadow)}
.hero-art-studio .hero-bag{left:auto;right:6%;bottom:0;width:40%;height:55%;object-fit:cover;object-position:center;border:10px solid var(--cream);border-radius:22px;box-shadow:0 20px 55px rgba(70,46,37,.18)}
.hero-art-studio .badge{right:auto;left:2%;bottom:34px;max-width:225px}
@media(max-width:900px){.hero-art-studio{height:540px}.hero-art-studio .hero-machine{width:100%;height:62%}.hero-art-studio .hero-bag{width:38%;height:52%;right:5%}}
@media(max-width:600px){.hero-art-studio{height:430px;padding-top:12px}.hero-art-studio .hero-machine{height:58%;border-radius:24px}.hero-art-studio .hero-bag{width:43%;height:50%;right:4%;border-width:6px}.hero-art-studio .badge{display:none}}

/* English / Vietnamese language selector */
.lang-control{height:42px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);background:#fff;border-radius:999px;white-space:nowrap}.lang-control span{font-size:14px}.lang-control select{border:0;outline:0;background:transparent;color:var(--ink);font:600 12px 'DM Sans';cursor:pointer;padding-right:2px}.mobile-lang{display:none;margin-top:12px;width:max-content}
@media(max-width:1050px){.links{gap:16px}.lang-control{padding:0 8px}.lang-control select{max-width:95px}.actions{gap:6px}}
@media(max-width:900px){.actions>.lang-control{display:none}.mobile-lang{display:flex}.menu .lang-control{padding-left:10px}}


/* Mandatory first-visit language gate */
body.language-gate-open{overflow:hidden}
.language-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 18%,rgba(196,154,141,.26),transparent 33%),radial-gradient(circle at 82% 82%,rgba(139,94,82,.18),transparent 34%),#fff9f6;transition:opacity .38s ease,visibility .38s ease}
.language-gate::before,.language-gate::after{content:'';position:absolute;width:220px;height:220px;border:1px solid rgba(139,94,82,.14);border-radius:50%;pointer-events:none}
.language-gate::before{left:-70px;top:-70px}.language-gate::after{right:-80px;bottom:-80px}
.language-gate.leaving{opacity:0;visibility:hidden}
.language-gate-card{position:relative;width:min(620px,100%);padding:58px 48px 48px;text-align:center;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:30px;box-shadow:0 28px 80px rgba(70,46,37,.15)}
.language-gate-mark{width:84px;height:84px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;position:relative;background:var(--dark);color:#fff;font:600 32px 'Playfair Display';letter-spacing:-.08em;box-shadow:0 12px 30px rgba(32,23,19,.18)}
.language-gate-mark span{color:#e8beb1;margin-left:2px}.language-gate-eyebrow{color:var(--rose);font-size:10px;letter-spacing:.22em;font-weight:800;text-transform:uppercase;margin-bottom:10px}
.language-gate h1{font-size:clamp(38px,6vw,58px);line-height:1.05;margin:0;color:var(--ink)}
.language-gate p{margin:18px auto 28px;color:var(--muted);font-size:15px;line-height:1.65}.language-gate p span{font-size:14px}
.language-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.language-choice{appearance:none;border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px 18px;cursor:pointer;text-align:left;color:var(--ink);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.language-choice:hover{transform:translateY(-3px);border-color:#c79d91;box-shadow:0 12px 28px rgba(139,94,82,.13);background:#fffaf8}
.language-choice strong{display:block;font:600 22px 'Playfair Display';margin-bottom:6px}.language-choice small{display:block;color:var(--muted);font:500 12px 'DM Sans'}
@media(max-width:600px){.language-gate{padding:16px}.language-gate-card{padding:42px 20px 24px;border-radius:24px}.language-gate-mark{width:70px;height:70px;font-size:27px}.language-gate-actions{grid-template-columns:1fr}.language-choice{text-align:center;padding:16px}.language-gate h1{font-size:38px}}

/* Language gate fixes */
.language-gate{isolation:isolate;overflow:auto}
.language-gate-card{z-index:1}
.language-choice:focus-visible{outline:3px solid rgba(139,94,82,.28);outline-offset:3px}
body.language-gate-open main,body.language-gate-open footer,body.language-gate-open .topbar,body.language-gate-open .nav{pointer-events:none;user-select:none}


/* Client business information */
.shop-info{background:#241a16;color:#fff;padding:18px 0}.shop-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.shop-info-grid>div{display:flex;flex-direction:column;gap:4px;padding:5px 18px;border-left:1px solid rgba(255,255,255,.18)}.shop-info-grid b{font-family:'Playfair Display';font-size:20px}.shop-info-grid span{font-size:12px;color:#d9c9c1}.shipping-note{font-size:11px;color:var(--rose);font-weight:700;margin-top:10px}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 10px 35px rgba(70,46,37,.06)}.info-card h3{font-size:28px;margin:7px 0 10px}.info-card p{color:var(--muted);line-height:1.65}.info-card a{font-weight:700;color:var(--rose)}.contact-details{display:grid;align-content:start;gap:0}.contact-block{padding:18px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.contact-block:first-of-type{border-top:0}.contact-block>a{color:var(--rose);font-weight:700}.contact-block span{color:var(--muted);font-size:14px}.hours{display:grid;grid-template-columns:1fr auto;gap:8px 18px;font-size:13px}.hours span{color:var(--muted)}.hours strong{font-size:13px}.policy-box{display:grid;grid-template-columns:.65fr 1.35fr;gap:45px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:35px}.policy-box h2{font-size:38px;margin-top:5px}.policy-box p{color:var(--muted);line-height:1.75;margin:0}.shop-detail img{object-fit:contain;background:#fff}.business-strip{padding-top:10px}.product[data-cat="design"] .product-img img{object-fit:contain;background:#f6f3ef;padding:8px}
@media(max-width:900px){.shop-info-grid,.info-cards{grid-template-columns:1fr}.shop-info-grid>div{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:10px 0}.shop-info-grid>div:first-child{border-top:0}.policy-box{grid-template-columns:1fr;gap:15px}}

.facebook-block{gap:12px}.facebook-icon-link{display:inline-flex!important;align-items:center;gap:10px;width:max-content;color:var(--rose)!important;font-weight:700}.facebook-icon-link svg{width:40px;height:40px;padding:9px;border-radius:50%;background:var(--rose);fill:#fff;transition:.2s}.facebook-icon-link:hover svg{transform:translateY(-2px);box-shadow:0 8px 20px rgba(139,94,82,.25)}.facebook-icon-link span{font-size:14px}
.view-switch{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:4px;padding:4px;background:rgba(255,255,255,.94);border-radius:999px;box-shadow:0 5px 18px rgba(0,0,0,.14);z-index:2}.view-btn{border:0;background:transparent;color:var(--ink);padding:7px 13px;border-radius:999px;font:700 11px 'DM Sans';cursor:pointer}.view-btn.active{background:var(--rose);color:#fff}
