/* The supplied painting stays intact; the scannable QR sits beside its figures. */
#intro #qr-curtain{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;padding:24px max(24px,4vw) 84px}
#intro #qr-curtain .qr-opening-composition{position:relative;width:min(100%,calc((100svh - 108px) * 1.776833),1440px);aspect-ratio:1672/941;min-height:0}
#intro #qr-curtain .qr-painting{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;margin:0;transform:none}
#intro #qr-curtain .qr-art{inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
#intro #qr-curtain .qr-art img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
#intro #qr-curtain .qr-opening-copy{position:absolute;left:5%;top:50%;width:35%;transform:translateY(-50%);display:grid;gap:22px;z-index:2;pointer-events:none}
#intro #qr-curtain .company-opening{max-width:none;margin:0;text-align:left}
#intro #qr-curtain .company-brand{font-size:clamp(38px,4.3vw,68px);line-height:1.04}
#intro #qr-curtain .company-category{font-size:clamp(14px,1.65vw,24px);line-height:1.3;letter-spacing:0;margin-top:13px;white-space:normal}
#intro #qr-curtain .company-purpose{font-size:clamp(18px,1.8vw,27px);line-height:1.32;letter-spacing:-.02em;margin-top:22px;text-wrap:pretty}
#intro #qr-curtain .qr-native-code{display:block;width:clamp(150px,12vw,170px);height:auto;max-width:100%;aspect-ratio:1;object-fit:contain;filter:none;opacity:1}

/* Contact keeps its existing text column and a compact art/QR pairing. */
#exhibition.mainline #contact #closing-qr .qr-painting{display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:end;gap:18px;aspect-ratio:auto;height:auto;max-height:none}
#exhibition.mainline #contact #closing-qr .qr-art{display:block;position:static;width:100%;height:auto}
#exhibition.mainline #contact #closing-qr .qr-art img{display:block;width:100%;height:auto;aspect-ratio:984/941;object-fit:contain}
#exhibition.mainline #contact #closing-qr .qr-brand{position:static;inset:auto;transform:none;display:flex;align-items:center;gap:9px;width:auto;max-width:none;text-align:center;text-shadow:none}
#exhibition.mainline #contact #closing-qr .qr-brand>span{font-size:12px;line-height:1.3;letter-spacing:.08em}
#exhibition.mainline #contact #closing-qr .qr-native-link{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:44px;font-size:11px;line-height:1.3;letter-spacing:.02em}
#exhibition.mainline #contact #closing-qr .qr-native-code{display:block;width:132px;height:132px;max-width:100%;object-fit:contain;filter:none;opacity:1}
#exhibition.mainline #contact #closing-qr .qr-native-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}

@media(max-width:760px){
 #intro #qr-curtain{padding:max(14px,env(safe-area-inset-top)) 18px max(84px,calc(env(safe-area-inset-bottom) + 70px));gap:0}
 #intro #qr-curtain .qr-opening-composition{width:100%;height:auto;max-width:520px;max-height:100%;aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:16px;align-self:center}
 #intro #qr-curtain .qr-painting{position:relative;inset:auto;grid-column:1;grid-row:1;min-height:0;width:100%;height:auto;aspect-ratio:984/941;align-self:center}
 #intro #qr-curtain .qr-art{align-items:flex-end}
 #intro #qr-curtain .qr-art img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent)}
 #intro #qr-curtain .qr-opening-copy{position:static;inset:auto;transform:none;grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) clamp(112px,31vw,124px);align-items:center;gap:16px;width:100%}
 #intro #qr-curtain .company-brand{font-size:clamp(29px,8.2vw,38px);line-height:1.06;letter-spacing:-.04em}
 #intro #qr-curtain .company-category{font-size:clamp(12px,3.2vw,15px);line-height:1.3;margin-top:8px;letter-spacing:0;white-space:normal}
 #intro #qr-curtain .company-purpose{font-size:clamp(14px,3.7vw,17px);line-height:1.32;margin-top:12px;letter-spacing:-.015em}
 #intro #qr-curtain .qr-native-code{width:100%;height:auto}
 #exhibition.mainline #contact #closing-qr .qr-painting{grid-template-columns:minmax(0,1fr);gap:18px}
 #exhibition.mainline #contact #closing-qr .qr-brand{flex-direction:row;justify-content:space-between;align-items:center;gap:18px}
 #exhibition.mainline #contact #closing-qr .qr-native-code{width:124px;height:124px}
}
@media(max-width:350px){
 #intro #qr-curtain .qr-opening-copy{gap:12px}
 #intro #qr-curtain .company-purpose{font-size:14px;margin-top:10px}
}
@media(max-height:500px) and (orientation:landscape){
 #intro #qr-curtain{padding:12px 24px 80px}
 #intro #qr-curtain .qr-opening-composition{width:min(100%,900px);height:100%;aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:24px;align-items:center;max-width:900px}
 #intro #qr-curtain .qr-painting{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%}
 #intro #qr-curtain .qr-art{align-items:center}
 #intro #qr-curtain .qr-opening-copy{position:static;inset:auto;transform:none;width:100%;grid-column:1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 #intro #qr-curtain .company-brand{font-size:30px}
 #intro #qr-curtain .company-category{font-size:12px;margin-top:6px}
 #intro #qr-curtain .company-purpose{font-size:14px;line-height:1.25;margin-top:10px}
 #intro #qr-curtain .qr-native-code{width:112px;height:112px}
}
@media(max-width:350px){
 #intro .intro-actions{gap:6px}
 #intro .intro-actions #intro-skip{padding-inline:10px;white-space:nowrap}
}
