/* FONTFACE-START */
@font-face{font-family:'Shippori Mincho B1';font-style:normal;font-weight:600;font-display:swap;src:url('/typo/ShipporiMinchoB1.woff2') format('woff2');}
/* FONTFACE-END */
/* lewis.tattoo — traditional American / traditional Japanese, by the book */
:root,:root[data-theme=dark]{color-scheme:light;--bg:#f4efe5;--ink:#181310;--mut:#6f6357;--hair:rgba(24,19,16,.16);--card:#ece5d6;--ok:#2c6e49;--warn:#b3301f;--bg-glass:rgba(244,239,229,.86);--lw-red:#b3301f;--oxblood:#8a1f14}
::selection{background:#b3301f;color:#f7f3ea}
.splash-name,.tb-name{font-family:"Shippori Mincho B1","Hiragino Mincho ProN",Georgia,serif;letter-spacing:.08em}
.eyebrow{color:var(--lw-red)}
.tagline,#lbCap{font-family:Georgia,serif}
body::after{opacity:.03}
.hero-sun{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);width:min(66vw,420px);height:auto;pointer-events:none}
.hero-sun circle{fill:var(--oxblood);stroke:none;opacity:.1}
.hero-cactus{display:none}
/* kanji rail — one straight unbroken vertical line, room to breathe, never wraps */
.jp-accent{position:absolute;right:16px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;white-space:nowrap;max-height:none;font-family:"Shippori Mincho B1",Georgia,serif;font-size:clamp(20px,4.2vw,30px);letter-spacing:.28em;color:var(--lw-red);opacity:.6}
.splash-cactus{width:52px}
.empty-cactus{width:44px}
.wave-rule{height:20px;margin:0 var(--pad);background:radial-gradient(circle at 50% 100%,transparent 0 7px,var(--hair) 7px 8px,transparent 8px) 0 6px/20px 20px repeat-x}
.grid .cell{border-radius:0;border:1px solid var(--hair)}
.btn{border-radius:0;border-color:var(--ink)}
.btn:hover{background:var(--lw-red);border-color:var(--lw-red);color:#f7f3ea}
#machines{padding:10vh var(--pad);text-align:center;max-width:960px;margin:0 auto}
#machines .prose{max-width:560px;margin:26px auto 0}
#lightbox{background:rgba(244,239,229,.97)}
#lbClose{color:var(--ink)}
#lbCount{color:var(--mut)}

/* the American half: road-sign display + typewriter notes */
@font-face{font-family:"Rye";font-style:normal;font-weight:400;font-display:swap;src:url('/typo/Rye.woff2') format('woff2');}
@font-face{font-family:"Special Elite";font-style:normal;font-weight:400;font-display:swap;src:url('/typo/SpecialElite.woff2') format('woff2');}
:root,:root[data-theme] .display{font-family:"Rye","Shippori Mincho B1",Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em}
:root,:root[data-theme] .splash-name{font-family:"Rye","Shippori Mincho B1",Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em}
:root,:root[data-theme] .eyebrow{font-family:"Special Elite",Georgia,serif;letter-spacing:.18em}
:root,:root[data-theme] .tagline{font-family:"Special Elite",Georgia,serif}

/* ---- shared chrome (mechanism): hero video, filter ---- */
#heroVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:.32}
#hero{position:relative;isolation:isolate}
#hero>:not(#heroVideo){position:relative;z-index:1}
#filterFab[hidden]{display:none}
#filterFab{display:inline-flex}
.fp-input{display:block;width:100%;padding:10px 12px;border:1px solid var(--hair);border-radius:8px;background:transparent;color:var(--ink);font-family:var(--sans);font-size:13px}
.fp-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.fp-chip.on{color:var(--bg);background:var(--ink);border-color:var(--ink)}

/* ---- round-5: the machine IS the splash; gateway; roster ---- */
#splash .splash-machine{display:block;width:min(420px,80vw);height:min(46vh,544px);margin:0 auto 18px;color:currentColor}
#splash .splash-machine path{stroke:currentColor;stroke-width:1.8;vector-effect:non-scaling-stroke;fill:none}
#flourish path:nth-child(2){stroke:var(--lw-red)}

/* gateway: two book plates in front of the galleries */
#gateway{padding:12vh var(--pad) 0;text-align:center}
#gateway .eyebrow{margin-bottom:26px}
.gw-tiles{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,4vw,38px);max-width:780px;margin:0 auto}
.gw-tile{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent}
.gw-frame{position:relative;display:block;aspect-ratio:4/5;background:var(--card);border:1px solid var(--ink);box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--hair);overflow:hidden;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out)}
.gw-ph{position:absolute;inset:0;display:block}
.gw-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gw-tile:hover .gw-frame,.gw-tile:focus-visible .gw-frame{transform:translateY(-6px);box-shadow:0 14px 26px rgba(24,19,16,.18),0 0 0 5px var(--bg),0 0 0 6px var(--ink)}
.gw-label{display:block;margin-top:18px;font-family:"Rye",Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:clamp(17px,4vw,23px)}
.gw-sub{display:block;margin-top:2px;color:var(--mut);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
/* both galleries stocked → tiles collapse to a header row (never a gate twice) */
body.gw-collapsed #gateway{padding-top:9vh}
body.gw-collapsed #gateway .eyebrow{display:none}
body.gw-collapsed .gw-tiles{display:flex;justify-content:center;align-items:center;gap:clamp(22px,6vw,60px);max-width:none}
body.gw-collapsed .gw-tile{display:flex;align-items:center;gap:10px}
body.gw-collapsed .gw-frame{position:relative;width:40px;aspect-ratio:4/5;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--hair)}
body.gw-collapsed .gw-label{margin:0;font-size:13px}
body.gw-collapsed .gw-sub{display:none}

