/* Structure shared by the three mock-ups. Colors and type come from each page's :root tokens. */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
button:disabled{opacity:.3;cursor:default}
.tbc{color:var(--tbc,#C98A2B);font-style:normal}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.open-art{display:block;width:100%;cursor:zoom-in;position:relative}
.open-art img{width:auto;max-width:100%;height:auto}

/* pill */
.pill{position:fixed;z-index:40;right:var(--gut);bottom:20px;display:flex;align-items:center;gap:10px;transform:translateY(140%);transition:transform .5s cubic-bezier(.2,.7,.1,1)}
.pill.on{transform:none}
.pill b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;font-size:11px}

/* inquiry panel */
.scrim{position:fixed;inset:0;z-index:50;background:rgba(5,8,25,.5);opacity:0;pointer-events:none;transition:opacity .4s}
.inq{position:fixed;z-index:51;top:0;right:0;bottom:0;width:min(500px,100vw);transform:translateX(100%);transition:transform .55s cubic-bezier(.2,.7,.1,1);display:flex;flex-direction:column}
.inq{visibility:hidden;transition:transform .55s cubic-bezier(.2,.7,.1,1),visibility 0s .55s}
.inq-open .scrim{opacity:1;pointer-events:auto}.inq-open .inq{transform:none;visibility:visible;transition:transform .55s cubic-bezier(.2,.7,.1,1)}
.inq header{display:flex;justify-content:space-between;align-items:center;padding:22px 28px}
.inq header button{font-size:26px;line-height:1}
.inq-body{overflow:auto;padding:0 28px 40px;flex:1}
.sel-row{display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:center;padding:12px 0}
.sel-row img{width:60px;height:60px;object-fit:contain}
.sel-row button{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.sel-empty{padding:24px 0;opacity:.6}
.inq h4{margin:28px 0 16px}
.inq label{display:block;margin-bottom:14px}
.inq label span{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.65;margin-bottom:4px}
.inq input:not([type=checkbox]),.inq textarea{width:100%;font:inherit;font-size:16px;padding:9px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;border-radius:0}
.inq .consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;opacity:.85}
.inq .consent input{margin-top:3px;flex:none}
.send{width:100%;padding:17px;margin-top:6px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.wa{margin-top:30px;padding-top:22px}
.wa p{margin-bottom:10px}
.wa-btn{display:block;text-align:center;padding:15px;border:1px solid currentColor;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.wa pre{white-space:pre-wrap;font:13px/1.5 var(--text);background:#E5EFDF;color:#1F2E26;padding:14px;margin-top:12px}

/* detail view */
.lb{position:fixed;inset:0;z-index:60;display:grid;grid-template-columns:1fr minmax(280px,360px);opacity:0;pointer-events:none;transition:opacity .4s}
.lb-open .lb{opacity:1;pointer-events:auto}
.lb-open .pill{opacity:0;pointer-events:none}
.lb-close{position:absolute;top:14px;right:20px;font-size:30px;z-index:2}
.lb-fig{display:grid;place-items:center;padding:48px;min-height:0;position:relative;overflow:hidden;cursor:zoom-in;touch-action:manipulation}
.lb-fig img{transition:transform .45s cubic-bezier(.2,.7,.1,1);user-select:none;-webkit-user-select:none}
.lb-fig.zoomed{cursor:zoom-out;touch-action:none}
.lb-fig.zoomed img{transition:transform .45s cubic-bezier(.2,.7,.1,1),transform-origin .12s linear}
.zoom-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-family:var(--display,Arial);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.55;pointer-events:none;transition:opacity .3s}
.lb-fig.zoomed .zoom-hint{opacity:0}
.lb-fig img{max-height:calc(100vh - 96px);width:auto;max-width:100%;object-fit:contain}
.lb-side{padding:72px 36px 36px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.lb-id{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.6}
.lb-m{line-height:1.6;opacity:.8}
.lb-s{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.lb-s i,.st i{width:7px;height:7px;border-radius:50%;display:inline-block;border:1px solid currentColor}
.st-hold i{background:currentColor;opacity:.6}
.st-sold i{background:#C3261C;border-color:#C3261C}
.lb-thumbs{display:flex;gap:8px;margin-top:8px}
.lb-thumbs button{width:56px;height:56px;opacity:.5}
.lb-thumbs button[aria-pressed=true]{opacity:1;outline:1px solid currentColor;outline-offset:2px}
.lb-thumbs img{width:100%;height:100%;object-fit:cover}
.lb-nav{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding-top:24px}

@media (max-width:760px){
  .pill{left:16px;right:16px;justify-content:center}
  .inq{top:auto;height:92svh;width:100%;transform:translateY(100%)}
  .lb{grid-template-columns:1fr;grid-template-rows:62svh auto;overflow:auto}
  .lb-fig{padding:52px 12px 8px}
  .lb-fig img{max-height:calc(62svh - 60px)}
  .lb-side{padding:18px 20px 32px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* inquiry form */
.inq .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{min-height:1.2em;font-size:13px;margin:8px 0 0}
.form-note.bad{color:#A3261C}
.privacy-note{font-size:12px;opacity:.7;margin-top:10px}
.privacy-note a{color:inherit}
.inq-done{padding:28px 0 8px}
.inq-done h4{margin:0 0 6px}
a.wa-btn{color:inherit;text-decoration:none}
