/* Preserve the desktop design. Repair navigation, focus and narrow layouts. */
html { scroll-padding-top: 96px; }
section[id], #problem-result { scroll-margin-top: 96px; }
body.pod-hero-live { cursor: auto; }
.hero-grid > *, .section-head > *, .result > * { min-width: 0; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
[hidden] { display: none !important; }
.pod-ai__typing { display:block; visibility:hidden; min-height:34px; padding:0 16px 10px; }
.pod-ai__typing.is-visible { visibility:visible; }
.pod-ai__recommendations { overflow-anchor:none; }
.pod-ai__recommendation-box { min-height:240px; }
.pod-ai__slots-grid { grid-template-columns:1fr; }
.pod-ai__slot:disabled { cursor:wait; opacity:.7; }
.pod-ai__slot-action { font-size:14px; }
.pod-ai__slot-options { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.pod-ai__slot-options button { padding:10px 14px; min-height:44px; background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.pod-ai__conversation-note { margin:12px 0; line-height:1.5; color:#43514e; font-size:14px; }
.pod-ai__form input { font-size:16px; }
.pod-ai__slot-time { font-size:22px; }
.podollog-nav-open .navlinks { display:flex; position:absolute; top:100%; left:12px; right:12px; background:var(--paper2); border:1px solid var(--line); border-radius:20px; padding:18px; flex-direction:column; box-shadow:var(--shadow); }
.podollog-nav-open .navlinks a { padding:10px; min-height:44px; }
.pod-empty-media { padding:24px; border:1px solid var(--line); border-radius:24px; }
.work img { width:100%; height:100%; object-fit:cover; display:block; }
.work { margin:0; }
.pod-status { font-size:13px; color:var(--muted); margin:10px 0; }
.pod-keyboard-open .mobile-cta, .pod-keyboard-open .podollog-contact-dock { visibility:hidden; pointer-events:none; }
@media(max-width:980px) {
  .hero-grid, .section-head, .window-grid, .contact-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:620px) {
  html { scroll-padding-top:114px; }
  section[id], #problem-result { scroll-margin-top:114px; }
  .container { width:calc(100% - 28px); max-width:1240px; }
  header nav { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px 12px; height:auto; padding:10px 0; }
  .brand { min-width:0; gap:8px; }
  .brand > .mark { display:grid; flex:none; width:34px; height:34px; }
  .brand > span:not(.mark) { display:block; min-width:0; }
  .brand b { display:block; font-size:11px; line-height:1.25; letter-spacing:.04em; white-space:normal; }
  .brand > span:not(.mark) > span { display:block; font-size:9px; margin-top:2px; }
  .city { grid-column:1; grid-row:2; margin:0; width:max-content; max-width:100%; }
  .city button { min-height:34px; padding:5px 14px; }
  .hamb { grid-column:2; grid-row:1; display:block; width:44px; height:44px; }
  h1 { font-size:clamp(34px,9.4vw,49px); line-height:1.06; overflow-wrap:break-word; }
  .section-head h2 { font-size:clamp(30px,8.4vw,40px); overflow-wrap:break-word; }
  .hero { padding:26px 0 34px; }
  .hero-grid { gap:22px; }
  .hero-actions { margin:20px 0; }
  .hero-actions .btn, .result .btn, .wait .btn { min-height:48px; text-align:center; white-space:normal; }
  .visual { min-height:0; display:flex; flex-direction:column; padding:320px 14px 14px; gap:10px; }
  .visual-head { left:16px; right:16px; font-size:8px; gap:10px; }
  .foot { top:48px; left:25px; right:25px; bottom:auto; height:295px; }
  .foot svg { height:100%; width:auto; max-width:100%; }
  .tag.t1 { top:93px; left:8px; }
  .tag.t2 { top:165px; right:8px; }
  .tag.t3 { top:232px; bottom:auto; left:8px; }
  .tag.t4 { display:none; }
  .branch { position:relative; left:auto; right:auto; bottom:auto; width:100%; padding:14px; }
  .branch b { font-size:20px; }
  .slot-float { display:block; position:relative; left:auto; right:auto; bottom:auto; width:100%; padding:12px 14px; min-height:92px; }
  .slot-float strong { font-size:20px; }
  .slot-float span { font-size:11px; }
  .window-card { padding:20px; }
  .window-card h3 { font-size:clamp(25px,7.5vw,35px); overflow-wrap:break-word; }
  .time { min-height:46px; padding:13px 16px; font-size:14px; }
  .pod-ai { width:100%; max-width:100%; margin:26px auto; padding:0 14px; }
  .pod-ai__shell { padding:20px 12px; }
  .pod-ai h2 { font-size:30px; }
  .pod-ai__chips { gap:8px; }
  .pod-ai__chip { font-size:13px; min-height:44px; padding:10px 12px; }
  .pod-ai__form { display:grid; grid-template-columns:minmax(0,1fr); padding:10px; }
  .pod-ai__send { min-height:46px; padding:12px; }
  .pod-ai__messages { min-height:150px; max-height:360px; }
  .pod-ai__message { max-width:100%; font-size:15px; padding:12px; }
  .pod-ai__recommendations { margin:0 10px 12px; }
  .pod-ai__recommendation-box { padding:14px; }
  .pod-ai__recommendation-title { font-size:19px; }
  .pod-ai__booking-input { font-size:16px; }
  .pod-ai__agreement { font-size:12px; }
  .pod-ai__notice { font-size:11px; }
  .podollog-contact-dock { display:none !important; }
  .mobile-cta { bottom:max(10px,env(safe-area-inset-bottom)); min-height:48px; padding:14px 16px; font-size:14px; }
  .contact-card,.route { padding:22px; }
  .contact-card h2 { font-size:32px; }
  .route h3 { font-size:30px; }
  .messengers a { font-size:13px; min-height:44px; }
  .foot-row b { font-size:24px; }
}
/* The hero glow must not expand the document's scrollable width. */
.hero { overflow: hidden; }

/* ui-v3.1: empty content must not reserve gallery image rows. */
#works .works-grid.is-empty { display:block; grid-template-rows:none; }
#works .works-grid.is-empty .pod-empty-media { margin:0; padding:20px 24px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.pod-empty-media p { margin:0; flex:1 1 280px; color:var(--muted); }
.pod-empty-media .btn { font-size:14px; min-height:44px; }
.pod-date-choice { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin-top:14px; }
.pod-date-choice label { display:grid; gap:6px; font-size:13px; color:var(--muted); }
.pod-date-choice input { min-width:0; max-width:100%; font:inherit; font-size:16px; padding:10px 12px; min-height:44px; border:1px solid var(--line); border-radius:12px; background:white; }
.pod-date-choice button,.pod-empty-media button { min-height:44px; padding:10px 14px; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:12px; font:inherit; cursor:pointer; }
.pod-ai__slot-options a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; }
@media(max-width:620px){ .pod-date-choice { display:grid; grid-template-columns:minmax(0,1fr); } .pod-date-choice input { width:100%; } #works .works-grid.is-empty .pod-empty-media { padding:18px; } }
.pod-ai__slot-date { text-transform:none; }

.pod-assistant-visible .mobile-cta { visibility:hidden; pointer-events:none; }
