/* "Fresh from the workshop" – newest project + newest catalog model (inc/fresh.php) */
.m3f{--f-bg:var(--card);--f-ink:var(--ink);--f-soft:var(--ink-soft);--f-line:var(--line);--f-item:rgba(20,23,26,.04);font-family:inherit}
.m3f-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.m3f-head b{font-size:15px;font-weight:800;letter-spacing:.01em;color:var(--f-ink)}
.m3f-note{font-size:12px;font-weight:600;color:var(--f-soft);border:1px solid var(--f-line);border-radius:999px;padding:3px 9px}
.m3f-live{position:relative;width:10px;height:10px;border-radius:50%;background:var(--accent);flex:none}
.m3f-live::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:m3fPulse 1.8s ease-out infinite}
@keyframes m3fPulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.m3f-live::after{animation:none}}
.m3f-list{display:grid;gap:10px}
.m3f-item{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:14px;align-items:center;padding:9px 14px 9px 9px;border-radius:16px;background:var(--f-item);border:1px solid var(--f-line);color:var(--f-ink);text-decoration:none;transition:transform .2s,border-color .2s,background .2s}
.m3f-item:hover{transform:translateY(-2px);border-color:var(--accent)}
.m3f-img{position:relative;display:block;width:84px;height:84px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,rgba(255,67,0,.25),rgba(95,161,222,.25))}
.m3f-img img{width:100%;height:100%;object-fit:cover;display:block}
.m3f-new{position:absolute;left:5px;top:5px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 7px;line-height:1.2}
.m3f-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.m3f-kind{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.m3f-kind span[title]{color:var(--f-soft);text-transform:none;letter-spacing:0;font-weight:600}
.m3f-txt b{font-size:15.5px;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.m3f-sub{font-size:13px;color:var(--f-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m3f-go{font-size:18px;color:var(--f-soft);transition:transform .2s,color .2s}
.m3f-item:hover .m3f-go{transform:translateX(3px);color:var(--accent)}
.m3f-foot{display:flex;gap:6px 16px;flex-wrap:wrap;margin-top:12px;font-size:13px;font-weight:600}
.m3f-foot a{color:var(--f-soft);text-decoration:none;border-bottom:1px solid transparent}
.m3f-foot a:hover{color:var(--f-ink);border-color:currentColor}
.m3f-foot .m3f-tg{margin-left:auto;color:var(--accent)}

/* Home hero: panel on the right side of the hero */
.hero-inner.has-fresh{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.m3f-hero{--f-ink:#fff;--f-soft:rgba(243,241,234,.72);--f-line:rgba(255,255,255,.14);--f-item:rgba(255,255,255,.06);background:rgba(14,16,19,.55);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
@media (min-width:1080px){
  .hero-inner.has-fresh{grid-template-columns:minmax(0,1fr) minmax(360px,420px);align-items:end;gap:48px}
  .hero-inner.has-fresh .hero-main{min-width:0}
}
/* Tablet / phone: the panel goes first (top of the screen), compact */
@media (max-width:1079px){
  .hero-inner.has-fresh{gap:22px;padding-top:28px}
  .m3f-hero{order:-1;max-width:560px;padding:12px;border-radius:18px}
  .m3f-hero .m3f-head{margin-bottom:8px}
  .m3f-hero .m3f-list{gap:8px}
  .m3f-hero .m3f-item{grid-template-columns:52px minmax(0,1fr) auto;gap:10px;padding:6px 10px 6px 6px;border-radius:13px}
  .m3f-hero .m3f-img{width:52px;height:52px;border-radius:9px}
  .m3f-hero .m3f-new{font-size:0;width:12px;height:12px;padding:0;left:4px;top:4px;border:2px solid #fff}
  .m3f-hero .m3f-txt b{font-size:14px;-webkit-line-clamp:1}
  .m3f-hero .m3f-sub{display:none}
  .m3f-hero .m3f-kind{font-size:10.5px}
  .m3f-hero .m3f-foot{margin-top:8px}
  .m3f-hero .m3f-foot a:not(.m3f-tg){display:none}
  .m3f-hero .m3f-foot .m3f-tg{margin-left:0}
}
@media (max-width:480px){.m3f-hero .m3f-note{display:none}}

/* Projects / Catalog pages: strip under the breadcrumbs */
.m3f-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 20px;background:var(--f-bg);border:1px solid var(--f-line);border-radius:20px;padding:12px 16px;margin:6px 0 22px}
.m3f-strip .m3f-head{margin:0;flex-direction:column;align-items:flex-start;gap:4px;position:relative;padding-left:20px}
.m3f-strip .m3f-live{position:absolute;left:0;top:5px}
.m3f-strip .m3f-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.m3f-strip .m3f-item{grid-template-columns:56px minmax(0,1fr) auto;padding:6px 12px 6px 6px;border-radius:14px}
.m3f-strip .m3f-img{width:56px;height:56px;border-radius:10px}
.m3f-strip .m3f-new{font-size:0;width:12px;height:12px;padding:0;left:4px;top:4px;border:2px solid #fff}
.m3f-strip .m3f-txt b{font-size:14.5px;-webkit-line-clamp:1}
.m3f-strip .m3f-foot{margin:0}
.m3f-strip .m3f-foot .m3f-tg{margin:0;white-space:nowrap}
@media (max-width:1000px){
  .m3f-strip{grid-template-columns:minmax(0,1fr)}
  .m3f-strip .m3f-head{flex-direction:row;align-items:center;gap:10px}
  .m3f-strip .m3f-live{position:relative;top:auto}
  .m3f-strip .m3f-head{padding-left:0}
}
@media (max-width:640px){.m3f-strip .m3f-list{grid-template-columns:minmax(0,1fr)}}

/* "New" badge on project cards */
.m3p-new{position:absolute;right:12px;top:12px;background:var(--accent);color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:5px 10px;line-height:1.2}

/* ------------------------------------------------------------------
 * "Live" pulsing dot – same effect as the Fresh block, reused on the
 * page headers, the active menu link, "New" badges and the reply-time stat.
 * ------------------------------------------------------------------ */
@keyframes m3Live{0%{box-shadow:0 0 0 0 rgba(255,67,0,.55)}70%{box-shadow:0 0 0 7px rgba(255,67,0,0)}100%{box-shadow:0 0 0 0 rgba(255,67,0,0)}}
.m3-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:m3Live 1.8s ease-out infinite;flex:none}
/* Page header eyebrows: Projects, Catalog, Contact */
.m3p-hero .m3s-eyebrow,.m3s-hero>div>.m3s-eyebrow,.m3s-hero .m3s-eyebrow:first-child,.m3c-hero .m3s-eyebrow{display:inline-flex;align-items:center;gap:10px}
.m3p-hero .m3s-eyebrow::before,.m3s-hero>div>.m3s-eyebrow::before,.m3c-hero .m3s-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:m3Live 1.8s ease-out infinite;flex:none}
/* Home: request + contact sections */
.enquiry-eyebrow,#contact .eyebrow{display:inline-flex;align-items:center;gap:10px}
.enquiry-eyebrow::after,#contact .eyebrow::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:m3Live 1.8s ease-out infinite;flex:none}
/* Active menu link: small pulsing dot under the text */
.navlinks a.is-active{position:relative;font-weight:600}
.navlinks a.is-active::after{content:"";position:absolute;left:50%;bottom:-9px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent);animation:m3Live 1.8s ease-out infinite}
@media (max-width:900px){.navlinks a.is-active::after{display:none}}
/* "New" badges */
.m3p-new,.m3f-new{animation:m3Live 1.8s ease-out infinite}
/* Projects page: last stat ("24 h reply") */
.m3p-stats>div:last-child b{display:inline-flex;align-items:center;gap:10px}
.m3p-stats>div:last-child b::after{content:"";width:9px;height:9px;border-radius:50%;background:#1FA463;animation:m3LiveG 1.8s ease-out infinite}
@keyframes m3LiveG{0%{box-shadow:0 0 0 0 rgba(31,164,99,.55)}70%{box-shadow:0 0 0 8px rgba(31,164,99,0)}100%{box-shadow:0 0 0 0 rgba(31,164,99,0)}}
@media (prefers-reduced-motion:reduce){.m3-live,.m3p-hero .m3s-eyebrow::before,.m3s-hero .m3s-eyebrow::before,.m3c-hero .m3s-eyebrow::before,.enquiry-eyebrow::after,#contact .eyebrow::after,.navlinks a.is-active::after,.m3p-new,.m3f-new,.m3p-stats>div:last-child b::after{animation:none}}

/* Home: Projects & Catalog block (template-parts/sections/explore.php) */
.m3x{padding-block:clamp(56px,8vw,96px)}
.m3x-head{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.m3x-head h2{font-size:clamp(28px,4vw,46px);line-height:1.05;max-width:22ch;margin:0}
.m3x-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.m3x-card{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s}
.m3x-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px -30px rgba(0,0,0,.35);border-color:var(--accent)}
.m3x-ct{background:#121518;color:#F3F1EA;border-color:#121518}
.m3x-pics{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:4px;height:clamp(220px,26vw,320px);background:#2a2f34}
.m3x-pics img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}
.m3x-pics img:first-child{grid-row:1/3}
.m3x-n1 img{grid-column:1/3}.m3x-n2 img:nth-child(2){grid-row:1/3}
.m3x-card:hover .m3x-pics img{transform:scale(1.04)}
.m3x-num{position:absolute;left:16px;bottom:16px;background:var(--accent);color:#fff;border-radius:16px;padding:8px 14px;font-size:30px;font-weight:800;line-height:1;box-shadow:0 10px 24px -8px rgba(255,67,0,.6)}
.m3x-bd{display:flex;flex-direction:column;gap:10px;padding:24px 26px 26px;flex:1}
.m3x-e{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.m3x-t{font-size:clamp(22px,2.3vw,28px);line-height:1.15}
.m3x-s{font-size:15.5px;line-height:1.55;color:var(--ink-soft)}
.m3x-ct .m3x-s{color:rgba(243,241,234,.72)}
.m3x-b{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border-radius:999px;padding:13px 22px;font-weight:700;font-size:15px;transition:gap .2s}
.m3x-pj .m3x-b{background:var(--ink);color:var(--paper)}
.m3x-card:hover .m3x-b{gap:14px}
@media (max-width:820px){.m3x-grid{grid-template-columns:1fr}.m3x-pics{height:220px}}
.m3x-pics{overflow:hidden;grid-auto-rows:minmax(0,1fr)}
.m3x-pics img{min-height:0;min-width:0;max-width:none;height:100%!important;width:100%!important;position:static!important}

/* Home: section menu under the header (desktop only) */
.m3hs{position:fixed;left:0;right:0;top:70px;z-index:55;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transform:translateY(-110%);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease}
.m3hs.is-on{transform:none;opacity:1;pointer-events:auto}
.m3hs[hidden]{display:none}
.m3hs-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-block:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.m3hs-in::-webkit-scrollbar{display:none}
.m3hs a{flex:none;font-size:13px;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:6px 12px;border-radius:999px;white-space:nowrap;transition:background .2s,color .2s}
.m3hs a:hover{color:var(--ink);background:rgba(20,23,26,.06)}
.m3hs a.is-active{color:#fff;background:var(--accent)}
@media (max-width:1023px){.m3hs{display:none!important}}
.m3hs a{padding:6px 10px}.m3hs-in{gap:2px;justify-content:safe center}
