:root{color-scheme:dark;--rose:#ef0044;--gold:#ffdb9c;--cream:#fff0db;--ease:cubic-bezier(.22,.61,.36,1)}
.dialog-original{width:100%}
.clarity-layer,.dialog-text-clarity{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.clarity-layer{z-index:2}
.section-transition{position:absolute;display:block;z-index:1;pointer-events:none;overflow:hidden}
.home-transition-decor{position:absolute;display:block;z-index:1;pointer-events:none;overflow:hidden}
.home-transition-decor *{pointer-events:none}
.feature-icon-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.company-photo-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.company-photo{position:absolute;background:#f2e9dc;border-radius:7px;overflow:hidden;transition:box-shadow .28s var(--ease)}
.company-photo img{display:block;width:calc(100% - 8px);height:calc(100% - 8px);margin:4px;object-fit:contain;transition:transform .28s var(--ease),filter .28s var(--ease)}
.company-photo.is-hovered{box-shadow:0 0 24px #e5ae5477}
.company-photo.is-hovered img{transform:translateY(-2px);filter:brightness(1.035)}
.design-sheet[data-page=about] .hotspot-highlight:active{background:transparent;filter:none}
.about-service-grid{position:absolute;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));column-gap:2.272727%;row-gap:2.821317%;background:linear-gradient(110deg,#fff0de,#ffead3)}
.about-service-grid::after{content:"";position:absolute;left:100%;top:0;width:.8%;height:100%;background:linear-gradient(90deg,#ffead3 75%,#ffead300)}
.about-service-card{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #f0c291;border-radius:8px;background:linear-gradient(#fff5e7,#ffe5c8);box-shadow:0 3px 8px #b17b3b24;transition:box-shadow .28s var(--ease),filter .28s var(--ease)}
.about-service-card svg{display:block;width:100%;height:100%}
.about-service-card.is-hovered{box-shadow:0 0 20px #e7b26188;filter:brightness(1.035)}
.feature-icon{position:absolute;display:block;appearance:none;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;visibility:hidden;overflow:visible;isolation:isolate}
.feature-icon.is-ready{visibility:visible}
.feature-icon img{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.feature-icon-art{transform-origin:50% 55%;transition:transform .28s var(--ease),filter .28s var(--ease)}
.feature-icon:hover .feature-icon-art,.feature-icon:focus-visible .feature-icon-art{transform:translateY(-7%) rotate(-4deg) scale(1.08);filter:drop-shadow(0 5px 5px #a5092c44)}
.feature-icon:focus-visible{outline:2px solid #bc1b46;outline-offset:3px;border-radius:50%}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#b98a50 #180b08;background:#100706}body{margin:0;min-width:320px;background:#100706;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--cream)}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{cursor:not-allowed}body.dialog-open{overflow:hidden}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;padding:12px 22px;background:#fff0db;color:#480719;border-radius:6px}.skip-link:focus{top:20px}
.site-shell{width:100%;max-width:1920px;margin:0 auto;position:relative;background:#fff0db;isolation:isolate}.design-sheet{position:relative;width:100%;overflow:hidden}.artwork{position:absolute;inset:0;width:100%;line-height:0}.design-slice{position:absolute;left:0;display:block;width:100%;height:auto;margin:0;border:0}.semantic-index{position:absolute;inset:0;pointer-events:none}.hero-effects{position:absolute;top:0;left:0;right:0;height:auto;aspect-ratio:1920/1344;pointer-events:none;z-index:4;overflow:hidden}.petal-canvas{width:100%;height:100%;display:block}
.interaction-layer{position:absolute;inset:0;z-index:5;pointer-events:none}.hotspot{position:absolute;display:block;pointer-events:auto;margin:0;padding:0;appearance:none;border:0;background:transparent;color:transparent;border-radius:var(--radius,10px);cursor:pointer;text-decoration:none;isolation:isolate;touch-action:manipulation;outline-offset:2px;transition:background .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease)}
.hotspot::before,.hotspot::after{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;opacity:0;transition:opacity .28s var(--ease),transform .4s var(--ease)}.hotspot::before{border:1px solid #ffdb9caa;box-shadow:0 0 18px #f7003c50,inset 0 0 18px #ffdb9c12}.hotspot::after{background:linear-gradient(105deg,transparent 18%,#ffe4ae30 48%,transparent 75%);transform:translateX(-30%) scaleX(.7)}
.hotspot:hover::before,.hotspot:focus-visible::before{opacity:1}.hotspot:hover::after{opacity:1;transform:translateX(20%) scaleX(1)}.hotspot:active{background:#ffdfbd14;filter:brightness(1.1)}
.hotspot-highlight{--radius:52px;cursor:default}
.hotspot-highlight::before{border:0;box-shadow:0 0 22px #f4bb6a66,inset 0 0 24px #ffe3ad50}
.hotspot-highlight::after{background:linear-gradient(105deg,transparent 18%,#fff0ce66 48%,transparent 75%)}
.hotspot-highlight:focus-visible::after{opacity:1;transform:translateX(20%) scaleX(1)}
.hotspot-highlight:focus-visible{outline:2px solid #f8d69f;outline-offset:2px}
.hotspot-guarantee{border-radius:50% 50% 14% 14% / 30% 30% 10% 10%}
.hotspot-guarantee::before{border:1px solid #ffe2b0;box-shadow:inset 0 0 28px #f8ba6b88;background:radial-gradient(ellipse at 50% 20%,#fff1c818,transparent 65%)}
.hotspot-guarantee::after{background:linear-gradient(105deg,transparent 25%,#ffe7b52e 48%,transparent 70%)}
.hotspot-nav{--radius:2px}.hotspot-nav::before{inset:12% 6%;border:0;box-shadow:none;background:radial-gradient(ellipse,#f000483b,transparent 70%)}.hotspot-nav::after{inset:auto 18% 8%;height:2px;background:linear-gradient(90deg,transparent,#ffddad,#ff0052,transparent);transform:scaleX(.1);box-shadow:0 2px 10px #f90044}.hotspot-nav:hover::after,.hotspot-nav:focus-visible::after{transform:scaleX(1)}
.hotspot-consult,.hotspot-video,.hotspot-detail{--radius:28px}.click-ripple{position:absolute;width:20px;height:20px;border:1px solid #ffe5b8;border-radius:50%;pointer-events:none;z-index:7;animation:ripple .65s ease-out forwards}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#ce0034,#f2c281,#fff3cb);transform:scaleX(0);transform-origin:left;z-index:60;pointer-events:none;box-shadow:0 0 10px #ed004855}.ambient-spark{position:fixed;width:4px;height:4px;background:#ffe3ad;border-radius:50%;pointer-events:none;z-index:15;box-shadow:0 0 9px #f9c76a;animation:spark .6s ease-out forwards}
.sound-control{position:fixed;right:18px;bottom:20px;z-index:20;border:1px solid #f4d29c55;background:#270d16e8;color:#ffdeb4;backdrop-filter:blur(10px);padding:9px 15px;font-size:12px;letter-spacing:.1em;border-radius:24px;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;pointer-events:none}.sound-control.is-visible,.sound-control:hover,.sound-control:focus-visible{opacity:.88;transform:none;pointer-events:auto}.sound-control[aria-pressed=false]{color:#ddbd9a}
.site-dialog{width:min(1040px,92vw);max-height:90dvh;padding:0;border:1px solid #efd0a47a;border-radius:18px;background:linear-gradient(140deg,#fff5e8,#ffe1bd);color:#35160e;box-shadow:0 32px 120px #000b;overflow:auto}.site-dialog::backdrop{background:#100509d9;backdrop-filter:blur(12px)}.dialog-inner{padding:26px}.dialog-header{display:flex;align-items:center;gap:24px;justify-content:space-between;margin-bottom:18px}.dialog-title{font-family:"Songti SC","Noto Serif SC",serif;font-weight:600;font-size:clamp(20px,3vw,28px);margin:0;line-height:1.5;color:#7d0026}.dialog-close{flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid #b18a6540;border-radius:50%;background:#fff4df;color:#6b102a;font-size:28px;line-height:1;cursor:pointer;transition:transform .3s,background .3s}.dialog-close:hover{transform:rotate(90deg);background:#f7d4ac}.dialog-content{font-size:16px;line-height:1.8}.dialog-art{width:100%;height:auto;display:block;border-radius:10px}.dialog-original{position:relative;overflow:hidden;background:#f6dfc3;border-radius:10px}.dialog-original .design-slice{position:absolute}.dialog-video{display:block;width:100%;aspect-ratio:16/9;background:#120b09;border-radius:10px}.media-pending{position:relative;width:100%;min-height:160px;display:grid;place-items:center;background:#220b0c;color:#ffe3be;border-radius:10px;overflow:hidden}.media-pending img{width:100%;height:auto;display:block;opacity:.45}.media-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#16060c55;text-align:center;letter-spacing:.08em;padding:20px}.contact-options{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:22px}.contact-link{display:inline-block;padding:12px 24px;border-radius:30px;background:linear-gradient(#ef064a,#ac0032);color:#fff4df;text-decoration:none;border:1px solid #daae7d55}.contact-qr{display:block;max-width:260px;width:100%;height:auto;margin:24px auto 10px}.contact-wechat{text-align:center;overflow-wrap:anywhere;font-size:20px}.status-note{padding:30px 12px;text-align:center;color:#793124}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);z-index:100;max-width:90vw;padding:12px 24px;border:1px solid #f0cd9d66;border-radius:30px;background:#260711e8;color:#ffe8c8;box-shadow:0 12px 40px #0006;font-size:14px;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
@keyframes ripple{from{transform:translate(-50%,-50%) scale(0);opacity:.9}to{transform:translate(-50%,-50%) scale(7);opacity:0}}@keyframes spark{from{transform:translate(0,0) scale(1);opacity:.55}to{transform:translate(var(--dx,8px),-24px) scale(0);opacity:0}}
@media(min-width:1921px){body{background:#100706}.site-shell{box-shadow:0 0 100px #0008}}
@media(max-width:640px){.dialog-inner{padding:16px}.site-dialog{width:94vw;border-radius:12px}.dialog-title{font-size:19px}.dialog-close{width:36px;height:36px;flex-basis:36px}.sound-control{right:10px;bottom:12px;padding:8px 12px;font-size:11px}.hotspot::before{box-shadow:0 0 8px #f7003c40}.toast{bottom:24px;font-size:12px;white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-effects,.ambient-spark{display:none}}

/* Motion is confined to controls and transient page/dialog transitions. */
.hotspot{overflow:hidden}
.nav-glide{position:absolute;display:block;height:2px;pointer-events:none;opacity:0;border-radius:2px;background:linear-gradient(90deg,transparent,#ffd99d 22%,#ee0049 78%,transparent);box-shadow:0 2px 8px #ed004844;transition:left .22s var(--ease),top .22s var(--ease),width .22s var(--ease),opacity .16s ease}
.nav-glide.is-visible{opacity:.95}.has-nav-glide .hotspot-nav::after{display:none}
.hotspot-consult.is-in-view::after{animation:consult-glint 1.2s .15s ease-out}
.site-dialog[open] .dialog-inner{animation:dialog-arrive .18s var(--ease)}
.site-dialog.is-language{width:min(620px,92vw)}
.language-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0 22px}
.language-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:108px;padding:18px;border:1px solid #b18a6550;border-radius:12px;background:#fff8ee;color:#481a19;font-size:22px;text-decoration:none;transition:border-color .18s,background .18s}
.language-choice span{font-size:13px;font-weight:400;color:#855f51}.language-choice.is-current{border-color:#d30040;background:#fff0e2}.language-choice:not(:disabled):hover{border-color:#c9003b;background:#ffe8d0}.language-choice:disabled{color:#9a8172;background:#eee5d9;border-style:dashed}.language-note{margin:0;color:#795c4c;font-size:14px;text-align:center}
@keyframes consult-glint{0%{opacity:0;transform:translateX(-75%) scaleX(.6)}40%{opacity:.42}100%{opacity:0;transform:translateX(75%) scaleX(.6)}}
@keyframes dialog-arrive{from{opacity:.8;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* Keep article entry/close immediately interactive across documents. */
@view-transition{navigation:none}
::view-transition-group(root){animation-duration:.18s}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease-out}
@media(max-width:640px){.language-options{gap:10px}.language-choice{font-size:18px;padding:14px 8px}.language-choice span{font-size:11px}.language-note{font-size:13px}}
html[data-effects=off] *,html[data-effects=off] *::before,html[data-effects=off] *::after{animation:none!important;transition:none!important}
html[data-effects=off] .hotspot::before,html[data-effects=off] .hotspot::after,html[data-effects=off] .click-ripple,html[data-effects=off] .ambient-spark,html[data-effects=off] .nav-glide{display:none!important}
html[data-effects=off]::view-transition-old(root),html[data-effects=off]::view-transition-new(root){animation:none!important}
@media(prefers-reduced-motion:reduce){.nav-glide,.click-ripple{display:none!important}.site-dialog[open] .dialog-inner,.hotspot-consult.is-in-view::after{animation:none!important}@view-transition{navigation:none}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}}
@media(prefers-reduced-motion:reduce){.feature-icon:hover .feature-icon-art,.feature-icon:focus-visible .feature-icon-art{transform:none;filter:none}}
html[data-effects=off] .feature-icon:hover .feature-icon-art,html[data-effects=off] .feature-icon:focus-visible .feature-icon-art{transform:none;filter:none}

/* Original card pixels and approved SVG text travel together; clicks add no motion. */
.motion-card-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.motion-card{position:absolute;visibility:hidden;pointer-events:none}
.motion-card.is-ready{visibility:visible}
.motion-card-underlay,.motion-card-art,.motion-card-text{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.motion-card-surface{position:absolute;inset:0;transform-origin:50% 65%;transition:transform .38s var(--ease),filter .38s var(--ease);will-change:transform}
.motion-card.is-hovered{z-index:1}
.motion-card.is-hovered .motion-card-surface{transform:translateY(-1.8%) scale(1.018);filter:drop-shadow(0 9px 10px #b46e3a35) drop-shadow(0 0 11px #ffdc99aa) brightness(1.035)}
.hotspot-motion-card::before,.hotspot-motion-card::after{display:none}
.hotspot-highlight:active{background:transparent;filter:none}
.video-fullscreen{position:absolute;display:block;pointer-events:auto;z-index:2;border:0;padding:0;background:transparent;border-radius:5px;cursor:pointer}
.video-fullscreen:hover,.video-fullscreen:focus-visible{background:#ffe1a52b;box-shadow:0 0 13px #ffdfaa77;outline:1px solid #ffe0ae}
.fullscreen-exit{display:none;position:absolute;right:24px;bottom:24px;padding:10px 18px;border:1px solid #e9c18b;border-radius:24px;background:#210a0ee6;color:#ffe6c1;cursor:pointer;z-index:3}
.media-pending:fullscreen{display:flex;align-items:center;justify-content:center;width:100vw;height:100dvh;background:#0c0608;border-radius:0}
.media-pending:fullscreen .dialog-original{flex:none;width:min(100vw,277dvh);max-height:100dvh;border-radius:0}
.media-pending:fullscreen .fullscreen-exit{display:block}
.media-pending:fullscreen .media-status{margin:0}

/* First approved hero remains the first slide, beneath two new photographic scenes. */
.hero-carousel{position:absolute;left:0;top:0;width:100%;z-index:3;pointer-events:none;container-type:size}
.hero-new-slides{position:absolute;inset:0;overflow:hidden;clip-path:url(#hero-wave-clip)}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% 50%;display:block}
.carousel-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0d0407aa 0,transparent 24%),linear-gradient(90deg,transparent 40%,#12040833 58%,#12040866)}
.carousel-caption{position:absolute;left:49%;right:4%;top:29%;color:#ffeed4;text-shadow:0 3px 18px #0009}
.carousel-eyebrow{font-family:Georgia,serif;font-size:min(1.35cqw,4cqh);letter-spacing:.2em;color:#e9b57d;margin:0 0 1.2cqh}
.carousel-caption h2{font-family:"Songti SC","STSong","SimSun",serif;font-size:min(4.1cqw,12.4cqh);line-height:1.3;font-weight:700;margin:0;letter-spacing:.015em}
.carousel-caption h2 span,.carousel-caption h2 strong{display:block;font-weight:700;white-space:nowrap}
.carousel-caption h2 strong{color:#f5004d}
.carousel-subtitle{font-family:"Songti SC","STSong","SimSun",serif;font-size:min(1.5cqw,4.4cqh);font-weight:600;line-height:1.8;margin:2cqh 0 0;padding-top:1.8cqh;border-top:1px solid #dfbb7f66;color:#f9e3bc;max-width:95%}
.carousel-controls{position:absolute;z-index:2;left:50%;bottom:1.7%;display:flex;align-items:center;gap:2px;transform:translateX(-50%);padding:2px 5px;border:1px solid #ffe2b459;border-radius:28px;background:#260a15b3;backdrop-filter:blur(8px);pointer-events:auto;opacity:0;visibility:hidden;transition:opacity .25s}
.hero-carousel.is-ready .carousel-controls{opacity:1;visibility:visible}
.carousel-controls button{display:grid;place-items:center;width:clamp(18px,1.8vw,32px);height:clamp(18px,1.8vw,32px);padding:0;border:0;border-radius:50%;background:transparent;color:#ffdfb2;cursor:pointer;font-family:Georgia,serif;font-size:clamp(15px,1.5vw,27px);line-height:1;transition:background .2s,color .2s}
.carousel-controls button:hover,.carousel-controls button:focus-visible{background:#fff0cb30;color:#fff8eb}
.carousel-dots{display:flex;align-items:center;gap:1px}
.carousel-dots span{width:clamp(4px,.45vw,8px);height:clamp(4px,.45vw,8px);border:1px solid #ffe4bc99;border-radius:50%;background:#ffeed333;transition:background .25s,transform .25s}
.carousel-dots [aria-pressed=true] span{background:#ef004c;box-shadow:0 0 5px #ef004c99;transform:scale(1.15);border-color:#ffc2d1}
.carousel-controls [data-carousel-pause]{font-size:clamp(9px,.8vw,14px);margin-left:3px;border-left:1px solid #f9dbb133;border-radius:0 50% 50% 0}
@media(prefers-reduced-motion:reduce){.motion-card.is-hovered .motion-card-surface{transform:none;filter:none}.hero-slide{transition:none}}
html[data-effects=off] .motion-card.is-hovered .motion-card-surface{transform:none;filter:none}
.hero-slide.is-base{opacity:1;visibility:visible;z-index:1;transition:none}
.hero-slide.is-active{z-index:2}
.hero-slide.is-base .carousel-caption{visibility:hidden}
.hero-clip-definition{position:absolute;pointer-events:none}
/* Dock controls below the fixed header, clear of the original ribbon on every page. */
.carousel-controls{left:auto;right:2%;top:calc(var(--header-ratio) + 1.2%);bottom:auto;transform:none}
/* A short case-study hero keeps both new faces below the common header. */
.design-sheet[data-page=cases] .hero-slide{background:#16080e}
.design-sheet[data-page=cases] .hero-slide>img{top:var(--header-ratio);left:0;width:80%;height:auto;object-fit:initial;mask-image:linear-gradient(90deg,#000 0 74%,transparent 100%)}
@media(max-width:640px){.design-sheet[data-page=cases] .carousel-caption{top:40%}.design-sheet[data-page=cases] .carousel-eyebrow{display:none}.design-sheet[data-page=cases] .carousel-subtitle{font-size:3.6cqh}}
.site-dialog.is-media-fullscreen{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;background:#0c0608;overflow:hidden}
.site-dialog.is-media-fullscreen .dialog-inner{padding:0;animation:none}
.site-dialog.is-media-fullscreen .dialog-header{display:none}
.media-pending.is-expanded{display:flex;align-items:center;justify-content:center;width:100vw;height:100dvh;background:#0c0608;border-radius:0}
.media-pending.is-expanded .dialog-original{flex:none;width:min(100vw,277dvh);max-height:100dvh;border-radius:0}
.media-pending.is-expanded .fullscreen-exit{display:block}
.media-pending.is-expanded .media-status{margin:0}
/* Source lettering and icons stay fixed above the rotating photographic backgrounds. */
.hero-fixed-content{position:absolute;inset:0;z-index:3;pointer-events:none}
.hero-fixed-art{position:absolute;display:block;visibility:hidden;pointer-events:none}
.hero-carousel.has-fixed-art .hero-fixed-art{visibility:visible}
.hero-fixed-text{position:absolute;inset:0;width:100%;height:100%;visibility:hidden;pointer-events:none}
.hero-carousel.has-fixed-art .hero-fixed-text{visibility:visible}
.carousel-controls{z-index:4}

/* Quiet markers follow each first-screen ribbon at the lower right. */
.design-sheet .carousel-controls{right:5.7%;top:calc(var(--carousel-marker-top,81%) - 20px);bottom:auto;left:auto;gap:0;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;box-shadow:none;transform:none}
.design-sheet .carousel-dots{gap:0}
.design-sheet .carousel-dots button{width:14px;height:14px;background:transparent;border-radius:50%}
.design-sheet .carousel-dots span{width:2px;height:2px;border:0;background:#f5dfbd;opacity:.08;box-shadow:none;transform:none}
.design-sheet .carousel-dots [aria-pressed=true] span{background:#f5dfbd;border:0;opacity:.16;box-shadow:none;transform:none}
.design-sheet .carousel-dots button:hover span{opacity:.20}
.design-sheet .carousel-dots button:focus-visible{outline:1px solid #f5dfbd;outline-offset:1px;background:#2c0e18}
.design-sheet .carousel-dots button:focus-visible span{opacity:1}
.design-sheet .carousel-controls>[data-carousel-prev],.design-sheet .carousel-controls>[data-carousel-next],.design-sheet .carousel-controls>[data-carousel-pause]{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);border:0}
.design-sheet .carousel-controls>[data-carousel-prev]:focus-visible,.design-sheet .carousel-controls>[data-carousel-next]:focus-visible,.design-sheet .carousel-controls>[data-carousel-pause]:focus-visible{width:26px;height:26px;clip-path:none;overflow:visible;background:#280d17;color:#ffdfb2;border:1px solid #ddba86;border-radius:50%;font-size:16px;outline:2px solid #ffe3b7}
.design-sheet [data-carousel-prev]:focus-visible{right:calc(100% + 5px)}
.design-sheet [data-carousel-next]:focus-visible{left:calc(100% + 5px)}
.design-sheet [data-carousel-pause]:focus-visible{right:0;top:calc(100% + 5px)}
.scenario-badge{position:absolute;right:3%;top:2%;padding:3px 7px;border:1px solid #edcc9c99;border-radius:4px;background:#2a0c18e8;color:#fff1d8;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(8px,.8vw,15px);font-weight:400;line-height:1.5;letter-spacing:.02em;pointer-events:none;text-shadow:none;box-shadow:0 1px 4px #0002}
.design-sheet[data-page=cases] .scenario-badge{left:2%;right:auto}
.site-dialog.is-video-dialog{width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:0;border-radius:0;background:transparent;color:#f6dfbb;box-shadow:none;overflow:visible}
.site-dialog.is-video-dialog::backdrop{background:rgba(0,0,0,.28);backdrop-filter:none}
.site-dialog.is-video-dialog .dialog-inner{position:relative;padding:48px 0 0}
.site-dialog.is-video-dialog .dialog-header{display:block;height:0;margin:0;padding:0;background:transparent}
.site-dialog.is-video-dialog .dialog-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-dialog.is-video-dialog .dialog-close{position:absolute;top:0;right:0;z-index:5;width:44px;height:44px;flex-basis:44px;border:1px solid #e4bd7b99;border-radius:50%;background:#0003;color:#f5d49b;font-size:32px;box-shadow:none;transition:background .2s,border-color .2s}
.site-dialog.is-video-dialog .dialog-close:hover{transform:none;background:#0006;border-color:#f5d49b}
.site-dialog.is-video-dialog .dialog-close:focus-visible{outline:2px solid #f5d49b;outline-offset:3px}
.site-dialog.is-video-dialog.has-video{width:min(1040px,calc(100vw - 32px),calc((100dvh - 100px) * var(--video-ratio,1.777778)))}
.video-duration-layer{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}
.video-player{width:100%;position:relative}
.video-player .dialog-video{display:block;width:100%;height:auto;aspect-ratio:auto;max-width:100%;max-height:calc(100dvh - 100px);margin:auto;object-fit:contain;background:transparent;border-radius:4px}
.video-player-status{position:absolute;inset:50% 12px auto;padding:10px 12px;margin:0;text-align:center;color:#f6dfbb;background:#000b;border-radius:6px;font-size:14px}
.video-player-retry{position:absolute;top:calc(50% + 64px);left:50%;transform:translateX(-50%);display:block;margin:0;padding:8px 24px;border:1px solid #c69d6c;border-radius:22px;background:#000b;color:#f6dfbb;font:inherit;cursor:pointer}
.video-player-retry[hidden],.video-player-status[hidden]{display:none}
.video-library{margin-top:22px;border-top:1px solid #cba17166;padding-top:16px}
.is-video-dialog .video-library{margin:0;padding:18px;border:0;border-radius:8px;background:#0004}
.video-library h3{font-family:"Songti SC","STSong",serif;font-size:21px;color:#f6dfbb;margin:0 0 16px}
.video-library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.video-library-choice{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px;border:1px solid #ddb98c66;border-radius:8px;background:#0003;color:#f6dfbb;font:inherit;cursor:pointer}
.video-library-choice img{display:block;width:100%;height:110px;object-fit:contain;background:#1a0c11;border-radius:5px}
.video-library-choice span{font-family:"Songti SC","STSong",serif;font-size:20px}
.video-library-choice small{color:#dbc5a4;font-size:12px}
.video-library-choice:hover,.video-library-choice:focus-visible{border-color:#f0cb90;background:#0006}
.hotspot-video-library{display:grid;place-items:center;border:1px solid #c39161;border-radius:28px;background:linear-gradient(#fff4dd,#efd2ab);color:#7c1731;font-family:"Songti SC","STSong",serif;font-size:clamp(6px,1.1vw,22px);box-shadow:0 2px 7px #95561818}
.video-library-label{pointer-events:none}
.site-dialog.is-video-dialog .media-pending{background:#0003}
.site-dialog.is-media-fullscreen.is-video-dialog{width:100vw;max-height:100dvh;background:#0004}
.site-dialog.is-media-fullscreen.is-video-dialog .dialog-inner{padding:56px 16px 16px}
.site-dialog.is-media-fullscreen.is-video-dialog .dialog-header{display:block;height:0;background:transparent}
.site-dialog.is-media-fullscreen.is-video-dialog .dialog-close{top:8px;right:16px}
.site-dialog.is-media-fullscreen.has-video .video-player{height:calc(100dvh - 72px);display:grid;place-items:center}
.site-dialog.is-media-fullscreen.has-video .dialog-video{width:auto;max-height:calc(100dvh - 72px);max-width:100%}
@media(max-width:640px){.video-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-library-choice img{height:130px}.site-dialog.is-video-dialog:not(.has-video){overflow:auto}.site-dialog.is-video-dialog .dialog-close{position:sticky;float:right;margin-top:-48px}.site-dialog.is-video-dialog.has-video .dialog-close,.site-dialog.is-media-fullscreen.is-video-dialog .dialog-close{position:absolute;float:none;margin:0}}

/* Native, reader-visible full copy. Available with JavaScript and images disabled. */
.page-copy{background:#fff6eb;color:#3b2222;border-top:1px solid #dfb47f;font-size:17px;line-height:1.85}
.page-copy>summary{padding:20px clamp(20px,4vw,64px);cursor:pointer;color:#80122c;font-weight:600;min-height:60px}
.page-copy>summary span{font-size:14px;color:#775c48;font-weight:400;margin-left:16px}
.page-copy-content{max-width:1080px;margin:auto;padding:0 28px 36px;overflow-wrap:anywhere}
.page-copy-toc{display:flex;flex-wrap:wrap;gap:8px 20px;padding:20px 0;border-bottom:1px solid #e5cdb1}
.page-copy a{color:#8e1634;text-underline-offset:4px}
.page-copy-section{padding:24px 0;border-bottom:1px solid #e5cdb1;scroll-margin-top:24px}
.page-copy-section h2{font-family:"Songti SC","STSong",serif;font-size:27px;line-height:1.4;color:#521325;margin:0 0 18px}
.page-copy-block{margin:0 0 14px}.page-copy-block p{margin:2px 0}.page-copy-links{padding-left:24px}
.page-copy-back{display:inline-block;margin-top:24px}.text-site-footer{background:#1c0b0f;color:#f7dfb9;padding:20px 24px;font-size:15px}
.text-site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px}.text-site-footer a{text-underline-offset:5px}
@media(max-width:640px){.page-copy{font-size:16px}.page-copy-content{padding:0 20px 28px}.page-copy>summary span{display:block;margin-left:18px}.page-copy-section h2{font-size:24px}}
@media print{.design-sheet,.sound-control,.toast,.site-dialog,.scroll-progress{display:none!important}.page-copy>summary{display:none}.page-copy::details-content{display:block!important}.page-copy-content{display:block!important}.page-copy{border:0;background:white;color:black}}

/* Default design stays pixel-for-pixel unchanged. Keyboard users can open a readable equivalent. */
.page-copy{position:absolute;top:0;left:0;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.page-copy:target,.page-copy:has(:target){position:relative;top:auto;left:auto;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;border-top:1px solid #dfb47f}
.site-shell:has(.page-copy:target) .design-sheet,.site-shell:has(.page-copy :target) .design-sheet{display:none}
.skip-copy:focus{top:72px}.lossless-picture{display:contents}
@media print{.page-copy{position:static;width:auto;height:auto;clip-path:none;white-space:normal;overflow:visible}.text-site-footer{background:white;color:black}}

/* Closing an article restores the source without a smooth page-top detour. */
html[data-reading-restoring]{scroll-behavior:auto!important;overflow-anchor:none}
html[data-reading-restoring]::view-transition-old(root),html[data-reading-restoring]::view-transition-new(root){animation:none!important}
.motion-card[data-motion-card^="home-team-card"].is-hovered .motion-card-surface,
.motion-card[data-motion-card^="home-process-card"].is-hovered .motion-card-surface{transform:translateY(-4%) scale(1.035);filter:drop-shadow(0 15px 12px #a75b394d) brightness(1.035)}

/* Inline tiny previews paint immediately; original exact pixels cover them
   as each full-resolution slice arrives. No full-page loading mask. */
.design-sheet{background:#fff0db}.design-slice[data-preview]{background-repeat:no-repeat;background-color:#f8e5cc}

/* Native disclosure: real HTML is user-readable without JavaScript or image loading. */
.page-reading-panel{background:#fff3e3;color:#502331;border-top:1px solid #d9b98a}
.page-reading-panel>summary{padding:18px 30px;cursor:pointer;font:16px/1.6 system-ui;text-align:center}
.page-reading-panel .page-copy{position:static;top:auto;left:auto;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}
.page-reading-panel:not([open]):has(.page-copy:target),.page-reading-panel:not([open]):has(.page-copy :target){display:block}
@media print{.page-reading-panel::details-content{display:block!important}.page-reading-panel>summary{display:none}}