/* machine roster */
.machine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin-top:44px;text-align:left}
.m-card{position:relative;border:1px solid var(--hair);background:var(--card);opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease-out) var(--d,0ms),transform .6s var(--ease-out) var(--d,0ms)}
.m-card.in{opacity:1;transform:none}
.m-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--hair)}
.m-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-nophoto{display:block;position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 14px,var(--hair) 14px 15px);opacity:.5}
.m-title{font-family:"Rye",Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:19px;margin:14px 16px 0}
.m-price{margin:2px 16px 0;font-family:"Special Elite",Georgia,serif;color:var(--ink);font-size:15px}
.m-notes{margin:6px 16px 0;color:var(--mut);font-size:13px;line-height:1.5}
.m-ask{display:flex;gap:8px;margin:14px 16px 0;flex-wrap:wrap}
.m-ask .btn{flex:1;text-align:center;padding:10px 12px;font-size:13px}
.m-stamp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-7deg);font-family:"Rye",Georgia,serif;font-weight:400;font-size:clamp(26px,5vw,34px);letter-spacing:.12em;padding:4px 18px;border:3px double currentColor;border-radius:4px;white-space:nowrap;pointer-events:none}
.m-stamp.sold{color:var(--lw-red);opacity:.9;background:rgba(244,239,229,.35)}
.m-stamp.ok{color:var(--ok);background:rgba(244,239,229,.35)}
.machine-empty{max-width:560px;margin:30px auto 0;color:var(--mut);font-family:"Special Elite",Georgia,serif;text-align:center}
@media (prefers-reduced-motion:reduce){
  #splash .splash-machine path{stroke-dashoffset:0 !important}
  .gw-frame{transition:none}
  .gw-tile:hover .gw-frame{transform:none}
  .m-card{opacity:1;transform:none;transition-duration:.3s}
}

/* --- owner pass 2026-10-12 --- */
.tagline .tl{display:block;line-height:1.55}
#work,#machines{display:none}
body.gw-tattoos #work{display:block}
body.gw-machines #machines{display:block}
.gw-back{margin:0 auto 18px;display:block}
