/* Logarhythm — shared design system. White-on-black, industrial, one amber accent.
   Loaded by every page; page content is scoped under .lh. */

@font-face{font-family:'lhBarlow';src:url('fonts/barlow/barlow_normal_400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'lhBarlow';src:url('fonts/barlow/barlow_normal_700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'lhBarlow';src:url('fonts/barlow/barlow_italic_400.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'lhDin';src:url('fonts/d-din/d-din-exp_normal_400.ttf') format('truetype');font-weight:400;font-display:swap}

.lh{--ink:#f4f4f2;--dim:#9a9a97;--bg:#0a0a0a;--bg2:#141414;--line:rgba(255,255,255,.14);--glow:#ffb454;
  background:var(--bg);color:var(--ink);font-family:'lhBarlow',system-ui,sans-serif;line-height:1.55;
  -webkit-font-smoothing:antialiased}
.lh *{box-sizing:border-box}
.lh img{max-width:100%;height:auto;display:block}
.lh a{color:inherit}

.lh-wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.lh-narrow{max-width:760px}

/* labels + headings */
.lh-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin:0 0 1.1rem;display:flex;align-items:center;gap:.6em}
.lh-dot{width:7px;height:7px;border-radius:50%;background:var(--glow);box-shadow:0 0 10px var(--glow);display:inline-block;flex:none}
.lh-h1{font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.92;font-size:clamp(2.6rem,8vw,6rem);margin:0 0 1.4rem}
.lh-h2{font-weight:700;text-transform:uppercase;letter-spacing:-.005em;line-height:1;font-size:clamp(1.8rem,4.5vw,3.1rem);margin:0 0 1rem}
.lh-lede{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:48ch;color:#dedede;margin:0 0 1.6rem}
.lh-meta{font-family:'lhDin';font-size:.85rem;letter-spacing:.04em;color:var(--dim);margin:0}
.lh-sub{max-width:62ch;color:#c8c8c6;margin:0 0 2rem}

.lh-sec{padding:clamp(3.5rem,8vw,7rem) 0;border-top:1px solid var(--line)}
.lh-sec--plain{border-top:0}

/* buttons */
.lh-btnrow{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.4rem}
.lh-cta,.lh-ghost{display:inline-block;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;padding:.9rem 1.5rem;border-radius:2px;text-decoration:none;transition:transform .12s,box-shadow .15s,background .15s,color .15s,border-color .15s;border:1px solid transparent}
.lh-cta{background:var(--glow);color:#0a0a0a}
.lh-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,180,84,.25)}
.lh-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.lh-ghost:hover{border-color:var(--glow);color:#fff}
.lh-cta:focus-visible,.lh-ghost:focus-visible{outline:2px solid var(--glow);outline-offset:3px}

/* hero (shared) */
.lh-hero{position:relative;padding:clamp(4rem,11vw,9rem) 0 clamp(3rem,7vw,6rem);overflow:hidden;isolation:isolate}
.lh-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center/cover no-repeat;filter:grayscale(1) contrast(1.05) brightness(.5)}
.lh-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.78) 45%,rgba(10,10,10,.4) 100%)}

