:root{--visit-bg:#102137;--visit-surface:#1a3049;--visit-line:rgba(219,193,151,.42);--visit-text:#f9f6ee;--visit-muted:#d6dedc;--visit-paper:#e5e7df;--visit-card:#f8f7f1;--visit-dark:#20303b;--visit-accent:#87623a;--record-bg:#182b3b}
.process.shell{width:min(1320px,90%);background:var(--visit-bg);color:var(--visit-text);padding:80px 6%;margin:0 auto 96px}.process .section-heading{margin-bottom:48px}.process .section-heading>p{color:var(--visit-muted)}.process-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:7%;align-items:stretch}.process-image{margin:0;position:relative;min-height:460px;overflow:hidden;background:var(--visit-surface)}.process-image img{position:absolute;inset:0;object-fit:cover;object-position:center}.process-image figcaption{position:absolute;bottom:20px;left:20px;background:var(--shade);padding:8px 12px;font-size:13px;color:var(--visit-text)}.process .process-list{border-top:1px solid var(--visit-line)}.process .process-list details{border-left:0;border-bottom:1px solid var(--visit-line);padding:0}.process .process-list details:before{display:none}.process .process-list details[open]{background:var(--visit-surface);padding:0}.process .process-list summary{padding:26px 20px;grid-template-columns:50px minmax(0,1fr) 24px;gap:18px}.process .process-list summary span{color:var(--sand);font-size:28px}.process .process-list summary h3{color:var(--visit-text);font-size:23px}.process .process-list summary:hover h3{color:var(--sand)}.process .process-list summary i{color:var(--sand)}.process .process-list details p{color:var(--visit-muted);margin:0 24px 28px 88px;max-width:500px}.process .process-list summary:focus-visible{outline-color:var(--visit-text)}
.visit-guide{background:var(--visit-paper);padding:120px 0}.visit-guide .guide-heading h2{color:var(--visit-dark)}.visit-guide .guide-heading>p{color:var(--ink2)}.visit-guide .guide-layout{gap:6%;align-items:start}.visit-guide .guide-record{background:var(--record-bg);color:var(--visit-text);border:0;border-top:3px solid var(--sand);box-shadow:none;padding:40px;position:sticky;top:24px}.visit-guide .guide-record>span{color:var(--sand);margin-bottom:12px}.visit-guide .guide-record>strong{font-size:30px;color:var(--visit-text);margin-bottom:28px}.record-timeline{border-left:1px solid var(--sand);margin:0 0 28px 5px}.record-timeline>div{position:relative;padding:0 0 24px 24px}.record-timeline>div:last-child{padding-bottom:0}.record-timeline>div:before{content:'';position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--sand)}.record-timeline time{display:block;color:var(--sand);font-size:14px;letter-spacing:.02em}.visit-guide .record-timeline p{border:0;padding:0;margin:4px 0 0;color:var(--visit-text);font-size:16px}.visit-guide .guide-record small{color:var(--visit-muted);font-size:14px}.visit-guide .guide-record:after{display:none}.visit-guide .guide-list{border:0;display:grid;gap:12px}.visit-guide .guide-list details{border:1px solid var(--guide-line);background:var(--visit-card);padding:0 24px}.visit-guide .guide-list details[open]{border-color:var(--visit-accent)}.visit-guide .guide-list summary{padding:24px 0;color:var(--visit-dark);font-size:22px}.visit-guide .guide-list summary i{color:var(--visit-accent)}.visit-guide .guide-list details>div{color:var(--ink2);padding:0 0 8px}.visit-guide .guide-list details strong{color:var(--visit-dark)}@media(max-width:760px){.process.shell{width:100%;margin:0;padding:72px 6% 80px}.process-layout{grid-template-columns:minmax(0,1fr);gap:24px}.process-image{min-height:260px}.process .section-heading{margin-bottom:32px}.process .process-list summary{grid-template-columns:40px minmax(0,1fr) 22px;gap:12px;padding:22px 14px}.process .process-list summary span{font-size:24px}.process .process-list summary h3{font-size:20px}.process .process-list details p{margin:0 18px 24px 66px}.visit-guide{padding:88px 0}.visit-guide .guide-record{position:static;padding:28px}.visit-guide .guide-list details{padding:0 18px}.visit-guide .guide-list summary{font-size:20px;padding:20px 0}}

