/* Every rule is opt-in: the original delivered default view is unchanged. */
.cms-hidden { display:none !important; }
.cms-edited-text { overflow-wrap:anywhere; }
.cms-preview-status { position:fixed; right:16px; bottom:16px; z-index:100000; padding:10px 16px; border-radius:6px; background:#007a3d; color:white; font:14px/1.5 system-ui,sans-serif; box-shadow:0 2px 16px #0002; }
.cms-site-logo { width:100%; height:100%; object-fit:contain; }
.cms-registration { color:inherit; text-decoration:none; }
.cms-contact-qrcode { position:absolute; right:100px; top:80px; width:160px; }
.cms-contact-qrcode img { width:160px !important; height:160px !important; position:static !important; object-fit:contain; }
.cms-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; width:1724px; margin:0 auto; color:#333; }
.cms-managed-grid { position:absolute; left:98px; margin:0; z-index:8; pointer-events:auto; background:#f4f5f4; }
.cms-product-card { position:relative; width:100%; min-width:0; height:auto; min-height:580px; padding:0 0 20px; color:inherit; text-align:left; background:none; border:0; cursor:pointer; }
.cms-product-visual { height:460px; width:100%; position:relative; }
.cms-product-card .cms-product-visual img { position:absolute !important; left:0 !important; top:0 !important; width:100% !important; height:100% !important; object-fit:contain; max-width:100% !important; }
.cms-product-card .hover-img { opacity:0; transition:opacity .2s; }
.cms-product-card:hover .hover-img,.cms-product-card:focus-visible .hover-img { opacity:1; }
.cms-product-card h3 { position:static !important; margin:16px 0 8px; font:400 22px/1.4 "Source Han Sans SC",sans-serif; overflow-wrap:anywhere; white-space:normal; }
.cms-product-card p { position:static !important; font:400 18px/1.4 "Source Han Sans SC",sans-serif; margin:0; }
.cms-product-card .quick-buy-pill { position:absolute; left:25px; top:390px; width:calc(100% - 50px); background:#fff; border-radius:24px; font-size:18px; line-height:46px; text-align:center; opacity:0; }
.cms-product-card:hover .quick-buy-pill,.cms-product-card:focus-visible .quick-buy-pill,.cms-product-card.soldout .quick-buy-pill { opacity:1; }
.cms-product-card.soldout .cms-product-visual { opacity:.55; }
.cms-cloud-name,.cms-cloud-price { z-index:12; background:#f4f5f4; color:#333; font:400 20px/1.5 "Source Han Sans SC",sans-serif; text-align:left; overflow-wrap:anywhere; }
.cms-cloud-price { font-size:20px; }
.cms-cloud-soldout { position:absolute; right:8px; top:8px; padding:7px 16px; border-radius:18px; background:#007a3d; color:#fff; font-size:18px; line-height:1.5; pointer-events:none; }
.cms-brand-grid { position:absolute; left:98px; right:98px; top:245px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; z-index:9; }
.cms-brand-card { display:flex; flex-direction:column; text-align:left; color:#333; background:#f4f5f4; min-width:0; font:400 20px/1.5 "Source Han Sans SC",sans-serif; cursor:pointer; padding:0 0 30px; }
.cms-brand-card img { position:relative !important; inset:auto !important; width:100% !important; height:360px !important; object-fit:cover; }
.cms-brand-card h3 { font-size:28px; margin:20px 0 0; }
.cms-brand-card strong,.cms-brand-card p,.cms-brand-card span { margin:8px 0; overflow-wrap:anywhere; }
.cms-brand-card span { color:#007a3d; }
.cms-carousel-label { position:absolute; left:0; top:468px; color:#333; font:400 24px/1.3 "Source Han Sans SC",sans-serif; text-align:left; overflow-wrap:anywhere; }
.cms-brand-index { min-height:2200px; height:auto !important; padding:150px 0 500px; background:#f4f5f4; }
.cms-series-brand-grid { position:relative; inset:auto; width:1724px; margin:0 auto; }
.cms-custom-page { width:1920px; height:auto !important; min-height:1000px; padding-top:120px; color:#333; background:#f4f5f4; }
.cms-feature-banner { position:static !important; display:block; width:1920px !important; height:600px !important; object-fit:cover; }
.cms-feature-heading { width:1724px; padding:80px 0; margin:0 auto; }
.cms-feature-heading h1 { font:400 40px/1.4 "Source Han Sans SC",sans-serif; margin:0 0 22px; }
.cms-feature-heading p { font:400 24px/1.7 "Source Han Sans SC",sans-serif; white-space:pre-line; overflow-wrap:anywhere; }
.cms-custom-page .cms-product-grid { padding-bottom:100px; }
.cms-flow-footer { position:relative !important; inset:auto !important; height:410px !important; margin-top:80px; background:#00783d; }
.cms-city-nav { display:flex !important; align-items:center; gap:25px; padding:0 95px; box-sizing:border-box; overflow:auto; }
.cms-city-nav button { position:static !important; flex:0 0 auto; min-width:160px; padding:0 20px; }
.cms-city-coming { grid-column:1/-1; font-size:28px; text-align:center; padding:50px; color:#666; }
.cms-articles-managed { height:auto !important; padding-top:1030px; }
.cms-article-list { position:relative; display:flex; flex-direction:column; gap:100px; margin:0 98px 120px; }
.cms-article-list .media-feedback-post { position:relative !important; inset:auto !important; width:100%; height:auto !important; min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-bottom:70px; }
.cms-article-list .media-feedback-main { position:static !important; width:100% !important; height:650px !important; object-fit:cover; grid-column:1; }
.cms-article-list .media-feedback-small-grid { position:static !important; width:auto !important; height:auto !important; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-content:start; grid-column:2; grid-row:1; }
.cms-article-list .media-feedback-small-grid img { position:static !important; width:100% !important; height:280px !important; object-fit:cover; }
.cms-article-list .media-feedback-copy { position:static !important; width:auto !important; grid-column:1/-1; }
.cms-article-list .media-feedback-copy h2,.cms-article-list .media-feedback-copy p { position:static !important; overflow-wrap:anywhere; }
.cms-article-list .media-feedback-copy p { max-width:1500px; }
.cms-article-list .media-feedback-download { position:relative !important; inset:auto !important; margin-top:25px; }
.cms-article-list .media-feedback-date { position:static !important; grid-column:1/-1; }
.cms-articles-managed > .home-footer-vector,.cms-events-managed > .home-footer-vector { position:relative !important; inset:auto !important; height:410px; }
.cms-article-link { cursor:pointer; }
.cms-events-managed { height:auto !important; padding-top:1020px; }
.cms-events-managed .events-section { position:relative !important; inset:auto !important; height:auto !important; min-height:0; padding:80px 98px 100px; box-sizing:border-box; transform:none !important; opacity:1 !important; }
.cms-events-managed .events-section__head { position:relative !important; inset:auto !important; margin-bottom:60px; }
.cms-event-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:50px 28px; }
.cms-event-cards .events-card,.cms-event-cards .events-feature { position:relative !important; inset:auto !important; width:auto !important; height:auto !important; min-height:0; }
.cms-event-cards .events-feature { grid-column:1/-1; display:block; margin-bottom:30px; width:1725px !important; }
.cms-event-cards .events-card__image,.cms-event-cards .events-feature__image { position:relative !important; inset:auto !important; width:100% !important; height:420px !important; object-fit:cover; }
.cms-event-cards .events-feature__image { display:block; width:1725px !important; height:580px !important; }
.cms-event-cards .events-card__copy,.cms-event-cards .events-feature__meta { position:relative !important; inset:auto !important; width:auto !important; height:auto !important; padding:24px 0; }
.cms-event-cards .events-card h3,.cms-event-cards .events-card p,.cms-event-cards .events-feature h3,.cms-event-cards .events-feature p { position:static !important; width:auto !important; overflow-wrap:anywhere; }
.cms-event-cards .events-more { position:relative !important; inset:auto !important; margin-top:25px; }
.cms-editorial-detail { height:auto !important; }
.cms-editorial-detail .event-detail-page { height:auto !important; padding-top:170px; }
.cms-editorial-detail .event-detail-main { position:relative !important; inset:auto !important; width:1724px !important; margin:0 auto; height:auto !important; }
.cms-editorial-detail .event-detail-title,.cms-editorial-detail .event-detail-lead,.cms-editorial-detail .event-detail-date,.cms-editorial-detail .event-detail-gallery,.cms-editorial-detail .event-detail-switch,.cms-editorial-detail .event-detail-back { position:relative !important; inset:auto !important; width:auto !important; height:auto !important; transform:none !important; margin:30px 0 !important; overflow-wrap:anywhere; }
.cms-editorial-detail .event-detail-title { font-size:40px; }
.cms-editorial-detail .event-detail-gallery { display:flex; flex-direction:column; gap:30px; }
.cms-editorial-detail .event-detail-gallery img { position:static !important; width:100% !important; height:auto !important; object-fit:contain; }
.cms-article-body { font-size:24px; line-height:1.9; white-space:pre-line; margin:0; }
.cms-editorial-detail .event-detail-switch { display:flex; justify-content:space-between; }
.cms-editorial-detail .event-detail-back { padding:12px 40px; }
.cms-editorial-detail .home-footer-vector { position:relative !important; inset:auto !important; height:410px; margin-top:100px; }
.cms-download-link { color:#00783d; font-size:24px; }
.cms-team-list { display:flex; flex-direction:column; gap:70px; margin-top:100px; }
.cms-team-list .cms-person { position:relative !important; inset:auto !important; height:auto !important; width:1180px; flex:none; margin:0 auto; border-top:1px solid #ddd; padding-top:30px; }
.cms-team-list .about-2-person__copy { position:relative !important; inset:auto !important; overflow-wrap:anywhere; }
.cms-detail-expanded .product-detail-shell { height:auto !important; min-height:1200px; }
.cms-detail-expanded .product-detail-info { height:auto !important; overflow-wrap:anywhere; }
.cms-detail-expanded .product-detail-thumbs { align-self:start; }
.cms-detail-expanded .product-detail-description { position:relative !important; inset:auto !important; margin-top:40px; height:auto !important; }
.cms-detail-expanded .product-detail-description p { white-space:pre-line; }
.design-page.cms-faq-managed { height:auto !important; padding-top:1020px; }
.design-page.cms-faq-managed > img:first-child,.cms-faq-managed .contact-faq { display:none !important; }
.cms-faq-managed .faq-layer { position:relative !important; inset:auto !important; height:auto !important; padding-bottom:75px; transform:none !important; opacity:1 !important; }
.cms-faq-managed > .home-footer-vector { position:relative !important; inset:auto !important; height:400px; transform:none !important; opacity:1 !important; }
.cms-faq-managed .faq-item { overflow-wrap:anywhere; }
.cms-faq-managed .faq-answer { white-space:pre-line; }
.cms-purchase-dialog { position:fixed; inset:0; box-sizing:border-box; width:min(360px,calc(100vw - 40px)); max-width:none; margin:auto; padding:30px; border:0; border-radius:16px; color:#333; background:white; box-shadow:0 12px 60px #0003; text-align:center; font-family:system-ui,sans-serif; }
.cms-purchase-dialog::backdrop { background:#0008; }
.cms-purchase-dialog h2 { margin:0 0 20px; font-size:22px; font-weight:500; }
.cms-purchase-dialog .cms-purchase-close { position:absolute; top:7px; right:10px; padding:0 8px; border:0; background:none; color:#666; font-size:28px; cursor:pointer; }
.cms-purchase-qr-content img { position:static !important; display:block; width:100% !important; height:auto !important; aspect-ratio:1; object-fit:contain; }
.cms-purchase-qr-content p { margin:24px 0 10px; color:#666; font-size:16px; }
