/* PIECES ARCHIVE — observation plates, human memory, and real spaces. */
body.business-page.pieces-profile {
  --paper:#f6f1e1; --white:#f6f1e1; --ink:#1c1b18; --muted:#6b665c;
  --acid:#1c1b18; --line:#c8c1b0; --pa-accent:#1c1b18;
  --pa-sheet:#f6f1e1; --pa-signal:#e3201b;
  --nav-bg:#f6f1e1; --nav-ink:#1c1b18; --nav-accent:#1c1b18; --nav-line:#c8c1b0;
  background:var(--paper); color:var(--ink);
}
.pieces-profile .site-header { border-color:var(--line); }
.pieces-profile :is(.header-location,.header-clock) { color:#6b665c; }
.pieces-profile .mark-star { color:var(--pa-accent); }
.pieces-profile .live-dot { background:var(--pa-signal); box-shadow:none; }
.pieces-profile .pill:hover { background:var(--ink); border-color:var(--ink); color:var(--white); }
.pieces-profile .inquiry-dialog { --acid:#f6f1e1; border-color:var(--line); }
.pieces-profile .inquiry-dialog::backdrop { background:#1c1b18b8; }
.pieces-profile .inquiry-dialog .inquiry-kicker,
.pieces-profile .inquiry-dialog .form-note { color:var(--muted); }
.pieces-profile .inquiry-dialog input,
.pieces-profile .inquiry-dialog textarea { border-color:#aaa; }
.pieces-profile .inquiry-dialog input:focus,
.pieces-profile .inquiry-dialog textarea:focus { border-color:var(--ink); }
.pieces-profile .inquiry-dialog input::placeholder,
.pieces-profile .inquiry-dialog textarea::placeholder { color:#777; }
.pieces-profile #inquiry-form label>span:not(.service-picker span) { color:var(--muted); }
.pieces-profile .menu-toggle span { background:var(--ink); }
.pieces-profile.menu-open .site-header,.pieces-profile .mobile-menu { background:var(--paper); color:var(--ink); }
.pieces-profile .footer { --acid:#f6f1e1; background:#1c1b18; color:#f6f1e1; }
.pieces-profile .footer-top,.pieces-profile .footer-bottom { color:#b6b6b6; }
.pa-page { --pa-cycle:6s; padding-top:100px; overflow:clip; }
.pa-page :is(h1,h2,h3,p,dd) { word-break:keep-all; overflow-wrap:anywhere; }
.pa-page section { scroll-margin-top:90px; }
.pa-page :is(a,button,summary):focus-visible { outline:3px solid var(--pa-signal); outline-offset:5px; }
.pa-page :is(figure,dl,dd) { margin:0; }
.pa-page button { cursor:pointer; }
.pa-page img { display:block; max-width:100%; }
.pa-arrow { display:block; width:22px; height:22px; flex:none; }
.pa-kicker { font:10px/1.6 ui-monospace,Consolas,Pretendard,monospace; letter-spacing:.1em; color:#6b665c; margin:0 0 25px; }
.pa-lead { font-size:15px; line-height:1.95; color:var(--muted); }
.pa-button { display:inline-flex; min-height:56px; justify-content:space-between; align-items:center; gap:36px; padding:17px 23px; background:#1c1b18; color:#f6f1e1; font-size:14px; font-weight:650; border:1px solid transparent; transition:background .2s,transform .2s; }
.pa-button:hover { background:#393939; transform:translateY(-2px); }
.pa-button>span { line-height:1; font-size:22px; }
.pa-text-link { display:inline-flex; align-items:center; gap:25px; padding:10px 0; border-bottom:1px solid currentColor; font-size:13px; }
.pa-text-link:hover { color:var(--pa-accent); }
.pa-text-link small { font-size:10px; margin-left:-18px; }
.pa-small { font-size:11px; line-height:1.8; color:var(--muted); }
.pa-section { position:relative; padding:95px var(--pad); border-top:1px solid var(--line); }
.pa-section::before { content:""; position:absolute; top:-4px; left:var(--pad); width:7px; height:7px; background:var(--pa-signal); border-radius:50%; }
.pa-section h2 { font-size:clamp(35px,4vw,60px); line-height:1.2; letter-spacing:-.055em; font-weight:650; }
.pa-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:52px; }
.pa-section-head>.pa-lead { max-width:440px; margin-bottom:5px; }

/* The identity becomes a lens onto the actual space, rather than a poster. */
.pa-hero { padding:0 var(--pad) 35px; background:var(--pa-sheet); }
.pa-hero .breadcrumb { margin:0; padding:20px 0 32px; font-size:10px; color:#6b665c; }
.pa-hero-top { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--ink); padding:17px 0; font:10px/1.5 Syne,Pretendard,sans-serif; letter-spacing:.07em; }
.pa-affiliation { display:inline-flex; gap:15px; align-items:center; }
.pa-affiliation .pa-arrow { width:14px; height:14px; }
.pa-observation { display:inline-flex; align-items:center; gap:10px; }
.pa-observation i { display:block; width:7px; height:7px; flex:none; border-radius:50%; background:var(--pa-signal); }
.pa-observation-hero { display:grid; grid-template-columns:1fr 1.18fr; gap:3vw; align-items:center; padding:42px 0 55px; }
.pa-hero-copy { min-width:0; }
.pa-hero-copy .pa-kicker { margin-bottom:25px; font:10px/1.5 ui-monospace,Consolas,monospace; color:#525047; }
.pa-hero h1 { font:750 clamp(44px,6.1vw,100px)/.94 Syne,Arial,sans-serif; letter-spacing:-.07em; margin:0 0 35px; white-space:nowrap; }
.pa-hero-message { font-size:clamp(21px,2.2vw,32px); font-weight:550; line-height:1.45; letter-spacing:-.045em; margin:0 0 18px; }
.pa-hero-copy .pa-lead { font-size:13px; color:#656259; margin:0 0 25px; }
.pa-hero-copy .pa-button { font-size:12px; min-width:170px; }
.pa-observatory { min-width:0; }
.pa-lens-caption { display:flex; justify-content:space-between; gap:12px; font:9px/1.5 ui-monospace,Consolas,monospace; }
.pa-lens-caption>span:last-child { color:#656259; }
.pa-lens-scene { aspect-ratio:700 / 600; position:relative; isolation:isolate; }
.pa-lens-drawing { display:block; width:100%; height:100%; overflow:visible; }
.pa-lens-photo { position:absolute; left:25%; top:20.833333%; width:50%; aspect-ratio:1; display:block; border-radius:50%; overflow:hidden; cursor:zoom-in; background:#e2dfd5; border:1px solid #1c1b18; }
.pa-lens-photo img { width:100%; height:100%; object-fit:cover; object-position:46% 50%; transition:transform .6s; }
.pa-lens-photo:hover img { transform:scale(1.045); }
.pa-lens-photo>span { position:absolute; bottom:0; left:0; width:100%; text-align:center; padding:24px 10px 21px; background:linear-gradient(transparent,#111b); color:#fff; font:9px/1.5 ui-monospace,Consolas,monospace; }
.pa-lens-photo>span>span { padding-left:6px; }
.pa-observatory>figcaption { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:12px; border-top:1px solid #c4bfae; font-size:11px; color:#656259; }
.pa-observatory .pa-motion { font-size:10px; min-height:28px; padding:5px 0; }
.pa-lens-calibration,.pa-lens-orbit { transform-origin:350px 300px; animation:pa-lens-turn 24s linear infinite; animation-play-state:paused; }
.pa-lens-calibration { animation-direction:reverse; animation-duration:72s; }
.pa-observatory[data-running="true"] :is(.pa-lens-calibration,.pa-lens-orbit) { animation-play-state:running; }
@keyframes pa-lens-turn { to { transform:rotate(360deg); } }
.pa-hero-index { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.pa-hero-index>a { display:grid; grid-template-columns:25px 1fr 25px; align-items:center; gap:7px 15px; padding:24px 25px; transition:background .2s; }
.pa-hero-index>a:first-child { padding-left:0; }
.pa-hero-index>a+a { border-left:1px solid var(--line); }
.pa-hero-index>a:hover { background:#eae4d3; }
.pa-hero-index>a:hover>span { color:var(--pa-signal); }
.pa-hero-index>a>span { grid-row:span 2; font:10px Syne,sans-serif; color:#6b665c; }
.pa-hero-index strong { font-size:19px; font-weight:550; letter-spacing:-.04em; }
.pa-hero-index small { grid-column:2; color:var(--muted); font-size:11px; }
.pa-hero-index svg { grid-column:3; grid-row:1 / span 2; }

/* The photo and specifications share one stable stage for every floor. */
.pa-floor-guide { display:grid; grid-template-columns:230px minmax(0,1fr); gap:35px; }
.pa-floor-sidebar { display:flex; flex-direction:column; justify-content:space-between; gap:28px; }
.pa-floor-controls { border-top:1px solid var(--ink); }
.pa-floor-controls>button { position:relative; width:100%; min-height:94px; padding:18px 17px; display:grid; grid-template-columns:1fr auto 20px; align-items:center; gap:15px; text-align:left; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); transition:background .25s,color .25s; }
.pa-floor-controls>button>span:first-child { font:600 34px/1 Syne,sans-serif; letter-spacing:-.04em; }
.pa-floor-controls>button>span:nth-child(2) { font-size:12px; }
.pa-floor-controls>button[aria-pressed="true"] { color:#f6f1e1; background:#1c1b18; border-color:#1c1b18; }
.pa-floor-controls>button:not([aria-pressed="true"]):hover { background:#eae4d3; }
.pa-floor-meta { display:flex; flex-direction:column; gap:9px; font-size:10px; color:var(--muted); }
.pa-floor-meta p { font:10px Syne,sans-serif; color:var(--ink); margin-bottom:7px; }
.pa-motion { min-height:34px; align-self:flex-start; padding:8px 0; border:0; border-bottom:1px solid currentColor; font-size:10px; background:transparent; color:inherit; }
.pa-floor-meta .pa-motion { margin-top:16px; }
.pa-motion:hover { color:var(--pa-accent); }
.pa-floor-stage { display:grid; min-width:0; }
.pa-floor-panel { grid-area:1 / 1; min-width:0; opacity:0; visibility:hidden; transition:opacity .55s,visibility .55s; }
.pa-floor-panel[aria-hidden="false"] { opacity:1; visibility:visible; }
.pa-photo-button { position:relative; display:block; padding:0; width:100%; border:0; background:#e2dccb; text-align:left; overflow:hidden; }
.pa-floor-panel .pa-photo-button { aspect-ratio:1.78; }
.pa-photo-button>img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.pa-photo-button:hover>img { transform:scale(1.025); }
.pa-photo-zoom { position:absolute; bottom:17px; right:17px; display:flex; align-items:center; gap:25px; padding:10px 13px; background:#f6f1e1f0; color:var(--ink); font-size:10px; }
.pa-photo-zoom>span { font-size:17px; }
.pa-floor-bottom { display:grid; grid-template-columns:1fr auto; gap:35px; padding:27px 0 0; }
.pa-floor-bottom .pa-kicker { font-size:9px; margin-bottom:9px; }
.pa-floor-bottom h3 { font-size:24px; line-height:1.35; letter-spacing:-.045em; margin-bottom:11px; }
.pa-floor-bottom p:not(.pa-kicker) { font-size:12px; line-height:1.8; max-width:390px; color:var(--muted); }
.pa-floor-bottom dl { display:flex; gap:30px; }
.pa-floor-bottom dt { font-size:10px; color:var(--muted); margin-bottom:10px; }
.pa-floor-bottom dd { font:400 30px/1 ui-monospace,Consolas,monospace; white-space:nowrap; }
.pa-floor-bottom dd small { font:12px Pretendard,sans-serif; margin-left:5px; }
.pa-space-note { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:34px; padding-top:20px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.pa-space-note a { color:var(--ink); display:flex; align-items:center; gap:25px; flex:none; }

/* Exterior campaign photographs are the motion, rather than a fake building. */
.pa-outdoor { --line:#555247; background:#1c1b18; color:#f6f1e1; }
.pa-outdoor-layout { display:grid; grid-template-columns:.82fr 1fr; gap:7vw; align-items:center; }
.pa-outdoor .pa-kicker { color:#c8c1b0; }
.pa-outdoor h2 { font-size:clamp(45px,5.5vw,82px); line-height:1.14; }
.pa-outdoor h2 em { color:#f6f1e1; font-style:normal; }
.pa-outdoor .pa-lead { color:#c8c1b0; max-width:370px; margin-top:30px; }
.pa-outdoor-tags { display:flex; flex-wrap:wrap; gap:10px; margin:25px 0 32px; }
.pa-outdoor-tags span { border:1px solid #686868; padding:7px 10px; font-size:10px; }
.pa-outdoor .pa-text-link:hover { color:#d3d3d3; }
.pa-billboard-top { display:flex; justify-content:space-between; align-items:center; gap:20px; font:9px/1.6 ui-monospace,Consolas,monospace; border-bottom:1px solid #6b665c; padding-bottom:14px; margin-bottom:16px; }
.pa-billboard .pa-motion { color:#d6d6d6; }
.pa-billboard-stage { display:grid; aspect-ratio:4 / 4.7; overflow:hidden; background:#363636; }
.pa-billboard-stage figure { grid-area:1 / 1; min-width:0; min-height:0; position:relative; opacity:0; visibility:hidden; transition:opacity .65s,visibility .65s; }
.pa-billboard-stage figure[aria-hidden="false"] { opacity:1; visibility:visible; }
.pa-billboard-stage img { width:100%; height:100%; object-fit:cover; }
.pa-billboard-stage figcaption { position:absolute; inset:auto 0 0; padding:30px 20px 16px; background:linear-gradient(transparent,#111e); color:white; font-size:11px; }
.pa-billboard-controls { display:grid; grid-template-columns:1fr 1fr; }
.pa-billboard-controls button { padding:18px 12px; text-align:left; display:flex; gap:14px; font-size:10px; border:0; border-top:3px solid #555555; color:#c8c1b0; background:transparent; }
.pa-billboard-controls button[aria-pressed="true"] { border-color:var(--pa-signal); color:#f6f1e1; }
.pa-billboard .pa-small { font-size:10px; color:#c8c1b0; margin-top:8px; }

.pa-memory-intro { display:grid; grid-template-columns:1.1fr 1fr; gap:6vw; align-items:center; margin-bottom:40px; }
.pa-memory-copy .pa-kicker { color:var(--muted); }
.pa-memory-lead { margin:25px 0 16px; font-size:clamp(17px,1.5vw,22px); letter-spacing:-.035em; line-height:1.7; }
.pa-memory-copy .pa-lead { font-size:13px; }
.pa-memory-diagram { text-align:center; min-width:0; }
.pa-memory-diagram svg { display:block; width:100%; max-width:480px; margin:auto; }
.pa-memory-diagram p { font:650 clamp(17px,1.8vw,26px)/1.4 Syne,sans-serif; letter-spacing:-.04em; margin:0 0 8px; }
.pa-memory-diagram>span { font:9px/1.5 ui-monospace,Consolas,monospace; color:var(--muted); }
.pa-brand-notes { border-top:1px solid var(--line); margin-bottom:40px; }
.pa-brand-notes>summary { display:flex; gap:25px; align-items:center; padding:20px 0; cursor:pointer; list-style:none; }
.pa-brand-notes>summary::-webkit-details-marker { display:none; }
.pa-brand-notes>summary>span:first-child { font:9px/1.6 ui-monospace,Consolas,monospace; color:var(--muted); }
.pa-brand-notes>summary>strong { font-size:12px; font-weight:500; }
.pa-brand-notes>summary>span:last-child { margin-left:auto; font-size:21px; }
.pa-brand-notes[open]>summary>span:last-child { transform:rotate(45deg); }
.pa-brand-plates { display:grid; grid-template-columns:2fr 1fr; gap:22px; padding:0 0 25px; }
.pa-brand-plates figure { background:var(--pa-sheet); padding:20px; min-width:0; }
.pa-brand-plates a { display:block; cursor:zoom-in; }
.pa-brand-plates img { width:100%; height:370px; object-fit:contain; }
.pa-brand-plates a>span { display:flex; justify-content:space-between; gap:20px; margin-top:20px; font:10px/1.5 ui-monospace,Consolas,monospace; }
.pa-scenes-label { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; padding:20px 0; border-top:1px solid var(--ink); font:10px/1.5 ui-monospace,Consolas,monospace; }
.pa-scenes-label>span:last-child { color:var(--muted); }
.pa-archive-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:4vw; align-items:start; }
.pa-archive-grid>article:nth-child(2) { margin-top:95px; }
.pa-archive-photo { position:relative; display:block; width:100%; aspect-ratio:1.18; overflow:hidden; background:#e2dccb; }
.pa-archive-photo>img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.pa-archive-photo:hover>img { transform:scale(1.035); }
.pa-case-open { position:absolute; bottom:16px; right:16px; left:16px; padding:14px 16px; display:flex; justify-content:space-between; gap:20px; align-items:center; color:var(--ink); background:#f6f1e1f0; font-size:12px; }
.pa-case-caption { padding:24px 0; }
.pa-case-caption .pa-kicker { font-size:9px; margin-bottom:12px; }
.pa-case-caption h3 { font-size:clamp(23px,2.4vw,35px); line-height:1.3; letter-spacing:-.045em; margin-bottom:15px; }
.pa-case-caption p { color:var(--muted); font-size:13px; line-height:1.8; }
.pa-archive-source { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-top:25px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.pa-archive-source a { color:var(--ink); }
.pa-connected { background:#eae4d3; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pa-connected-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:50px; }
.pa-connected .pa-text-link { margin-top:20px; }
/* Optical marks connect the same visual language to our production team. */
.pa-experience-line { display:grid; grid-template-columns:repeat(3,1fr) 1.4fr; position:relative; gap:25px; margin-top:45px; padding-top:25px; border-top:1px solid var(--line); }
.pa-experience-line::before { content:""; position:absolute; top:85px; left:10%; right:10%; height:1px; background:var(--line); }
.pa-experience-node { position:relative; display:flex; flex-direction:column; align-items:center; gap:13px; }
.pa-experience-node svg { width:120px; height:120px; }
.pa-experience-node strong { font:500 11px/1.5 ui-monospace,Consolas,monospace; letter-spacing:.08em; }
.pa-experience-node:last-child strong { font:650 clamp(17px,2vw,29px)/1.2 Syne,sans-serif; letter-spacing:-.04em; }
.pa-contact-layout { display:grid; grid-template-columns:1.08fr 1fr; gap:7vw; }
.pa-contact .pa-lead { margin-top:24px; }
.pa-contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin:30px 0 18px; }
.pa-contact-actions .pa-text-link { font-size:11px; }
.pa-visit-address { display:grid; grid-template-columns:80px 1fr; gap:20px; padding:0 0 30px; border-bottom:1px solid var(--ink); }
.pa-visit-address>span { font:9px Syne,sans-serif; padding-top:8px; color:#6b665c; }
.pa-visit-address>strong { font-size:30px; font-weight:550; letter-spacing:-.045em; line-height:1.35; }
.pa-visit-address>small { grid-column:2; font-size:10px; color:var(--muted); }
.pa-visit details { border-bottom:1px solid var(--line); }
.pa-visit summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:25px; padding:23px 0; font-size:13px; line-height:1.6; }
.pa-visit summary::-webkit-details-marker { display:none; }
.pa-visit summary>span { font-size:22px; transition:transform .2s; flex:none; }
.pa-visit details[open] summary>span { transform:rotate(45deg); }
.pa-visit details p { margin:0; padding:0 30px 24px 0; color:var(--muted); font-size:12px; line-height:1.9; }
.pa-photo-dialog { padding:20px; max-width:min(95vw,1300px); max-height:94dvh; background:#f6f1e1; color:#1c1b18; border:0; overflow:auto; }
.pa-photo-dialog::backdrop { background:#111111dc; backdrop-filter:blur(5px); }
.pa-photo-dialog>img { display:block; max-width:100%; max-height:76dvh; margin:0 auto; object-fit:contain; }
.pa-photo-dialog>p { font-size:12px; margin:15px 0 0; line-height:1.6; }
.pa-dialog-close { display:grid; place-items:center; width:42px; height:42px; border:1px solid #b8b8b8; background:#f6f1e1; color:#1c1b18; margin:0 0 15px auto; cursor:pointer; }
.pa-dialog-close>svg { width:23px; height:23px; }
.pa-dialog-close:focus-visible { outline:3px solid #1c1b18; outline-offset:3px; }
body.pa-photo-open { overflow:hidden; }

/* One archive system from floor records to the final inquiry. */
.pa-section .pa-kicker { display:flex; align-items:center; gap:10px; }
.pa-section .pa-kicker::before { content:""; width:5px; height:5px; flex:none; background:var(--pa-signal); border-radius:50%; }
.pa-record-frame { position:relative; padding:14px; border:1px solid var(--line); }
.pa-record-frame::before,.pa-record-frame::after { content:""; position:absolute; width:15px; height:15px; pointer-events:none; z-index:2; }
.pa-record-frame::before { left:-1px; top:-1px; border-top:1px solid currentColor; border-left:1px solid currentColor; }
.pa-record-frame::after { right:-1px; bottom:-1px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; }
.pa-record-top { display:flex; gap:15px; align-items:center; padding:0 0 14px; font:9px/1.5 ui-monospace,Consolas,monospace; color:var(--muted); }
.pa-record-top i { flex:1; height:7px; min-width:15px; border-bottom:1px solid var(--line); background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 12px); }
.pa-floor-panel .pa-record-frame { padding-bottom:14px; }
.pa-floor-bottom { border-bottom:1px solid var(--line); padding-bottom:25px; }
.pa-floor-bottom dl { border-left:1px solid var(--line); padding-left:25px; }
.pa-floor-controls>button[aria-pressed="true"]::after { content:""; position:absolute; right:0; top:50%; width:6px; height:6px; background:var(--pa-signal); border-radius:50%; transform:translate(50%,-50%); }
.pa-floor-meta { border-left:1px solid var(--line); padding-left:17px; }
.pa-outdoor .pa-motion:hover { color:var(--pa-sheet); }
.pa-outdoor-tags span { border-color:#555247; }
.pa-record-frame-dark { padding:12px; }
.pa-billboard-top>span { display:flex; align-items:center; gap:9px; }
.pa-billboard-top>span::before { content:""; width:6px; height:6px; flex:none; background:var(--pa-signal); border-radius:50%; }
.pa-archive { background:#faf6e9; }
.pa-memory-diagram { position:relative; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:0 0 22px; }
.pa-memory-diagram::before { content:"+"; position:absolute; top:-12px; right:-5px; font:20px/1 monospace; color:var(--pa-signal); }
.pa-brand-plates figure { border:1px solid var(--line); }
.pa-case-caption { border-bottom:1px solid var(--line); }
.pa-visit-address { position:relative; align-items:center; border-top:1px solid var(--ink); padding-top:24px; }
.pa-visit-address>span { font-family:ui-monospace,Consolas,monospace; }
.pa-visit-marker svg { display:block; width:58px; height:58px; margin-bottom:8px; }
.pa-contact .pa-button::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--pa-signal); }
.pa-visit summary:hover { color:var(--ink); background:#eae4d3; }
.pa-visit details[open] summary>span { color:var(--pa-signal); }
.pieces-profile .footer { border-top:1px solid #555247; }
.pieces-profile .inquiry-dialog { background:var(--paper); }

/* Optical studies: memory flows continuously; other scenes keep their rest. */
.pa-art-controls { display:flex; justify-content:flex-end; margin-top:16px; }
.pa-art-controls .pa-motion { min-width:74px; min-height:30px; padding:5px 0; color:var(--muted); }
.pa-art-controls .pa-motion:hover { color:var(--ink); }
.pa-memory-diagram .pa-art-controls { margin-top:14px; }
.pa-animated { animation-duration:var(--pa-cycle); animation-timing-function:cubic-bezier(.4,0,.2,1); animation-iteration-count:infinite; }
[data-pa-art] .pa-animated { animation-play-state:paused; }
[data-pa-art][data-running="true"] .pa-animated { animation-play-state:running; }
.pa-hero-focus { transform-origin:350px 300px; animation-name:pa-hero-focus; }
.pa-wave-bar { transform-box:fill-box; transform-origin:center; animation-name:pa-wave; animation-delay:var(--bar-delay); }
.pa-memory-packet { opacity:0; animation-name:pa-packet; animation-timing-function:linear; }
.pa-memory-beam { opacity:.2; animation-name:pa-beam; }
.pa-memory-calibration { transform-origin:350px 150px; animation-name:pa-memory-calibrate; animation-duration:36s; animation-timing-function:linear; }
.pa-memory-focus { transform-origin:350px 150px; animation-name:pa-memory-focus; }
.pa-memory-core,.pa-memory-echo { transform-origin:350px 150px; }
.pa-memory-core { animation-name:pa-memory-pulse; }
.pa-memory-echo { opacity:0; animation-name:pa-memory-echo; }
.pa-node-trace { stroke-dasharray:12 88; stroke-dashoffset:25; opacity:0; transform-origin:60px 60px; animation-name:pa-node-trace; animation-delay:var(--node-delay); }
.pa-space-open,.pa-space-inner,.pa-brand-turn,.pa-experience-focus,.pa-experience-core,.pa-experience-echo { transform-origin:60px 60px; }
.pa-space-open { animation-name:pa-space-open; }
.pa-space-inner { animation-name:pa-space-inner; }
.pa-brand-turn { animation-name:pa-brand-turn; }
.pa-person-left { animation-name:pa-person-left; }
.pa-person-right { animation-name:pa-person-right; }
.pa-person-center { animation-name:pa-person-center; }
.pa-experience-focus { animation-name:pa-experience-focus; }
.pa-experience-core { animation-name:pa-experience-core; }
.pa-experience-echo { opacity:0; animation-name:pa-experience-echo; }
.pa-visit-turn,.pa-visit-core { transform-origin:40px 40px; }
.pa-visit-turn { animation-name:pa-visit-turn; }
.pa-visit-core { animation-name:pa-memory-core; }
@keyframes pa-hero-focus {
  0%,66%,100% { transform:scale(1) rotate(0deg); opacity:.5; }
  20% { transform:scale(1.055) rotate(-18deg); opacity:1; }
  42% { transform:scale(.98) rotate(4deg); opacity:1; }
}
@keyframes pa-wave {
  0%,100% { transform:scaleY(.78); opacity:.65; }
  18% { transform:scaleY(1.25); opacity:1; }
  40% { transform:scaleY(.35); opacity:.4; }
  63% { transform:scaleY(1.12); opacity:.9; }
  82% { transform:scaleY(.55); opacity:.55; }
}
@keyframes pa-packet {
  0% { transform:translateX(0); opacity:0; }
  4%,96% { opacity:1; }
  100% { transform:translateX(330px); opacity:0; }
}
@keyframes pa-beam { 0%,100% { opacity:.6; } 50% { opacity:.18; } }
@keyframes pa-memory-calibrate { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes pa-memory-focus {
  0%,100% { transform:scale(.95) rotate(-8deg); }
  30% { transform:scale(1.13) rotate(10deg); }
  65% { transform:scale(1.04) rotate(-16deg); }
}
@keyframes pa-memory-pulse { 0%,100% { transform:scale(1.25); } 42% { transform:scale(.85); } 80% { transform:scale(1); } }
@keyframes pa-memory-core { 0%,40%,66%,100% { transform:scale(1); } 49% { transform:scale(1.45); } }
@keyframes pa-memory-echo {
  0% { transform:scale(.6); opacity:0; }
  8% { opacity:.55; }
  100% { transform:scale(6); opacity:0; }
}
@keyframes pa-node-trace {
  0% { transform:rotate(0deg); opacity:0; }
  4% { opacity:.85; }
  32% { transform:rotate(300deg); opacity:.65; }
  35%,100% { transform:rotate(360deg); opacity:0; }
}
@keyframes pa-space-open { 0%,22%,100% { transform:scale(1) rotate(0deg); } 7% { transform:scale(.5) rotate(-45deg); } }
@keyframes pa-space-inner { 0%,25%,100% { transform:scale(1); } 9% { transform:scale(.25); } 17% { transform:scale(1.18); } }
@keyframes pa-brand-turn { 0%,12% { transform:rotate(0deg); } 35%,100% { transform:rotate(180deg); } }
@keyframes pa-person-left { 0%,20%,46%,100% { transform:translateX(0); } 28% { transform:translateX(-11px); } }
@keyframes pa-person-right { 0%,20%,46%,100% { transform:translateX(0); } 28% { transform:translateX(11px); } }
@keyframes pa-person-center { 0%,24%,46%,100% { transform:translateY(0); } 32% { transform:translateY(-7px); } }
@keyframes pa-experience-focus { 0%,36%,66%,100% { transform:scale(1); } 47% { transform:scale(1.22); } 55% { transform:scale(.94); } }
@keyframes pa-experience-core { 0%,40%,66%,100% { transform:scale(1); } 50% { transform:scale(1.4); } }
@keyframes pa-experience-echo { 0%,46% { transform:scale(.7); opacity:0; } 50% { opacity:.6; } 66%,100% { transform:scale(3.6); opacity:0; } }
@keyframes pa-visit-turn { 0% { transform:rotate(0deg); } 66%,100% { transform:rotate(360deg); } }

@media(max-width:1100px) {
  .pa-floor-guide { grid-template-columns:180px minmax(0,1fr); gap:25px; }
  .pa-floor-bottom { gap:20px; }
  .pa-floor-bottom dl { gap:18px; }
  .pa-floor-bottom dd { font-size:26px; }
  .pa-floor-bottom h3 { font-size:21px; }
  .pa-floor-controls>button { padding:16px 12px; gap:10px; }
  .pa-hero-index strong { font-size:17px; }
  .pa-hero-index>a { gap:8px; padding:22px 17px; }
}
@media(max-width:820px) {
  .pa-page { padding-top:82px; }
  .pa-section { padding:70px var(--pad); }
  .pa-section-head { gap:24px; margin-bottom:32px; }
  .pa-section-head>.pa-lead { max-width:310px; font-size:13px; }
  .pa-observation-hero { gap:25px; }
  .pa-hero h1 { font-size:clamp(34px,6vw,55px); }
  .pa-lens-caption { font-size:8px; }
  .pa-lens-caption>span:last-child { display:none; }
  .pa-observatory>figcaption { font-size:10px; }
  .pa-observatory .pa-motion { font-size:9px; }
  .pa-lens-photo>span { font-size:7px; }
  .pa-memory-intro { gap:30px; }
  .pa-memory-copy h2 { font-size:35px; }
  .pa-hero-top { font-size:9px; }
  .pa-hero-index>a { grid-template-columns:18px 1fr; }
  .pa-hero-index svg { display:none; }
  .pa-hero-index strong { font-size:16px; }
  .pa-hero-index small { font-size:9px; }
  .pa-floor-guide { display:block; }
  .pa-floor-sidebar { display:block; }
  .pa-floor-controls { display:grid; grid-template-columns:repeat(3,1fr); }
  .pa-floor-controls>button { min-height:74px; }
  .pa-floor-controls>button+button { border-left:1px solid var(--line); }
  .pa-floor-meta { flex-direction:row; align-items:center; justify-content:space-between; margin:10px 0 17px; }
  .pa-floor-meta p,.pa-floor-meta>span:nth-of-type(2) { display:none; }
  .pa-floor-meta .pa-motion { margin:0; }
  .pa-floor-meta { border-left:0; padding-left:0; }
  .pa-outdoor-layout { gap:32px; }
  .pa-outdoor h2 { font-size:42px; }
  .pa-outdoor .pa-lead { font-size:13px; }
  .pa-billboard-top>span { max-width:100px; line-height:1.6; }
  .pa-billboard-stage { aspect-ratio:4 / 5; }
  .pa-billboard-controls button { flex-direction:column; gap:8px; padding:14px 5px; }
  .pa-connected-grid,.pa-contact-layout { gap:30px; }
  .pa-contact-layout { grid-template-columns:1fr 1fr; }
  .pa-visit-address { grid-template-columns:60px 1fr; gap:12px; }
  .pa-visit-address>strong { font-size:25px; }
}
@media(max-width:600px) {
  .pa-page { padding-top:76px; }
  .pa-page section { scroll-margin-top:76px; }
  .pa-hero .breadcrumb { padding:15px 0 24px; }
  .pa-hero-top { align-items:flex-start; font-size:9px; gap:12px; }
  .pa-hero-top>span { font-size:9px; letter-spacing:0; max-width:98px; text-align:right; }
  .pa-hero-top>span>span { white-space:nowrap; }
  .pa-affiliation { font-size:9px; gap:8px; }
  .pa-affiliation .pa-arrow { width:12px; height:12px; }
  .pa-observation-hero { grid-template-columns:1fr; gap:35px; padding:32px 0; }
  .pa-hero h1 { font-size:clamp(40px,12vw,70px); margin-bottom:24px; }
  .pa-hero-copy .pa-kicker { margin-bottom:19px; font-size:9px; }
  .pa-hero-message { font-size:24px; }
  .pa-hero-copy .pa-lead { font-size:12px; margin-bottom:22px; }
  .pa-lens-caption { font-size:8px; }
  .pa-lens-caption>span:last-child { display:block; }
  .pa-lens-photo>span { font-size:7px; padding-bottom:16px; }
  .pa-hero .pa-button { font-size:12px; gap:24px; padding:14px 17px; min-height:50px; }
  .pa-hero-index { grid-template-columns:1fr; }
  .pa-hero-index>a,.pa-hero-index>a:first-child { grid-template-columns:25px 1fr auto 20px; gap:12px; padding:20px 0; }
  .pa-hero-index>a+a { border-left:0; border-top:1px solid var(--line); }
  .pa-hero-index>a>span { grid-row:auto; }
  .pa-hero-index small { grid-column:3; font-size:9px; }
  .pa-hero-index svg { display:block; grid-column:4; grid-row:1; width:18px; height:18px; }
  .pa-section { padding:60px var(--pad); }
  .pa-section h2 { font-size:37px; }
  .pa-section-head { display:block; }
  .pa-section-head>.pa-lead { margin-top:22px; max-width:none; }
  .pa-kicker { font-size:9px; margin-bottom:20px; }
  .pa-floor-controls>button { grid-template-columns:1fr auto; gap:8px; min-height:68px; padding:16px 13px; }
  .pa-floor-controls>button>span:first-child { font-size:27px; }
  .pa-floor-controls>button>span:nth-child(2) { font-size:10px; }
  .pa-floor-controls svg { display:none; }
  .pa-floor-panel .pa-photo-button { aspect-ratio:1.5; }
  .pa-photo-zoom { bottom:10px; right:10px; gap:15px; font-size:9px; }
  .pa-floor-bottom { grid-template-columns:1fr; gap:21px; padding-top:22px; }
  .pa-floor-bottom h3 { font-size:23px; }
  .pa-floor-bottom p:not(.pa-kicker) { font-size:12px; }
  .pa-floor-bottom dl { gap:50px; }
  .pa-floor-bottom dd { font-size:30px; }
  .pa-space-note { align-items:flex-start; font-size:10px; margin-top:25px; }
  .pa-space-note a { gap:10px; }
  .pa-space-note .pa-arrow { width:18px; height:18px; }
  .pa-outdoor-layout { grid-template-columns:1fr; gap:35px; }
  .pa-outdoor h2 { font-size:49px; }
  .pa-outdoor .pa-lead { margin-top:24px; max-width:none; }
  .pa-outdoor-tags { margin:20px 0 22px; }
  .pa-billboard-top>span { max-width:none; }
  .pa-billboard-stage { aspect-ratio:4 / 4.6; }
  .pa-billboard-controls button { flex-direction:row; gap:10px; padding:16px 6px; }
  .pa-memory-intro { grid-template-columns:1fr; gap:0; margin-bottom:35px; }
  .pa-memory-copy h2 { font-size:37px; }
  .pa-memory-lead { font-size:18px; margin-top:22px; }
  .pa-memory-lead br { display:none; }
  .pa-memory-diagram svg { max-width:310px; }
  .pa-brand-notes { margin-bottom:20px; }
  .pa-brand-notes>summary { gap:13px; }
  .pa-brand-notes>summary>span:first-child { font-size:8px; max-width:40px; }
  .pa-brand-notes>summary>strong { font-size:11px; }
  .pa-brand-plates { grid-template-columns:1fr; gap:15px; }
  .pa-brand-plates img { height:auto; max-height:380px; }
  .pa-scenes-label { font-size:9px; padding:15px 0; }
  .pa-archive-grid { grid-template-columns:1fr; gap:28px; }
  .pa-archive-grid>article:nth-child(2) { margin-top:0; }
  .pa-archive-photo { aspect-ratio:1.2; }
  .pa-case-caption h3 { font-size:27px; }
  .pa-case-caption p { font-size:12px; }
  .pa-archive-source { align-items:flex-start; flex-direction:column; gap:15px; font-size:10px; }
  .pa-connected-grid,.pa-contact-layout { grid-template-columns:1fr; gap:27px; }
  .pa-connected .pa-lead,.pa-contact .pa-lead { font-size:13px; }
  .pa-experience-line { grid-template-columns:repeat(3,1fr); gap:24px 8px; margin-top:36px; }
  .pa-experience-line::before { top:63px; }
  .pa-experience-node { gap:8px; }
  .pa-experience-node svg { width:76px; height:76px; }
  .pa-experience-node strong { font-size:9px; }
  .pa-experience-node:last-child { grid-column:1 / -1; flex-direction:row; justify-content:center; gap:20px; border-top:1px solid var(--line); padding-top:18px; }
  .pa-experience-node:last-child strong { font-size:22px; }
  .pa-record-frame { padding:9px; }
  .pa-record-top { font-size:7px; gap:10px; padding-bottom:10px; }
  .pa-floor-bottom dl { padding-left:0; border-left:0; }
  .pa-visit-marker svg { width:45px; height:45px; }
  .pa-visit { margin-top:20px; }
  .pa-visit-address { grid-template-columns:80px 1fr; padding-bottom:24px; }
  .pa-contact-actions .pa-text-link { gap:22px; }
  .pa-photo-dialog { padding:13px; }
}
@media(prefers-reduced-motion:reduce) {
  .pa-page *, .pa-page *::before, .pa-page *::after { animation:none!important; transition:none!important; }
}