/* Reading refinements: consistent wrapping and a warm transition into the visit guide. */
:root{--process-paper:#eae7df;--process-open:#f7f4ec;--process-text:#20303b;--process-muted:#465460;--process-rule:#b9bcb4;--process-gold:#856641}
p,small{ text-wrap:pretty }
h1,h2,h3{ text-wrap:balance }
.process.shell{background:var(--process-paper);color:var(--process-text)}
.process .section-heading>p{color:var(--process-muted);max-width:360px;text-wrap:balance}
.process .process-list{border-color:var(--process-rule)}
.process .process-list details{border-color:var(--process-rule)}
.process .process-list details[open]{background:var(--process-open)}
.process .process-list summary h3{color:var(--process-text)}
.process .process-list summary span,.process .process-list summary i{color:var(--process-gold)}
.process .process-list summary:hover h3{color:var(--process-gold)}
.process .process-list details p{color:var(--process-muted);text-wrap:pretty}
.process .process-list summary:focus-visible{outline-color:var(--focus)}
.mood-notes p,.visit-guide .guide-record small,.visit-guide .guide-list p{text-wrap:pretty}
@media(max-width:760px){
 h2{font-size:clamp(27px,7.5vw,34px)}
 .case-main h3{font-size:clamp(25px,7vw,30px)}
 .about-copy h2{font-size:clamp(27px,7.3vw,34px)}
 .process .process-list summary{grid-template-columns:34px minmax(0,1fr) 22px;gap:10px}
 .process .process-list details p{margin-left:58px}
 .visit-guide .guide-list summary{font-size:clamp(18px,5vw,20px);gap:12px}
}
@media(max-width:760px){
 .section-heading h2,.approach-grid>div:first-child h2{font-size:clamp(24px,7.45vw,34px)}
 .hero h1{font-size:clamp(30px,8vw,38px)}
 .visit-guide .guide-list summary{font-size:clamp(16px,4.65vw,20px)}
}
@media(max-width:350px){.hero h1{font-size:clamp(24px,7.6vw,27px)}}

.about-title-role{white-space:nowrap}
.about-copy h2{font-size:clamp(25px,2.6vw,42px)}
@media(max-width:760px){.about-copy h2{font-size:clamp(24px,7.2vw,38px)}}

.about-title-name{font-size:1.34em;white-space:nowrap}
/* Tablet: keep reading measures, photos and contact details comfortable. */
@media (min-width:761px) and (max-width:1100px){
 .section-heading,.guide-heading{display:block}
 .section-heading>p,.guide-heading>p{max-width:560px;margin:22px 0 0}
 .section-heading h2,.approach-grid>div:first-child h2{font-size:clamp(32px,4.1vw,44px)}
 .example-steps{grid-template-columns:minmax(0,1fr)}
 .example-steps article,.example-steps article+article{border-right:0;border-bottom:1px solid var(--faintline);padding:26px 0}
 .example-steps h3{margin:12px 0}
 .mood-grid{gap:6%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .mood-notes>div:nth-child(n){margin-left:0}
 .mood-notes>div{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:20px 16px}
 .process-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:4%}
 .process .process-list summary{grid-template-columns:36px minmax(0,1fr) 22px;gap:10px;padding:22px 14px}
 .process .process-list summary h3{font-size:20px}
 .process .process-list details p{margin:0 18px 24px 60px}
 .guide-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .visit-guide .guide-record{position:static}
 .record-timeline{display:flex;border-left:0;border-top:1px solid var(--sand);margin:0 0 24px;padding-top:18px}
 .record-timeline>div{flex:1;padding:0 18px 0 0}
 .record-timeline>div:before{left:0;top:-23px}
 .about-moments{grid-template-columns:minmax(0,1fr);gap:28px}
 .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:5%}
 .contact-info{grid-template-columns:minmax(0,1fr);gap:20px}
 .wechat-card{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:20px}
 .contact-section .wechat-card .contact-qr,.wechat-card .qr-zoom{width:100px;height:100px}
}
.visit-guide .guide-list details p strong{display:block;margin-bottom:4px}
.visit-guide .guide-list details p{margin-bottom:22px}
/* Visual rhythm and interaction refinements */
:root{--mood-glow:rgba(208,177,135,.18);--mood-panel:#0c1b2e;--closing-clear:rgba(7,19,33,.34)}
.mood-explore{align-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.mood-orbit{position:relative;width:min(270px,70%);aspect-ratio:1;border:1px solid var(--faintline);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,var(--mood-glow),transparent 68%);margin:0 auto 28px}
.mood-orbit:before,.mood-orbit:after{content:'';position:absolute;inset:17%;border:1px solid var(--faintline);border-radius:50%;transform:rotate(60deg) scaleX(.7)}
.mood-orbit:after{transform:rotate(-60deg) scaleX(.7)}
.mood-orbit span{position:absolute;z-index:1;color:var(--ivory);font-family:var(--display);font-size:21px}
.mood-orbit span:nth-child(1){top:18%}.mood-orbit span:nth-child(2){left:15%;bottom:25%}.mood-orbit span:nth-child(3){right:15%;bottom:25%}
.mood-prompt{font-size:14px;color:var(--journey-muted);margin:0 0 16px}
.mood-switches{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.mood-switches button{background:transparent;color:var(--white);border:1px solid var(--journey-line);padding:9px 22px;cursor:pointer}
.mood-switches button:hover,.mood-switches button[aria-pressed=true]{background:var(--warm);color:var(--stage)}
.mood-switches button:focus-visible{outline-color:var(--white)}
.mood-answer{width:min(100%,410px);min-height:72px;margin:20px 0 0;color:var(--ivory);text-wrap:balance}
.process-image img{object-position:center 62%}
.closing img{opacity:.64}.closing:before{background:linear-gradient(90deg,var(--night92) 0%,var(--night75) 45%,var(--closing-clear) 100%)}
.wechat-card{padding:22px;border-top:2px solid var(--warm)}
@media(max-width:760px){.hero{align-items:start}.hero-text{margin-top:clamp(155px,24svh,205px)}.hero h1{font-size:clamp(30px,8.4vw,40px)}.mood-grid{gap:36px}.mood-orbit{width:220px}.closing:before{background:linear-gradient(90deg,var(--night92),var(--night75))}}
@media(max-width:350px){.hero h1{font-size:clamp(24px,7.6vw,27px)}}
@media(min-width:761px) and (max-width:1100px){.about{grid-template-columns:minmax(0,1fr);min-height:0}.about-image{height:480px;min-height:0}.about-image img{object-position:50% 57%}.about-copy{padding:64px 8%;max-width:800px}.about-moments{grid-column:1}.mood-grid{gap:7%}}
/* Emotion: a full-scale visual narrative. */
:root{--mood-story-ink:#f8f5ed;--mood-story-soft:#d8dedc;--mood-story-hairline:rgba(208,177,135,.42)}
.mood-story{padding:140px 0 160px;isolation:isolate}
.mood-story:before,.mood-story:after{display:none}
.mood-intro{max-width:840px;margin-bottom:100px}
.mood-intro>p:first-child{color:var(--warm);font-size:15px;margin-bottom:20px}
.mood-intro h2{font-size:clamp(45px,6.2vw,84px);line-height:1.22;margin:0 0 30px}
.mood-intro>p:last-child{max-width:570px;color:var(--mood-story-soft);font-size:18px;margin:0}
.mood-story-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:9%;align-items:start}
.mood-story-visual{margin:0;position:sticky;top:30px;height:min(78vh,760px);min-height:520px;overflow:hidden;background:var(--stage)}
.mood-story-visual img{object-fit:cover;object-position:center 40%}
.mood-story-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,var(--night92))}
.mood-visual-caption{position:absolute;bottom:32px;left:32px;z-index:1;color:var(--mood-story-ink)}
.mood-visual-caption span,.mood-visual-caption strong{display:block}.mood-visual-caption span{font-size:14px;color:var(--warm);margin-bottom:8px}.mood-visual-caption strong{font-family:var(--display);font-weight:500;font-size:24px}
.mood-chapter{min-height:410px;border-top:1px solid var(--mood-story-hairline);padding:42px 0 80px;display:flex;flex-direction:column;justify-content:center}
.mood-chapter>span{color:var(--warm);font-size:14px;margin-bottom:28px}.mood-chapter h3{font-size:clamp(30px,3.1vw,44px);margin-bottom:24px}.mood-chapter p{max-width:460px;color:var(--mood-story-soft);font-size:17px;margin:0;text-wrap:pretty}
@media(max-width:760px){.mood-story{padding:88px 0 96px}.mood-intro{margin-bottom:48px}.mood-intro h2{font-size:clamp(36px,9vw,54px)}.mood-intro>p:last-child{font-size:16px}.mood-story-grid{grid-template-columns:minmax(0,1fr);gap:0}.mood-story-visual{position:relative;top:auto;height:auto;min-height:0;aspect-ratio:4 / 5}.mood-visual-caption{left:22px;bottom:22px}.mood-chapter{min-height:0;padding:34px 0 44px}.mood-chapter>span{margin-bottom:18px}.mood-chapter h3{font-size:29px;margin-bottom:18px}.mood-chapter p{font-size:16px}}