/* cards (pillars / recent) */
.lh-cards{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2.4rem}
.lh-card{background:var(--bg);padding:2rem 1.8rem 2.2rem}
.lh-card h3{font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:1.15rem;margin:0 0 .8rem}
.lh-card .lh-idx{font-family:'lhDin';font-size:.8rem;color:var(--glow);letter-spacing:.1em;display:block;margin-bottom:.7rem}
.lh-card p{margin:0;color:#c2c2c0;font-size:.98rem}

/* roster (hardware) */
.lh-tools{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:0 0 1.2rem}
.lh-search{position:relative;flex:1 1 320px;min-width:0}
.lh-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:var(--dim);stroke-width:2;stroke-linecap:round}
.lh-search input{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--ink);font-family:'lhDin';font-size:1rem;padding:.9rem 1rem .9rem 46px;border-radius:2px;outline:none}
.lh-search input::placeholder{color:#6f6f6d}
.lh-search input:focus{border-color:var(--glow);box-shadow:0 0 0 1px var(--glow)}
.lh-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.lh-chip{background:transparent;border:1px solid var(--line);color:var(--dim);font-family:'lhBarlow';font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;padding:.6rem .95rem;border-radius:2px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.lh-chip:hover{color:var(--ink);border-color:#555}
.lh-chip.is-active{color:#0a0a0a;background:var(--glow);border-color:var(--glow)}
.lh-chip:focus-visible{outline:2px solid var(--glow);outline-offset:2px}
.lh-count{font-family:'lhDin';font-size:.82rem;color:var(--dim);letter-spacing:.03em;margin:0 0 2.2rem}
.lh-groups{display:grid;gap:2.4rem}
.lh-group[hidden]{display:none}
.lh-maker{font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:1.15rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.lh-models{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}
.lh-model{font-family:'lhDin';font-size:.95rem;letter-spacing:.02em;border:1px solid var(--line);background:var(--bg2);padding:.5rem .8rem;border-radius:2px;transition:border-color .15s,color .15s,transform .12s}
.lh-model[hidden]{display:none}
.lh-model:hover{border-color:var(--glow);color:#fff;transform:translateY(-2px)}
.lh-model mark{background:none;color:var(--glow);font-weight:400}
.lh-empty{margin:2rem 0 0;color:#c8c8c6}
.lh-empty a{color:var(--glow);text-decoration:none;border-bottom:1px solid transparent}
.lh-empty a:hover{border-color:var(--glow)}

/* process steps */
.lh-steps{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;gap:1px;background:var(--line);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));border:1px solid var(--line)}
.lh-step{background:var(--bg);padding:1.8rem 1.6rem 2rem}
.lh-step-n{font-family:'lhDin';font-size:.85rem;color:var(--glow);letter-spacing:.1em}
.lh-step-t{font-weight:700;text-transform:uppercase;font-size:1.05rem;margin:.6rem 0 .5rem}
.lh-step-d{font-size:.95rem;color:#c2c2c0;margin:0}
.lh-note{font-family:'lhDin';font-size:.9rem;color:var(--dim);margin:2.2rem 0 0;max-width:64ch;padding-left:1rem;border-left:2px solid var(--glow)}

/* about grid + info */
.lh-about-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.lh-info dl{margin:0;font-size:.95rem}
.lh-info dt{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--dim);margin:0 0 .35rem}
.lh-info dd{font-family:'lhDin';margin:0 0 1.5rem;color:var(--ink);line-height:1.6}
.lh-info a{text-decoration:none;border-bottom:1px solid var(--glow)}
@media(max-width:720px){.lh-about-grid{grid-template-columns:1fr}}

/* recent project feature */
.lh-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;margin-top:2.4rem;border:1px solid var(--line)}
.lh-feature a.lh-feature-img{display:block;overflow:hidden}
.lh-feature img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1);transition:filter .3s,transform .4s}
.lh-feature:hover img{filter:grayscale(0);transform:scale(1.03)}
.lh-feature-body{padding:2rem}
.lh-feature-body h3{font-weight:700;text-transform:uppercase;font-size:1.4rem;margin:.3rem 0 .8rem}
.lh-feature-body p{color:#c2c2c0;margin:0 0 1.2rem}
.lh-feature-link{color:var(--glow);text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}
@media(max-width:720px){.lh-feature{grid-template-columns:1fr}}

/* gallery */
.lh-gallery{columns:3 300px;column-gap:14px;margin-top:2.4rem}
.lh-gallery figure{break-inside:avoid;margin:0 0 14px;position:relative;overflow:hidden;cursor:zoom-in;background:var(--bg2)}
.lh-gallery img{width:100%;filter:grayscale(1) brightness(.92);transition:filter .35s,transform .5s}
.lh-gallery figure:hover img{filter:grayscale(0) brightness(1);transform:scale(1.04)}
.lh-gallery figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none}

/* lightbox */
.lh-lb{position:fixed;inset:0;z-index:9999;background:rgba(6,6,6,.94);display:none;align-items:center;justify-content:center;padding:4vh 4vw}
.lh-lb.is-open{display:flex}
.lh-lb img{max-width:100%;max-height:92vh;width:auto;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lh-lb button{position:absolute;background:transparent;border:0;color:#fff;cursor:pointer;font-size:2rem;line-height:1;padding:.4em .6em}
.lh-lb .lh-lb-close{top:2vh;right:2vw;font-size:2.4rem}
.lh-lb .lh-lb-prev{left:1vw;top:50%;transform:translateY(-50%)}
.lh-lb .lh-lb-next{right:1vw;top:50%;transform:translateY(-50%)}
.lh-lb button:hover{color:var(--glow)}

/* form */
.lh-form{display:grid;gap:1.1rem;max-width:520px}
.lh-field{display:grid;gap:.4rem}
.lh-field label{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--dim)}
.lh-field input,.lh-field textarea{background:var(--bg2);border:1px solid var(--line);color:var(--ink);font-family:'lhBarlow';font-size:1rem;padding:.85rem 1rem;border-radius:2px;outline:none;width:100%}
.lh-field textarea{min-height:140px;resize:vertical}
.lh-field input:focus,.lh-field textarea:focus{border-color:var(--glow);box-shadow:0 0 0 1px var(--glow)}
.lh-form button{justify-self:start;cursor:pointer;border:0}
.lh-formnote{font-family:'lhDin';font-size:.85rem;color:var(--dim);margin:.4rem 0 0}
.lh-formnote strong{color:var(--ink)}

/* article / prose */
.lh-prose{max-width:720px}
.lh-prose p{margin:0 0 1.3rem;color:#d6d6d4;font-size:1.08rem}
.lh-figs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:2.4rem 0}
.lh-figs figure{margin:0;overflow:hidden;background:var(--bg2);cursor:zoom-in;position:relative}
.lh-figs img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) brightness(.95);transition:filter .35s,transform .5s}
.lh-figs figure:hover img{filter:grayscale(0);transform:scale(1.04)}
.lh-lead{margin:2.2rem 0;overflow:hidden}
.lh-lead img{width:100%;max-height:60vh;object-fit:cover;filter:grayscale(1) contrast(1.05)}

@media(max-width:640px){.lh-gallery{columns:2 160px}}

/* load-in */
@media(prefers-reduced-motion:no-preference){
  .lh-model,.lh-card,.lh-gallery figure{animation:lhIn .5s both}
}
@keyframes lhIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}


/* --- mobile nav sizing (added by build-production.mjs) --- */
nav.wp-block-navigation {
  font-size: clamp(0.9375rem, 1vw, 1.6rem) !important;
}
nav.wp-block-navigation .wp-block-buttons {
  flex-wrap: wrap !important;
  justify-content: center !important;
  column-gap: 0.5rem;
  row-gap: 0.35rem;
}
nav.wp-block-navigation .wp-block-button__link {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
  line-height: 1.25 !important;
}
