.office-mode .hero-signals > div:nth-child(2), .office-mode .hero-signals > div:nth-child(4) { display: none; }
.office-mode .hero-signals { grid-template-columns: repeat(3,minmax(0,1fr)); }
.office-mode .hero-brief { display:flex; gap:56px; min-height:0; padding:22px 0 10px; }
.office-hero-fact small { display:block; font-size:12px; color:#c3dedb; letter-spacing:.06em; }
.office-hero-fact strong { display:block; font-size:25px; font-weight:500; margin-top:8px; font-variant-numeric:tabular-nums; }
#office-content { width:calc(100% - 80px); max-width:1760px; margin:64px auto 80px; color:#163e46; }
.office-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.office-eyebrow { font-size:11px; font-weight:700; letter-spacing:.14em; color:#428c89; }
.office-section-heading h2 { margin:12px 0 10px; font-size:clamp(28px,2.5vw,42px); font-weight:500; letter-spacing:-.035em; }
.office-section-heading p { margin:0; color:#758887; font-size:14px; line-height:1.7; }
.office-hour-controls { display:flex; gap:10px; flex-shrink:0; padding-bottom:5px; }
.office-hour-controls button { width:44px; height:44px; border-radius:50%; border:1px solid #c5d6d3; background:transparent; color:#174851; font-size:21px; cursor:pointer; transition:background .2s; }
.office-hour-controls button:hover:not(:disabled) { background:#e4efea; }
.office-hour-controls button:disabled { opacity:.3; cursor:default; }
.office-hour-controls button:focus-visible, .office-hours:focus-visible { outline:2px solid #248d8c; outline-offset:4px; }
.office-hour-panel { border:1px solid #dce5de; border-radius:24px; background:#fffefa; overflow:hidden; box-shadow:0 12px 36px #163e4605; }
.office-hours { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#acc8c0 transparent; padding:12px 10px 8px; }
.office-hours article { flex:0 0 138px; text-align:center; padding:22px 12px 18px; position:relative; scroll-snap-align:start; border-right:1px solid #e9eee8; }
.office-hours article:last-child { border:0; }
.office-hours article.is-current { background:#edf4ee; border-radius:16px; border-color:transparent; }
.office-hour-date { display:block; font-size:11px; color:#89948c; margin-bottom:7px; }
.office-hour-time { display:block; font-size:15px; font-weight:600; }
.office-weather-icon { width:54px; height:50px; display:block; margin:17px auto 12px; }
.office-hour-temp { display:block; font-size:32px; font-weight:500; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.office-hour-condition { display:block; min-height:36px; margin:9px 0 16px; font-size:12px; line-height:1.5; color:#667b78; }
.office-hour-rain { display:flex; flex-direction:column; gap:6px; color:#368b94; font-size:14px; font-variant-numeric:tabular-nums; }
.office-hour-rain small { font-size:11px; color:#94a3a0; }
.office-panel-note { display:flex; justify-content:space-between; gap:12px; padding:14px 26px; border-top:1px solid #e8ece5; font-size:11px; color:#87958c; }
.office-daily-heading { margin-top:56px; }
.office-days { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.office-days article { display:grid; grid-template-columns:62px 110px minmax(90px,1fr) 60px; align-items:center; gap:8px 20px; padding:22px 24px 15px; border-bottom:1px solid #dce5dd; }
.office-days article.is-today { background:#edf3ed; border-radius:16px; border-bottom-color:transparent; }
.office-day-date b { display:block; font-size:15px; font-weight:600; }
.office-day-date small { display:block; margin-top:7px; font-size:12px; color:#8a9890; }
.office-day-condition { display:flex; align-items:center; gap:7px; }
.office-day-condition .office-weather-icon { flex-shrink:0; width:42px; height:40px; margin:0; }
.office-day-condition span { font-size:12px; color:#687d79; line-height:1.5; }
.office-day-range { display:flex; align-items:center; gap:10px; font-variant-numeric:tabular-nums; font-size:15px; }
.office-day-range > span { color:#92a29a; }
.office-day-range > b { font-weight:600; }
.office-temp-track { height:5px; border-radius:8px; background:#e7ede5; flex:1; min-width:25px; position:relative; }
.office-temp-track i { position:absolute; height:5px; border-radius:8px; background:linear-gradient(90deg,#8bb9ac,#d6b477); }
.office-day-rain { text-align:right; font-variant-numeric:tabular-nums; }
.office-day-rain b { display:block; color:#3c8b92; font-size:14px; font-weight:500; }
.office-day-rain small { display:block; margin-top:6px; font-size:11px; color:#97a29b; }
.office-day-sun { grid-column:2/5; font-size:10px; color:#94a097; padding-left:4px; }
.office-day-sun span { padding:0 12px; }
.office-range-note { text-align:right; color:#93a096; font-size:11px; margin-top:22px; }
@media(min-width:1800px) { .office-hours article { flex-basis:155px; } }
@media(max-width:1150px) { .office-days { grid-template-columns:1fr; } }
@media(max-width:600px) {
 #office-content { width:calc(100% - 36px); margin:36px auto 48px; }
 .office-mode .hero-brief { gap:18px; justify-content:space-between; }
 .office-hero-fact small { font-size:10px; letter-spacing:0; }
 .office-hero-fact strong { font-size:18px; }
 .office-section-heading { gap:10px; margin-bottom:20px; }
 .office-section-heading h2 { font-size:28px; }
 .office-section-heading p { font-size:12px; }
 .office-hour-controls { gap:5px; }
 .office-hour-controls button { width:36px; height:36px; }
 .office-hours article { flex-basis:112px; padding:18px 8px 12px; }
 .office-hour-panel { border-radius:18px; }
 .office-hour-temp { font-size:28px; }
 .office-panel-note { padding:12px 16px; font-size:10px; }
 .office-panel-note span:first-child { display:none; }
 .office-daily-heading { margin-top:36px; display:block; }
 .office-days article { grid-template-columns:42px 90px minmax(65px,1fr) 42px; gap:9px; padding:18px 10px 12px; }
 .office-day-date b { font-size:13px; }
 .office-day-condition .office-weather-icon { width:34px; }
 .office-day-condition span { font-size:11px; }
 .office-day-range { font-size:12px; gap:5px; }
 .office-day-rain b { font-size:12px; }
 .office-day-sun { font-size:9px; }
 .office-range-note { text-align:left; font-size:10px; line-height:1.6; }
}

/* 直接复用酒店天气动画，仅调整办公室列表中的尺寸与留白。 */
.office-hours .office-hour-animation { margin:17px auto 12px; }
.office-day-condition .office-day-animation { width:70px; height:54px; flex-shrink:0; margin:-6px -12px; transform:scale(.65); transform-origin:center; }
@media(max-width:600px) {
 .office-day-condition .office-day-animation { width:70px; height:54px; margin:-7px -17px; transform:scale(.5); }
}
/* 与酒店页使用相同的内容宽度、标题字体与决策卡片。 */
#office-content { width:var(--shell); margin-top:0; }
.office-page-nav { display:flex; gap:10px; padding:18px 0; margin-bottom:64px; border-bottom:1px solid var(--line); background:var(--paper); position:sticky; top:0; z-index:10; overflow:auto; }
.office-page-nav a { text-decoration:none; padding:11px 22px; border-radius:99px; color:var(--muted); font-size:13px; white-space:nowrap; }
.office-page-nav a:hover,.office-page-nav a:focus-visible { background:var(--aqua);color:var(--deep); }
#office-content :is(section,header)[id] { scroll-margin-top:86px; }
.office-today { display:grid; grid-template-columns:1.6fr 1fr; gap:70px; align-items:center; margin-bottom:90px; }
.office-today .journey-copy h2 { font-size:clamp(36px,4vw,64px); max-width:850px; line-height:1.16; }
.office-now-panel { padding:32px 38px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.office-now-panel > span { font-size:11px; color:var(--muted); letter-spacing:.08em; }
.office-now-panel > div { display:flex; align-items:center; gap:30px; margin:15px 0; }
.office-now-panel strong { font:500 76px/1 Georgia,serif; letter-spacing:-.06em; }
.office-now-panel .meteo-icon { transform:scale(1.35); margin:10px; }
.office-now-panel > b { font-size:18px; font-weight:500; }
.office-now-panel > p { color:var(--muted); font-size:12px; }
.office-commute-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-bottom:88px; }
.office-commute-grid .intelligence-card { min-height:290px; }
.office-commute-grid .intelligence-card > small { margin-top:14px; color:var(--muted); font-size:10px; }
.office-commute-weather { display:flex; align-items:center; gap:22px; margin-top:30px; }
.office-commute-weather strong { font:500 38px/1.1 Georgia,serif; letter-spacing:-.035em; }
.office-section-heading h2 { font:500 clamp(36px,3.4vw,58px)/1.12 "Iowan Old Style","Palatino Linotype","Songti SC",Georgia,serif; letter-spacing:-.04em; }
.office-section-heading p { color:var(--muted); }
.office-section-heading .office-eyebrow { font-size:10px; color:var(--teal); }
.office-days article[role=button] { cursor:pointer; transition:background .2s; }
.office-days article[role=button]:hover { background:#eef5f0; }
.office-days article[aria-pressed=true] { background:var(--aqua); box-shadow:inset 3px 0 var(--teal); }
.office-days article:focus-visible { outline:2px solid var(--teal); outline-offset:2px; }
.office-day-detail { margin:30px 0; padding:28px; background:white; border:1px solid var(--line);border-radius:18px; }
.office-detail-heading { display:flex; align-items:center;justify-content:space-between;gap:16px; }
.office-detail-heading h3 { font:500 25px/1.3 "Songti SC",Georgia,serif; }
.office-detail-heading button { padding:9px 18px; border:1px solid var(--line); border-radius:99px; background:white; cursor:pointer; }
.office-detail-scroll { overflow:auto; }
.office-detail-scroll table { border-collapse:collapse; width:100%; min-width:620px; font-size:13px; font-variant-numeric:tabular-nums; }
.office-detail-scroll th { font-weight:500; color:var(--muted); background:var(--paper); }
.office-detail-scroll th,.office-detail-scroll td { padding:15px;text-align:left;border-bottom:1px solid #e6ede8; }
@media(max-width:1100px) {
 .office-today { gap:30px; }
 .office-commute-grid { gap:14px; }
 .office-commute-grid .intelligence-card { padding:22px; }
 .office-commute-weather { gap:10px; }
 .office-commute-weather strong { font-size:28px; }
}
@media(max-width:700px) {
 .office-page-nav { gap:0;margin-bottom:35px;padding:10px 0; }
 .office-page-nav a { padding:10px 14px;font-size:12px; }
 .office-today { grid-template-columns:1fr;gap:24px;margin-bottom:46px; }
 .office-today .journey-copy h2 { font-size:38px; }
 .office-today .journey-copy > p:last-of-type { font-size:14px; margin-top:18px; }
 .office-now-panel { padding:20px 24px; background:#eef4ef;border:0;border-radius:18px; }
 .office-now-panel > div { float:right; margin:0;gap:10px; }
 .office-now-panel strong { font-size:50px; }
 .office-now-panel .meteo-icon { transform:scale(.8);margin:0; }
 .office-now-panel > b { display:block;margin:18px 0; }
 .office-now-panel > p { clear:both; }
 .office-commute-grid { grid-template-columns:1fr; margin-bottom:46px; }
 .office-commute-grid .intelligence-card { min-height:0;padding:24px; }
 .office-commute-weather { margin-top:18px;gap:22px; }
 .office-commute-weather strong { font-size:36px; }
 .office-section-heading h2 { font-size:34px; }
 #office-commutes .section-heading { display:block; }
 #office-commutes .section-heading > p { text-align:left;margin-top:16px; }
 .office-day-detail { padding:16px; }
 .office-detail-heading h3 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) { .office-days article[role=button] { transition:none; } }
