/* Local website refinement: keep the cinematic background, make the experience clearer. */
a:focus-visible,button:focus-visible { outline:2px solid #be9564; outline-offset:5px; }
[hidden] { display:none !important; }
.text-link { display:inline-flex; align-items:center; gap:8px; color:#8a623b; font-size:13px; line-height:1.7; border-bottom:1px solid #ccb69a; padding-bottom:3px; }
.home-hero-video { padding:102px 0 54px; }
.home-hero-video .hero-video-layout { grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr); gap:clamp(36px,6vw,86px); }
.home-hero-video h1 { font-size:clamp(42px,4.6vw,67px); line-height:1.25; }
.home-hero-video .hero-description { max-width:600px; font-size:15px; line-height:1.95; }
.home-hero-video .hero-actions { margin-top:30px; }
.preview-background .hero-demo-real { width:min(100%,302px); justify-self:center; padding:10px 10px 17px; border:1px solid rgba(239,224,207,.3); border-radius:30px; background:rgba(43,37,32,.34); backdrop-filter:blur(20px); box-shadow:0 24px 70px rgba(0,0,0,.24); overflow:visible; }
.demo-topline { width:100%; padding:6px 8px 14px; display:flex; justify-content:space-between; align-items:center; gap:8px; color:#eee4d8; font-size:10px; }
.demo-topline span { display:flex; align-items:center; gap:6px; }
.demo-topline i { width:5px; height:5px; border-radius:50%; background:#ddc195; box-shadow:0 0 10px #be9564; }
.demo-topline small { color:rgba(255,255,255,.56); font-size:9px; }
.preview-background .hero-demo-frame { position:relative; width:100%; height:auto; aspect-ratio:9/16; display:block; flex:none; overflow:hidden; border-radius:21px; background:#302a24; }
.preview-background .hero-demo-video { width:100%; height:100%; min-height:0; max-height:none; object-fit:contain; display:block; }
.preview-background .hero-demo-caption { width:100%; padding:17px 9px 0; color:#f2e7d8; background:transparent; }
.preview-background .hero-demo-caption strong { color:#f2e7d8; font-size:16px; line-height:1.6; }
.preview-background .hero-demo-caption p { margin-top:5px; color:rgba(255,255,255,.6); font-size:11px; line-height:1.75; }
.demo-play { position:absolute; inset:0; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; border:0; color:#fff; cursor:pointer; background:linear-gradient(transparent 15%,rgba(15,18,20,.1) 50%,rgba(15,18,20,.3)); }
.demo-play-circle { width:68px; height:68px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:rgba(247,236,220,.2); backdrop-filter:blur(10px); box-shadow:0 8px 25px rgba(0,0,0,.16); transition:background .2s,transform .2s; }
.demo-play svg { width:28px; height:28px; }
.demo-play:hover .demo-play-circle { transform:scale(1.07); background:rgba(247,236,220,.34); }
.demo-play-label { padding:6px 12px; border-radius:20px; background:rgba(16,17,18,.34); backdrop-filter:blur(8px); font-size:12px; letter-spacing:.05em; }
.demo-player-status { display:block; color:#ead4b5 !important; font-size:11px; }
.start-paths { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.start-paths > a { padding:35px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:24px; background:#faf7f2; }
.start-paths span { color:#a67e4e; font-size:11px; }
.start-paths h3 { margin:22px 0 15px; font:500 28px/1.4 var(--display); }
.start-paths p { margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.start-paths b { margin-top:28px; color:#8a623b; font-weight:500; font-size:13px; }
.gentle-note { margin:25px 0 0; color:var(--dim); font-size:12px; line-height:1.8; }
.home-services .delivery-card h3 { margin-top:65px; }
.home-services .delivery-card p { font-size:13px; line-height:1.9; }
.section-head > p,.section-head > div + p { font-size:14px; line-height:1.9; }
.digital-human-data strong { font-size:clamp(28px,3.1vw,47px); }
.faq-home-grid p { font-size:12px; }
/* A real, unmodified poster QR sits alongside a short self-service introduction. */
.meet-again-feature { padding:112px 0 62px; background:radial-gradient(ellipse at 85% 0%,#e8ddcf,transparent 65%),#f8f5ef; }
.meet-again-feature .product-feature-grid { grid-template-columns:minmax(0,1.1fr) minmax(320px,.85fr); align-items:center; gap:clamp(35px,5vw,72px); }
.meet-again-feature .product-feature-copy h1 { margin:0 0 22px; font:500 clamp(36px,4vw,54px)/1.28 var(--display); letter-spacing:-.04em; }
.product-feature-copy .product-intro { max-width:600px; color:#6d6257; font-size:15px; line-height:1.95; }
.self-create-badge { display:inline-block; margin:22px 0 4px !important; padding:8px 13px; border:1px solid #d9c5a8; border-radius:30px; color:#8b623d !important; background:#f6eee1; font-size:12px !important; }
.creation-steps { list-style:none; counter-reset:none; display:grid; margin:13px 0 21px !important; padding:0 !important; }
.product-feature-copy .creation-steps li { display:flex; gap:17px; align-items:start; padding:15px 0; border-bottom:1px solid #e7ddd0; }
.product-feature-copy .creation-steps li::before { display:none; }
.creation-steps > li > span { width:31px; height:31px; flex:none; display:grid; place-items:center; border:1px solid #d8c2a4; border-radius:50%; color:#9d7545; font-size:11px; }
.creation-steps h3 { margin:0 0 6px; font-size:16px; font-weight:550; }
.product-feature-copy .creation-steps p { margin:0; font-size:12px; line-height:1.85; }
.product-feature-copy .product-boundary { margin:17px 0 0; font-size:11px; line-height:1.8; }
.meet-again-entry.experience-card { display:block; width:100%; min-height:0; padding:0; border-radius:28px; overflow:hidden; border:1px solid #d9c9b7; color:#33291f; background:#f9f5ed; box-shadow:0 24px 65px rgba(71,47,24,.1); }
.experience-art { position:relative; height:263px; overflow:hidden; background:#bd9d78; }
.experience-art > img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 49%; }
.experience-art::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 52%,rgba(32,23,14,.48)); }
.experience-art > span { position:absolute; bottom:22px; left:27px; z-index:1; color:#fff6e8; font:500 22px/1.5 var(--display); }
.experience-bottom { padding:27px 26px 18px; display:grid; grid-template-columns:minmax(0,1fr) 166px; gap:12px; align-items:center; }
.experience-bottom .eyebrow { margin:0; color:#9d764b; font-size:9px; }
.experience-bottom h2 { margin:12px 0; font:500 26px/1.3 var(--display); }
.experience-bottom p { margin:0 0 13px; color:#7b6c5d; font-size:12px; line-height:1.9; }
.experience-bottom .text-link { font-size:11px; }
.poster-qr-link { display:block; width:100%; max-width:184px; background:#fff; border-radius:13px; box-shadow:0 5px 20px rgba(65,41,20,.06); }
.poster-qr-window { display:block; width:100%; aspect-ratio:1; position:relative; overflow:hidden; border-radius:13px; background:#fff; }
/* Original 941 x 1672 poster; expose its 234 x 234 QR card at (354,1265). */
.poster-qr-window img { position:absolute; width:402.137%; max-width:none; height:auto; left:-151.282%; top:-540.598%; }
.meet-again-entry.experience-card .entry-note { margin:0; padding:0 26px 19px; text-align:right; color:#947a60; font-size:10px; }
.experience-options { display:flex; flex-wrap:wrap; gap:9px; padding:18px 26px; border-top:1px solid #e4d9ca; background:#eee4d6; }
.experience-options span { color:#8b7053; font-size:11px; }
.experience-options span + span::before { content:'·'; margin-right:9px; }
/* Give stories and long articles a calmer reading rhythm. */
.page-hero.case-index-hero,.page-hero.faq-index-hero { padding:112px 0 38px; min-height:0; }
.page-hero.case-index-hero h1,.page-hero.faq-index-hero h1 { font-size:clamp(34px,4vw,52px); line-height:1.3; }
.page-hero.case-index-hero p:last-child,.page-hero.faq-index-hero p:last-child { max-width:690px; font-size:14px; line-height:1.9; }
.case-editorial-copy h2 { font-size:clamp(26px,2.8vw,35px); line-height:1.45; }
.case-editorial-copy p { font-size:14px; line-height:1.95; }
.case-interlude p { font-size:25px; line-height:1.7; }
.case-teasers .case-teaser:not(:first-child) p:not(.region) { font-size:12px; line-height:1.85; }
.knowledge-feature-image img { object-position:50% 46%; }
.knowledge-index-section .knowledge-feature-copy h2 { font-size:clamp(29px,3vw,38px); line-height:1.4; }
.knowledge-feature-copy > p { font-size:14px; line-height:1.9; }
.knowledge-topic { color:#b08b5c !important; font-size:10px !important; margin-bottom:11px !important; }
.knowledge-card h4 { font-size:23px; line-height:1.45; }
.knowledge-card p { font-size:13px; line-height:1.85; }
.knowledge-card > span:last-child { margin-top:auto; }
.article-hero { padding:119px 0 46px; background:linear-gradient(130deg,#eee7dc,#f8f5ef); }
.article-hero .shell { max-width:1080px; }
.article-hero h1 { max-width:900px; font-size:clamp(34px,4vw,54px); line-height:1.38; letter-spacing:-.025em; }
.article-summary { margin-top:22px; max-width:780px; font-size:16px; line-height:1.95; }
.article-meta { color:#9c8b77; font-size:11px; line-height:1.7; gap:16px; }
.knowledge-article .article-content.knowledge { max-width:1080px; grid-template-columns:210px minmax(0,720px); gap:62px; padding-top:48px; padding-bottom:70px; }
.knowledge-article .knowledge-sidebar { padding:20px 20px 22px; border:1px solid #e2d5c4; border-radius:16px; background:#f4eee4; }
.knowledge-sidebar nav a { font-size:12px; line-height:1.8; }
.knowledge-article .article-copy { font-size:16px; line-height:2.05; color:#64594e; }
.knowledge-article .article-lead { font-size:18px; line-height:1.95; padding-bottom:25px; }
.knowledge-article .article-copy section { margin-top:40px; }
.knowledge-article .article-copy h2,.story-article .article-copy h2 { font-size:25px; line-height:1.5; margin-bottom:18px; }
.answer-card { margin:26px 0 38px; padding:23px 26px; border-left:3px solid #b69362; border-radius:0 14px 14px 0; background:#f2ebdf; }
.answer-card span { color:#9b7a52; font-size:11px; }
.answer-card p { margin:8px 0 0; font-size:15px; line-height:1.95; color:#584a3a; }
.story-article .article-content { max-width:1080px; grid-template-columns:260px minmax(0,720px); gap:62px; padding-top:48px; padding-bottom:70px; }
.story-sidebar { position:sticky; top:100px; }
.story-sidebar figure { position:relative; top:auto; }
.story-sidebar figure > img:first-child { max-height:310px; object-fit:cover; }
.story-sidebar nav { display:grid; gap:12px; margin:35px 0 24px; padding-top:22px; border-top:1px solid var(--line); }
.story-sidebar nav a { font-size:12px; line-height:1.7; color:#8e775e; }
.story-article .article-copy section { margin:0 0 38px; scroll-margin-top:105px; }
.story-article .article-copy section p { margin:0 0 19px; }
.article-contact-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }
.article-contact h2 { font-size:24px; line-height:1.5; }
.article-contact .eyebrow { margin-bottom:10px; }
@media(min-width:861px) and (max-height:780px) {
 .preview-background .hero-demo-real { width:250px; }
 .preview-background .hero-demo-caption { padding-top:12px; }
 .preview-background .hero-demo-caption strong { font-size:14px; }
 .home-hero-video { padding:90px 0 36px; }
 .meet-again-feature { padding:98px 0 46px; }
 .creation-steps > li { padding-block:11px !important; }
 .experience-art { height:230px; }
}
@media(max-width:1000px) {
 .experience-bottom { grid-template-columns:minmax(0,1fr) 138px; padding-inline:22px; }
 .experience-bottom h2 { font-size:23px; }
 .article-contact .shell { align-items:start; }
}
@media(max-width:860px) {
 .home-hero-video .hero-video-layout,.meet-again-feature .product-feature-grid { grid-template-columns:1fr; }
 .preview-background .hero-demo-real { width:min(100%,310px); margin-top:14px; }
 .meet-again-feature { padding-top:102px; }
 .meet-again-entry.experience-card { max-width:480px; margin-inline:auto; }
 .knowledge-article .article-content.knowledge,.story-article .article-content { grid-template-columns:1fr; gap:30px; }
 .story-sidebar { position:static; display:grid; grid-template-columns:minmax(0,230px) 1fr; gap:25px; }
 .story-sidebar nav { margin:0; align-self:center; }
 .story-sidebar > .text-link { grid-column:1/-1; width:fit-content; }
 .article-contact .shell { flex-direction:column; }
 .knowledge-article .knowledge-sidebar { position:static; }
 .knowledge-sidebar nav { grid-template-columns:1fr 1fr; gap:10px 20px; }
}
@media(max-width:620px) {
 .home-hero-video { padding:100px 0 58px; }
 .home-hero-video h1 { font-size:41px; }
 .home-hero-video .hero-description { font-size:14px; }
 .home-hero-video .hero-actions { margin-top:25px; }
 .hero-video-layout { gap:34px !important; }
 .home-hero-video .hero-notes { font-size:10px; line-height:1.8; }
 .preview-background .hero-demo-real { margin-top:6px; width:min(100%,282px); }
 .preview-background .hero-demo-frame { height:auto; aspect-ratio:9/16; }
 .start-paths { grid-template-columns:1fr; }
 .start-paths > a { padding:28px; }
 .start-paths h3 { font-size:25px; }
 .meet-again-feature .product-feature-copy h1 { font-size:35px; }
 .product-feature-copy .product-intro { font-size:14px; }
 .experience-bottom { grid-template-columns:minmax(0,1fr) 145px; padding-inline:20px; }
 .experience-art { height:250px; }
 .experience-art > span { left:20px; font-size:21px; }
 .experience-options { padding-inline:20px; gap:6px; }
 .page-hero.case-index-hero,.page-hero.faq-index-hero { padding-top:105px; }
 .case-interlude p { font-size:22px; }
 .knowledge-card h4 { font-size:21px; }
 .article-hero { padding:104px 0 34px; }
 .article-hero h1 { font-size:32px; }
 .article-summary { font-size:14px; }
 .article-meta { font-size:10px; gap:8px 13px; }
 .knowledge-article .article-content.knowledge,.story-article .article-content { padding-top:28px; padding-bottom:45px; }
 .knowledge-sidebar nav { grid-template-columns:1fr; }
 .knowledge-article .article-copy,.story-article .article-copy { font-size:15px; line-height:2; }
 .knowledge-article .article-lead { font-size:17px; }
 .knowledge-article .article-copy h2,.story-article .article-copy h2 { font-size:23px; }
 .story-sidebar { display:block; max-width:290px; margin-inline:auto; }
 .story-sidebar nav { margin:25px 0; }
 .answer-card { padding:20px; }
 .article-contact h2 { font-size:22px; }
 .article-contact-actions { gap:18px; }
}
@media(prefers-reduced-motion:reduce) { .demo-play-circle { transition:none; } }
/* Portrait poster artwork must not stretch the editorial feature card. */
.knowledge-index-section .knowledge-feature-image { height:330px; min-height:0; }
.knowledge-feature-image img { object-position:50% 48%; }
.knowledge-figure img { height:320px; object-position:50% 48%; }
@media(max-width:620px) {
 .knowledge-index-section .knowledge-feature-image { height:220px; min-height:0; }
 .knowledge-figure img { height:240px; }
}
.article-toc summary { display:block; margin-bottom:17px; font-size:13px; font-weight:600; list-style:none; cursor:pointer; }
.article-toc summary::-webkit-details-marker { display:none; }
@media(max-width:860px) {
 .article-toc summary { display:flex; justify-content:space-between; margin:0; font-size:13px; }
 .article-toc summary::after { content:'展开 +'; color:#a6845a; font-size:11px; font-weight:400; }
 .article-toc[open] summary { margin-bottom:17px; }
 .article-toc[open] summary::after { content:'收起 −'; }
 .knowledge-sidebar .knowledge-back { margin-top:15px; padding-top:12px; }
}
