:root{--csm-purple:#8a43b5;--csm-deep:#6b328a;--csm-ink:#302235;--csm-serif:"Songti SC","STSong","SimSun",serif;--csm-sans:"PingFang SC","Microsoft YaHei",Arial,sans-serif}
.csm-container{width:calc(100% - 100px);max-width:1240px;min-width:0;margin-left:auto;margin-right:auto}
.csm-header,.csm-footer,.csm-dialog{font-family:var(--csm-sans);box-sizing:border-box}
.csm-header *,.csm-footer *,.csm-dialog *{box-sizing:border-box}
.csm-header a,.csm-footer a,.csm-dialog a{text-decoration:none;color:inherit}
.csm-header{position:fixed;top:0;left:0;right:0;width:100%;max-width:100%;z-index:100;height:98px;color:#fff;background:linear-gradient(110deg,#6b4c7d,#9c7db2);transition:background .25s,box-shadow .25s,height .25s}
.csm-home .csm-header:not(.is-scrolled):not(.is-open){background:transparent}
.csm-header.is-scrolled{height:80px;background:rgba(250,246,255,.94);color:var(--csm-deep);box-shadow:0 3px 24px #43265412;backdrop-filter:blur(16px)}
.csm-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}
.csm-brand{display:inline-flex;align-items:center;gap:13px;flex:none;color:inherit}
.csm-brand-logo{display:block;width:auto;height:52px;flex:none}
.csm-header.is-scrolled .csm-brand-logo,.csm-header.is-open .csm-brand-logo{filter:invert(1);opacity:.72}
.csm-monogram{position:relative;display:block;width:65px;height:67px;font-family:Georgia,"Times New Roman",serif;line-height:1;font-weight:400}
.csm-monogram>span:first-child{position:absolute;font-size:59px;left:0;top:0;letter-spacing:-9px}
.csm-monogram>span:last-child{position:absolute;font-size:52px;left:25px;top:20px;font-style:italic}
.csm-brand-text{display:flex;flex-direction:column;gap:6px;white-space:nowrap}
.csm-brand-text strong{font:600 27px/1 var(--csm-serif);letter-spacing:7px}
.csm-brand-text small{font:9px/1 Arial,sans-serif;letter-spacing:2.6px}
.csm-navigation{display:flex;align-items:center;gap:clamp(22px,3.5vw,55px);height:100%}
.csm-navigation a{position:relative;padding:12px 0;font-size:16px;letter-spacing:1px;white-space:nowrap}
.csm-navigation a:after{content:"";position:absolute;bottom:3px;left:50%;width:0;height:1px;background:currentColor;transform:translateX(-50%);transition:width .2s}
.csm-navigation a:hover:after,.csm-navigation a[aria-current]:after{width:100%}
.csm-menu-toggle{display:none}
.csm-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-width:210px;min-height:54px;padding:13px 30px;border:1px solid #ffffff59;border-radius:40px;background:linear-gradient(180deg,#cc93d7 0%,#a967bd 52%,#8650a5 100%);box-shadow:inset 0 1px 1px #ffffff70,0 5px 16px #82509712;color:#fff!important;font:500 16px/1.5 var(--csm-sans);letter-spacing:1px;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s}
.csm-button:hover{filter:brightness(1.06);box-shadow:0 7px 22px #7e3fa52b;transform:translateY(-2px)}
.csm-button>span{font:25px/1 Arial,sans-serif;letter-spacing:0}
.csm-section-heading{position:relative;display:flex;align-items:center;gap:25px;min-width:0;padding-left:29px}
.csm-section-heading:before{content:"";position:absolute;left:0;top:5px;width:38px;height:36px;border-left:1.5px solid #ac77cd;border-bottom:1px solid #ac77cd;border-radius:50%;transform:rotate(12deg)}
.csm-section-heading h2{position:relative;margin:0;color:#251b2c;font:600 38px/1.35 var(--csm-serif);white-space:nowrap}
.csm-section-heading>span[lang]{position:relative;color:var(--csm-purple);font:bold 13px/1.5 Georgia,serif;letter-spacing:2px;white-space:nowrap}
.csm-section-heading>span[lang]:before{content:"";position:absolute;left:-10px;right:-40px;top:-13px;height:24px;border-top:1px solid #b98bdc57;border-radius:50%;transform:rotate(-8deg)}
.csm-footer{position:relative;overflow:hidden;background:linear-gradient(110deg,#eee4f6,#f2eafb 60%,#e9def4);color:var(--csm-ink);padding:36px 0 25px;scroll-margin-top:90px}
.csm-footer:before{content:"";position:absolute;width:600px;height:650px;right:-110px;top:-150px;opacity:.6;transform:rotate(-36deg);background:repeating-linear-gradient(0deg,transparent 0 46px,#ffffffac 47px 49px,transparent 50px 98px),repeating-linear-gradient(90deg,transparent 0 69px,#ffffffac 70px 72px,transparent 73px 145px);mask-image:linear-gradient(90deg,transparent,#000)}
.csm-footer>.csm-container{position:relative}
.csm-contact-heading{margin-bottom:28px}
.csm-contact-heading .csm-sparkle{font-size:50px;line-height:1;color:#a863d2;margin-left:12px;font-weight:400}
.csm-contact-grid{display:grid;grid-template-columns:minmax(0,32%) minmax(0,1fr) 210px;align-items:center;gap:40px}
.csm-reception{display:block;width:100%;height:auto;aspect-ratio:2.05;object-fit:cover;border-radius:10px;box-shadow:0 5px 14px #5a33700c}
.csm-contact-details{display:flex;flex-direction:column;gap:15px;margin:0;font:normal 16px/1.6 var(--csm-sans)}
.csm-contact-details a{display:flex;align-items:flex-start;gap:15px;width:fit-content;transition:color .2s}
.csm-contact-details a:hover{color:var(--csm-purple)}
.csm-contact-details svg{width:24px;height:24px;flex:none;fill:#8c32c5}
.csm-contact-action{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.csm-contact-action .csm-button{min-width:180px}
.csm-map-pin{position:absolute;right:218px;top:115px;width:54px;height:54px;border:1px solid #ae7bd059;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 15px #b77cdb0a}
.csm-map-pin svg{width:28px;height:28px;fill:#9c4dd1}
.csm-copyright{position:relative;margin-top:45px;text-align:center;color:#8a7f91;font-size:13px;line-height:1.8}
.csm-copyright p{margin:2px 0 0}
.csm-copyright a:hover{color:var(--csm-purple)}
.csm-footer-domain{margin-left:14px;font-size:11px;letter-spacing:1px}
.csm-back-top{position:fixed;right:24px;bottom:26px;z-index:80;display:grid;place-items:center;width:43px;height:43px;border:1px solid #b88bcd91;border-radius:50%;color:var(--csm-purple);background:#fbf7ffed;box-shadow:0 3px 14px #5d356b18;cursor:pointer}
.csm-back-top[hidden]{display:none}
.csm-back-top svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}
.csm-skip-link{position:fixed;left:16px;top:12px;z-index:300;padding:12px 20px;color:#fff;background:var(--csm-deep);transform:translateY(-160%)}
.csm-skip-link:focus{transform:translateY(0)}
.csm-dialog{position:fixed;inset:0;width:min(720px,calc(100% - 40px));max-height:calc(100dvh - 70px);margin:auto;padding:48px;border:1px solid #cfb6df;border-radius:16px;background:#faf6ff;color:var(--csm-ink);box-shadow:0 24px 100px #2c153a40;overscroll-behavior:contain}
.csm-dialog::backdrop{background:#25132e8c;backdrop-filter:blur(7px)}
.csm-dialog-close{position:absolute;right:16px;top:13px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #b998d24d;background:transparent;border-radius:50%;font:28px/1 Arial,sans-serif;color:var(--csm-purple);cursor:pointer}
.csm-dialog-eyebrow{margin:0 0 15px;color:#9160ab;font:10px/1.5 Arial,sans-serif;letter-spacing:2px}
.csm-dialog h2{margin:0 0 26px;font:600 30px/1.4 var(--csm-serif);color:#703a8d}
.csm-dialog-content{font-size:15px;line-height:1.9;display:flow-root}
.csm-dialog-content>img{display:block;width:100%;max-height:310px;object-fit:cover;border-radius:8px;margin-bottom:22px}
.csm-dialog-content>img.csm-dialog-product{float:left;width:42%;max-height:340px;margin:0 25px 15px 0}
.csm-dialog.is-zoom{width:min(620px,calc(100% - 24px));padding:26px}
.csm-dialog.is-zoom .csm-dialog-eyebrow{margin-bottom:10px}
.csm-dialog.is-zoom h2{margin-bottom:14px}
.csm-dialog-content>img.csm-zoom-image{display:block;width:100%;height:auto;max-height:calc(100dvh - 210px);object-fit:contain;margin:0 auto;border-radius:0;background:#fff}
.csm-dialog-content p{margin:0 0 18px}
.csm-dialog-content h3{font:600 21px/1.6 var(--csm-serif);margin:20px 0 12px}
.csm-dialog-content .csm-button{font-size:14px;margin-top:12px}
.csm-dialog-contact{margin:22px 0}
.csm-dialog-contact>a{display:block;color:var(--csm-deep);margin-bottom:10px}
.csm-dialog-options{display:grid;gap:12px}
.csm-dialog-options button{padding:20px;text-align:left;border:1px solid #d7c6e5;border-radius:8px;background:#f1e9f8;color:var(--csm-ink);cursor:pointer}
.csm-dialog-options button:hover{background:#e8d9f4}
.csm-dialog-options strong,.csm-dialog-options span{display:block}
.csm-dialog-options strong{font:600 20px/1.5 var(--csm-serif);margin-bottom:7px}
.csm-dialog-options span{font:13px/1.6 var(--csm-sans);color:#87679b}
.csm-article-label{font-size:12px;color:#9a6bb5;letter-spacing:2px}
html.csm-dialog-open,html.csm-nav-open{overflow:hidden}
.csm-home :focus-visible,.csm-header :focus-visible,.csm-footer :focus-visible,.csm-dialog :focus-visible{outline:2px solid #b176d6;outline-offset:5px}
@media(min-width:1500px){.csm-container{width:calc(100% - 140px);max-width:1380px}}
@media(max-width:1100px){.csm-container{width:calc(100% - 64px)}.csm-header-inner{gap:20px}.csm-navigation{gap:25px}.csm-navigation a{font-size:14px;letter-spacing:0}.csm-brand{gap:8px}.csm-brand-text strong{font-size:23px}.csm-monogram{transform:scale(.85);transform-origin:left center;width:56px}.csm-contact-grid{grid-template-columns:30% 1fr;gap:30px}.csm-contact-action{grid-column:2;justify-content:flex-start;margin-top:-6px}.csm-map-pin{right:65px;top:120px}.csm-section-heading h2{font-size:34px}}
@media(max-width:800px){.csm-container{width:calc(100% - 40px)}.csm-header,.csm-header.is-scrolled{height:76px}.csm-brand{gap:8px}.csm-monogram{height:59px;transform:scale(.75);width:47px}.csm-brand-text strong{font-size:22px;letter-spacing:5px}.csm-brand-text small{font-size:8px;letter-spacing:2px}.csm-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;padding:8px;border:0;border-radius:4px;background:transparent;color:inherit;cursor:pointer}.csm-menu-toggle span{width:25px;height:1.5px;background:currentColor;transition:transform .2s,opacity .2s}.csm-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7.5px) rotate(45deg)}.csm-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.csm-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7.5px) rotate(-45deg)}.csm-navigation{display:none;position:absolute;top:76px;left:0;right:0;height:auto;max-height:calc(100dvh - 76px);overflow:auto;padding:15px 28px 30px;flex-direction:column;gap:0;align-items:stretch;background:#faf5ff;color:var(--csm-deep);box-shadow:0 14px 20px #43265412}.csm-navigation a{font-size:16px;padding:16px 8px;border-bottom:1px solid #b686d421}.csm-navigation a:after{display:none}.csm-navigation a[aria-current]{color:#8d36b3;font-weight:600}.csm-header.is-open{background:#faf5ff;color:var(--csm-deep)}.csm-header.is-open .csm-navigation{display:flex}.csm-button{min-width:185px;min-height:48px;font-size:14px;padding:11px 26px}.csm-section-heading{padding-left:22px;gap:17px}.csm-section-heading h2{font-size:30px}.csm-section-heading>span[lang]{font-size:10px;letter-spacing:1.5px}.csm-section-heading:before{width:30px;height:29px;top:4px}.csm-section-heading>span[lang]:before{right:-15px}.csm-footer{padding-top:30px}.csm-contact-heading .csm-sparkle{font-size:35px;margin:0}.csm-contact-grid{gap:22px;grid-template-columns:1fr 1.4fr}.csm-contact-details{font-size:13px;gap:12px}.csm-contact-details svg{width:20px;height:20px}.csm-contact-details a{gap:9px}.csm-contact-action{grid-column:1/-1;justify-content:center;margin-top:0}.csm-map-pin{display:none}.csm-copyright{font-size:12px;margin-top:30px}.csm-footer-domain{display:block;margin:3px 0 0}.csm-dialog{padding:40px 25px 28px;max-height:calc(100dvh - 36px)}.csm-dialog h2{font-size:25px}.csm-dialog-eyebrow{font-size:8px;letter-spacing:1px}.csm-dialog-content{font-size:14px}.csm-back-top{right:13px;bottom:18px;width:38px;height:38px}}
@media(max-width:480px){.csm-contact-grid{grid-template-columns:1fr}.csm-reception{width:100%;aspect-ratio:2.4}.csm-contact-details{font-size:14px;gap:15px}.csm-contact-heading{margin-bottom:23px}.csm-address-break{display:none}.csm-contact-action{justify-content:flex-start}.csm-dialog-content>img.csm-dialog-product{float:none;width:100%;max-height:260px;object-position:center 35%;margin:0 0 20px}.csm-section-heading h2{font-size:28px}.csm-section-heading{gap:13px}.csm-contact-heading .csm-sparkle{font-size:30px}}
@media(prefers-reduced-motion:reduce){.csm-header,.csm-button,.csm-navigation a:after,.csm-menu-toggle span{transition:none}.csm-button:hover{transform:none}}

/* Keep shared header, contact details and dialogs within narrow viewports. */
.csm-contact-grid>*{min-width:0}
.csm-contact-details a{min-width:0;max-width:100%}
.csm-contact-details a>span{min-width:0;overflow-wrap:anywhere}
.csm-dialog-content{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){
  .csm-contact-grid{grid-template-columns:minmax(0,30%) minmax(0,1fr)}
}
@media(max-width:800px){
  .csm-header-inner{gap:12px}
  .csm-menu-toggle{flex-shrink:0}
  .csm-navigation{width:100%;max-width:100%}
  .csm-section-heading{max-width:100%;flex-wrap:wrap;row-gap:4px}
  .csm-section-heading h2{white-space:normal}
  .csm-button{max-width:100%}
  .csm-contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
}
@media(max-width:480px){
  .csm-contact-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1100px){
  .csm-brand-logo{height:48px}
}
@media(max-width:800px){
  .csm-brand-logo{height:40px}
}
@media(max-width:480px){
  .csm-brand-logo{height:36px}
}
