{"id":33,"date":"2026-06-06T18:51:41","date_gmt":"2026-06-06T16:51:41","guid":{"rendered":"https:\/\/knifemaker.ch\/?page_id=33"},"modified":"2026-10-15T21:08:18","modified_gmt":"2026-10-15T19:08:18","slug":"33-2","status":"publish","type":"page","link":"https:\/\/knifemaker.ch\/","title":{"rendered":""},"content":{"rendered":"\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&#038;family=Barlow:wght@200;300;400&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  :root {\n    --bg: #0a0908;\n    --bg2: #111010;\n    --bg3: #1a1816;\n    --text: #e8e2d9;\n    --muted: #9a9086;\n    --accent: #c8a96e;\n    --border: rgba(200,169,110,0.15);\n    --serif: 'Cormorant Garamond', Georgia, serif;\n    --sans: 'Barlow', sans-serif;\n  }\n\n  html { scroll-behavior: smooth; }\n\n  body {\n    background: var(--bg);\n    color: var(--text);\n    font-family: var(--sans);\n    font-weight: 300;\n    line-height: 1.7;\n    overflow-x: hidden;\n  }\n\n  \/* Links: no underline anywhere *\/\n  a, a:hover, a:focus, a:visited { text-decoration: none !important; }\n\n  nav {\n    position: fixed;\n    top: 0; left: 0; right: 0;\n    z-index: 100;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 1rem;\n    padding: 1.5rem 4rem;\n    border-bottom: 1px solid var(--border);\n    background: rgba(10,9,8,0.92);\n    backdrop-filter: blur(12px);\n  }\n\n  .logo {\n    font-family: var(--serif);\n    font-size: 1.5rem;\n    font-weight: 300;\n    letter-spacing: 0.12em;\n    color: var(--text);\n  }\n  .logo span { color: var(--accent); }\n\n  .nav-right { display: flex; align-items: center; gap: 3rem; }\n\n  nav ul { display: flex; gap: 3rem; list-style: none; }\n\n  nav a {\n    font-size: 0.72rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--muted);\n    transition: color 0.3s;\n  }\n  nav a:hover { color: var(--accent); }\n\n  \/* Language switch *\/\n  .lang-switch { display: flex; align-items: center; gap: 0.5rem; }\n  .lang-btn {\n    background: transparent;\n    border: 0;\n    font-family: var(--sans);\n    font-size: 0.72rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--muted);\n    cursor: pointer;\n    padding: 0.25rem 0.2rem;\n    transition: color 0.3s;\n  }\n  .lang-btn:hover { color: var(--accent); }\n  .lang-btn[aria-pressed=\"true\"] { color: var(--accent); }\n  .lang-sep { color: var(--border); font-size: 0.72rem; }\n\n  #home {\n    min-height: 100vh;\n    display: flex;\n    align-items: center;\n    position: relative;\n    padding: 0 4rem;\n    overflow: hidden;\n  }\n\n  .hero-bg {\n    position: absolute;\n    inset: 0;\n    background:\n      radial-gradient(ellipse 60% 50% at 70% 50%, rgba(200,169,110,0.05) 0%, transparent 70%),\n      radial-gradient(ellipse 40% 80% at 80% 50%, rgba(200,169,110,0.03) 0%, transparent 60%);\n  }\n\n  .hero-line {\n    position: absolute;\n    right: 0;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 45vw;\n    height: 1px;\n    background: linear-gradient(to right, transparent, var(--accent), transparent);\n    opacity: 0.3;\n  }\n\n  .hero-content { position: relative; max-width: 680px; }\n\n  .hero-eyebrow {\n    font-size: 0.65rem;\n    letter-spacing: 0.35em;\n    text-transform: uppercase;\n    color: var(--accent);\n    margin-bottom: 2rem;\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n  }\n  .hero-eyebrow::before {\n    content: '';\n    display: block;\n    width: 40px;\n    height: 1px;\n    background: var(--accent);\n  }\n\n  h1 {\n    font-family: var(--serif);\n    font-size: clamp(3.5rem, 7vw, 7rem);\n    font-weight: 300;\n    line-height: 1.05;\n    letter-spacing: -0.01em;\n    margin-bottom: 2rem;\n  }\n  h1 em { font-style: italic; color: var(--accent); }\n\n  .hero-sub {\n    font-size: 0.95rem;\n    color: var(--muted);\n    max-width: 400px;\n    margin-bottom: 3rem;\n    line-height: 1.8;\n  }\n\n  .cta {\n    display: inline-flex;\n    align-items: center;\n    gap: 1rem;\n    font-size: 0.7rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--text);\n    border: 1px solid var(--border);\n    padding: 1rem 2rem;\n    transition: all 0.3s;\n  }\n  .cta:hover { border-color: var(--accent); color: var(--accent); }\n  .cta-arrow { font-size: 1.2rem; transition: transform 0.3s; }\n  .cta:hover .cta-arrow { transform: translateX(4px); }\n\n  .divider {\n    height: 1px;\n    background: linear-gradient(to right, transparent, var(--border), transparent);\n    margin: 0 4rem;\n  }\n\n  section {\n    padding: 8rem 4rem;\n    max-width: 1200px;\n    margin: 0 auto;\n  }\n\n  .section-label {\n    font-size: 0.62rem;\n    letter-spacing: 0.35em;\n    text-transform: uppercase;\n    color: var(--accent);\n    margin-bottom: 3.5rem;\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n  }\n  .section-label::before {\n    content: '';\n    display: block;\n    width: 30px;\n    height: 1px;\n    background: var(--accent);\n  }\n\n  h2 {\n    font-family: var(--serif);\n    font-size: clamp(2rem, 4vw, 3.5rem);\n    font-weight: 300;\n    line-height: 1.15;\n    margin-bottom: 1.5rem;\n  }\n  h2 em { font-style: italic; color: var(--accent); }\n\n  .works-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 1.5rem;\n    margin-top: 4rem;\n  }\n\n  .work-card { position: relative; overflow: hidden; }\n\n  .work-img {\n    width: 100%;\n    aspect-ratio: 3\/4;\n    background: var(--bg3);\n    position: relative;\n    overflow: hidden;\n  }\n\n  .work-img img.work-photo {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    filter: grayscale(15%) contrast(1.05);\n    transition: transform 0.6s ease, filter 0.4s ease;\n  }\n  .work-card:hover .work-img img.work-photo,\n  .work-card:focus-within .work-img img.work-photo {\n    transform: scale(1.04);\n    filter: grayscale(0%) contrast(1);\n  }\n\n  .work-overlay {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    border: 0;\n    background: rgba(10,9,8,0.75);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 0;\n    transition: opacity 0.4s;\n    z-index: 2;\n    cursor: pointer;\n  }\n  .work-card:hover .work-overlay,\n  .work-overlay:focus-visible { opacity: 1; }\n  .work-overlay span {\n    font-family: var(--sans);\n    font-size: 0.65rem;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    color: var(--accent);\n    border: 1px solid var(--accent);\n    padding: 0.6rem 1.5rem;\n  }\n  \/* Touch devices have no hover: always show a subtle hint *\/\n  @media (hover: none) {\n    .work-overlay { opacity: 1; background: linear-gradient(to top, rgba(10,9,8,0.7), transparent 40%); align-items: flex-end; padding-bottom: 1rem; }\n    .work-overlay span { font-size: 0.6rem; padding: 0.4rem 1rem; }\n  }\n\n  .work-info { padding: 1.25rem 0 0; }\n  .work-title { font-family: var(--serif); font-size: 1.25rem; font-weight: 300; margin-bottom: 0.25rem; }\n  .work-mat { font-size: 0.7rem; letter-spacing: 0.15em; color: var(--muted); text-transform: uppercase; }\n\n  .about-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    column-gap: 6rem;\n    row-gap: 0;\n    grid-template-rows: auto 1fr;\n    align-items: start;\n    margin-top: 1rem;\n  }\n  .about-head { grid-column: 1; grid-row: 1; }\n  .about-body { grid-column: 1; grid-row: 2; }\n  .about-visual { grid-column: 2; grid-row: 1 \/ span 2; }\n\n  .about-text p { color: var(--muted); font-size: 0.95rem; line-height: 1.9; margin-bottom: 1.5rem; }\n  .about-text p.section-label { color: var(--accent); font-size: 0.62rem; line-height: 1.7; margin-bottom: 3.5rem; }\n\n  .about-stats {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 2rem;\n    margin-top: 3rem;\n    padding-top: 3rem;\n    border-top: 1px solid var(--border);\n  }\n\n  .about-text .stat-num {\n    font-family: var(--serif);\n    font-size: 3rem;\n    font-weight: 300;\n    color: var(--accent);\n    line-height: 1;\n    margin-bottom: 0.5rem;\n  }\n  .about-text .stat-label { font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 0; }\n\n  .about-visual { position: relative; }\n\n  .about-img-frame {\n    width: 100%;\n    aspect-ratio: 4\/5;\n    background: var(--bg3);\n    border: 1px solid var(--border);\n    position: relative;\n    overflow: hidden;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n  .about-img-frame::before {\n    content: '';\n    position: absolute;\n    top: 1.5rem; left: 1.5rem; right: -1.5rem; bottom: -1.5rem;\n    border: 1px solid var(--border);\n    z-index: -1;\n  }\n  .about-img-frame img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    filter: grayscale(20%);\n  }\n\n  #kontakt { border-top: 1px solid var(--border); }\n\n  .contact-inner {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 6rem;\n    align-items: start;\n  }\n\n  .contact-intro p { color: var(--muted); font-size: 0.95rem; line-height: 1.9; margin-bottom: 2rem; }\n  .contact-intro p.section-label { color: var(--accent); font-size: 0.62rem; line-height: 1.7; margin-bottom: 3.5rem; }\n\n  .contact-links { display: flex; flex-direction: column; gap: 1rem; margin-top: 2rem; }\n\n  .contact-link {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    color: var(--muted);\n    font-size: 0.85rem;\n    letter-spacing: 0.05em;\n    transition: color 0.3s;\n  }\n  .contact-link:hover { color: var(--accent); }\n\n  .contact-link-icon {\n    width: 36px;\n    height: 36px;\n    border: 1px solid var(--border);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 0.9rem;\n    flex-shrink: 0;\n    transition: border-color 0.3s;\n  }\n  .contact-link:hover .contact-link-icon { border-color: var(--accent); color: var(--accent); }\n  .contact-link-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }\n  .contact-link-icon svg.filled { fill: currentColor; stroke: none; }\n\n  .contact-form { display: flex; flex-direction: column; gap: 1.25rem; }\n\n  .form-group { display: flex; flex-direction: column; gap: 0.5rem; }\n\n  .form-group label {\n    font-size: 0.62rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--muted);\n  }\n\n  .form-group input,\n  .form-group textarea {\n    background: var(--bg2);\n    border: 1px solid var(--border);\n    color: var(--text);\n    font-family: var(--sans);\n    font-weight: 300;\n    font-size: 0.9rem;\n    padding: 0.85rem 1rem;\n    outline: none;\n    transition: border-color 0.3s;\n    resize: vertical;\n  }\n  .form-group input:focus,\n  .form-group textarea:focus { border-color: var(--accent); }\n  .form-group textarea { min-height: 130px; }\n\n  \/* Honeypot (spam protection) *\/\n  .hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }\n\n  .form-submit {\n    background: transparent;\n    border: 1px solid var(--accent);\n    color: var(--accent);\n    font-family: var(--sans);\n    font-size: 0.65rem;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    padding: 1rem 2rem;\n    cursor: pointer;\n    transition: all 0.3s;\n    align-self: flex-start;\n  }\n  .form-submit:hover { background: var(--accent); color: var(--bg); }\n  .form-submit:disabled { opacity: 0.5; cursor: not-allowed; }\n\n  footer.km-footer {\n    padding: 3rem 4rem;\n    border-top: 1px solid var(--border);\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 1rem;\n  }\n  footer.km-footer p { font-size: 0.7rem; letter-spacing: 0.12em; color: var(--muted); }\n  footer.km-footer .footer-logo { font-family: var(--serif); font-size: 1.1rem; color: var(--muted); letter-spacing: 0.1em; }\n\n  @keyframes fadeUp {\n    from { opacity: 0; transform: translateY(24px); }\n    to   { opacity: 1; transform: translateY(0); }\n  }\n  .hero-content > * { animation: fadeUp 0.8s ease both; }\n  .hero-eyebrow { animation-delay: 0.1s; }\n  h1            { animation-delay: 0.25s; }\n  .hero-sub     { animation-delay: 0.4s; }\n  .cta          { animation-delay: 0.55s; }\n\n  \/* Reveal on scroll: only active when JS adds .km-reveal, so content stays visible without JS *\/\n  .km-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.7s ease, transform 0.7s ease; }\n  .km-reveal.km-in { opacity: 1; transform: none; }\n\n  @media (prefers-reduced-motion: reduce) {\n    html { scroll-behavior: auto; }\n    .hero-content > * { animation: none; }\n    .km-reveal { opacity: 1; transform: none; transition: none; }\n    .work-img img.work-photo, .cta-arrow { transition: none; }\n    .lightbox { animation: none; }\n  }\n\n  @media (max-width: 900px) {\n    nav { padding: 1.25rem 1.5rem; }\n    .nav-right { gap: 1.5rem; }\n    nav ul { gap: 1.5rem; }\n    #home, section, footer.km-footer { padding-left: 1.5rem; padding-right: 1.5rem; }\n    .divider { margin: 0 1.5rem; }\n    .works-grid { grid-template-columns: 1fr 1fr; }\n    .about-grid, .contact-inner { grid-template-columns: 1fr; gap: 3rem; }\n    .about-img-frame { aspect-ratio: 4\/5; max-width: 420px; margin: 0 auto; }\n    .about-img-frame img { object-position: center 25%; }\n    .about-grid { grid-template-rows: none; row-gap: 0; }\n    .about-head, .about-visual, .about-body { grid-column: auto; grid-row: auto; }\n    .about-visual { margin-bottom: 3rem; }\n  }\n  @media (max-width: 600px) {\n    nav { flex-wrap: wrap; justify-content: center; row-gap: 0.5rem; }\n    .nav-right { width: 100%; justify-content: space-between; gap: 0.75rem; }\n    nav ul { gap: 0.9rem; }\n    nav a, .lang-btn { font-size: 0.62rem; letter-spacing: 0.12em; }\n    #home { padding-top: 6rem; }\n    .works-grid { grid-template-columns: 1fr; }\n    h1 { font-size: 3rem; }\n    footer.km-footer { flex-direction: column; text-align: center; }\n  }\n\n  \/* LIGHTBOX *\/\n  .lightbox {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 999;\n    background: rgba(10,9,8,0.96);\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    animation: fadeIn 0.3s ease;\n  }\n  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }\n  .lightbox.active { display: flex; }\n  .lightbox-inner {\n    position: relative;\n    max-width: 90vw;\n    max-height: 90vh;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 1.5rem;\n    cursor: default;\n  }\n  .lightbox-inner img {\n    max-width: 88vw;\n    max-height: 78vh;\n    object-fit: contain;\n    filter: none !important;\n    display: block;\n    transform: none !important;\n  }\n  .lightbox-caption {\n    font-family: var(--serif);\n    font-size: 1.2rem;\n    font-weight: 300;\n    color: var(--text);\n    letter-spacing: 0.08em;\n    text-align: center;\n  }\n  .lightbox-sub {\n    font-size: 0.65rem;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    color: var(--muted);\n    text-align: center;\n    margin-top: -1rem;\n  }\n  .lightbox-close {\n    position: fixed;\n    top: 2rem;\n    right: 2rem;\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--muted);\n    cursor: pointer;\n    border: 1px solid var(--border);\n    padding: 0.5rem 1.2rem;\n    transition: color 0.3s, border-color 0.3s;\n    background: transparent;\n    font-family: var(--sans);\n  }\n  .lightbox-close:hover, .lightbox-close:focus-visible { color: var(--accent); border-color: var(--accent); }\n\n  .lightbox-nav {\n    position: fixed;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 48px;\n    height: 48px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-family: var(--serif);\n    font-size: 1.8rem;\n    line-height: 1;\n    color: var(--muted);\n    background: transparent;\n    border: 1px solid var(--border);\n    cursor: pointer;\n    transition: color 0.3s, border-color 0.3s;\n  }\n  .lightbox-nav:hover, .lightbox-nav:focus-visible { color: var(--accent); border-color: var(--accent); }\n  .lightbox-prev { left: 1.5rem; }\n  .lightbox-next { right: 1.5rem; }\n  @media (max-width: 600px) {\n    .lightbox-nav { top: auto; bottom: 1.5rem; transform: none; width: 44px; height: 44px; }\n  }\n<\/style>\n\n<nav>\n  <a href=\"#home\" class=\"logo\">Knife<span>maker<\/span><\/a>\n  <div class=\"nav-right\">\n    <ul>\n      <li><a href=\"#home\" data-i18n=\"nav_home\">Home<\/a><\/li>\n      <li><a href=\"#arbeiten\" data-i18n=\"nav_work\">Arbeiten<\/a><\/li>\n      <li><a href=\"#ueber\" data-i18n=\"nav_about\">\u00dcber mich<\/a><\/li>\n      <li><a href=\"#kontakt\" data-i18n=\"nav_contact\">Kontakt<\/a><\/li>\n    <\/ul>\n    <div class=\"lang-switch\" role=\"group\" aria-label=\"Sprache \/ Language\">\n      <button type=\"button\" class=\"lang-btn\" data-lang=\"de\" aria-pressed=\"true\">DE<\/button>\n      <span class=\"lang-sep\">|<\/span>\n      <button type=\"button\" class=\"lang-btn\" data-lang=\"en\" aria-pressed=\"false\">EN<\/button>\n    <\/div>\n  <\/div>\n<\/nav>\n\n<section id=\"home\" style=\"padding-top:0;padding-bottom:0;max-width:none;\">\n  <div class=\"hero-bg\"><\/div>\n  <div class=\"hero-line\"><\/div>\n  <div class=\"hero-content\">\n    <p class=\"hero-eyebrow\" data-i18n=\"hero_eyebrow\">Handgefertigte Messer<\/p>\n    <h1 data-i18n-html=\"hero_title\">Scharf.<br><em>Zeitlos.<\/em><br>Einzigartig.<\/h1>\n    <p class=\"hero-sub\" data-i18n=\"hero_sub\">Jedes Messer entsteht von Hand \u2014 aus erlesenen St\u00e4hlen und nat\u00fcrlichen Materialien. Pr\u00e4zision trifft auf Tradition.<\/p>\n    <a href=\"#arbeiten\" class=\"cta\"><span data-i18n=\"hero_cta\">Arbeiten entdecken<\/span> <span class=\"cta-arrow\">\u2192<\/span><\/a>\n  <\/div>\n<\/section>\n\n<div class=\"divider\"><\/div>\n\n<section id=\"arbeiten\">\n  <p class=\"section-label\" data-i18n=\"work_label\">Ausgew\u00e4hlte St\u00fccke<\/p>\n  <h2 data-i18n-html=\"work_title\">Jedes Messer<br>erz\u00e4hlt eine <em>Geschichte<\/em><\/h2>\n\n  <div class=\"works-grid\">\n\n    <div class=\"work-card\">\n      <div class=\"work-img\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/knifemaker.ch\/wp-content\/uploads\/2026\/10\/Chefs-Knife.webp\" alt=\"Chef's Knife\" class=\"work-photo\">\n        <button type=\"button\" class=\"work-overlay\"><span data-i18n=\"view\">Ansehen<\/span><\/button>\n      <\/div>\n      <div class=\"work-info\">\n        <p class=\"work-title\">Chef&#8217;s Knife<\/p>\n        <p class=\"work-mat\" data-i18n=\"mat_chef\">Stahl 12C27N \u00b7 Eiche<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"work-card\">\n      <div class=\"work-img\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/knifemaker.ch\/wp-content\/uploads\/2026\/10\/Santoku-Black.webp\" alt=\"Santoku Black\" class=\"work-photo\">\n        <button type=\"button\" class=\"work-overlay\"><span data-i18n=\"view\">Ansehen<\/span><\/button>\n      <\/div>\n      <div class=\"work-info\">\n        <p class=\"work-title\">Santoku Black<\/p>\n        <p class=\"work-mat\" data-i18n=\"mat_santoku\">Stahl 14C28N \u00b7 Ebenholz<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"work-card\">\n      <div class=\"work-img\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/knifemaker.ch\/wp-content\/uploads\/2026\/10\/Bunka-Style.webp\" alt=\"Bunka-Style\" class=\"work-photo\">\n        <button type=\"button\" class=\"work-overlay\"><span data-i18n=\"view\">Ansehen<\/span><\/button>\n      <\/div>\n      <div class=\"work-info\">\n        <p class=\"work-title\">Bunka-Style<\/p>\n        <p class=\"work-mat\" data-i18n=\"mat_bunka\">Stahl 12C27N \u00b7 Mahagoni<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"work-card\">\n      <div class=\"work-img\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/knifemaker.ch\/wp-content\/uploads\/2026\/10\/Yanagiba.webp\" alt=\"Yanagiba\" class=\"work-photo\">\n        <button type=\"button\" class=\"work-overlay\"><span data-i18n=\"view\">Ansehen<\/span><\/button>\n      <\/div>\n      <div class=\"work-info\">\n        <p class=\"work-title\">Yanagiba<\/p>\n        <p class=\"work-mat\" data-i18n=\"mat_yanagiba\">Stahl 14C28N \u00b7 Olivenholz<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"work-card\">\n      <div class=\"work-img\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/knifemaker.ch\/wp-content\/uploads\/2026\/10\/Outdoor.webp\" alt=\"Outdoor Messer\" class=\"work-photo\">\n        <button type=\"button\" class=\"work-overlay\"><span data-i18n=\"view\">Ansehen<\/span><\/button>\n      <\/div>\n      <div class=\"work-info\">\n        <p class=\"work-title\" data-i18n=\"outdoor_title\">Outdoor Messer<\/p>\n        <p class=\"work-mat\" data-i18n=\"mat_outdoor\">Stahl 14C28N \u00b7 Micarta<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"work-card\">\n      <div class=\"work-img\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/knifemaker.ch\/wp-content\/uploads\/2026\/10\/EDC.webp\" alt=\"EDC\" class=\"work-photo\">\n        <button type=\"button\" class=\"work-overlay\"><span data-i18n=\"view\">Ansehen<\/span><\/button>\n      <\/div>\n      <div class=\"work-info\">\n        <p class=\"work-title\">EDC<\/p>\n        <p class=\"work-mat\" data-i18n=\"mat_edc\">Stahl 14C28N \u00b7 Eiche gealtert<\/p>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<div class=\"divider\"><\/div>\n\n<section id=\"ueber\">\n  <div class=\"about-grid\">\n    <div class=\"about-text about-head\">\n      <p class=\"section-label\" data-i18n=\"about_label\">Handwerk &amp; Leidenschaft<\/p>\n      <h2 data-i18n-html=\"about_title\">\u00dcber <em>mich<\/em><\/h2>\n    <\/div>\n\n    <div class=\"about-visual\">\n      <div class=\"about-img-frame\">\n        <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/knifemaker.ch\/wp-content\/uploads\/2026\/10\/myself.webp\" alt=\"Knifemaker Portrait\">\n      <\/div>\n    <\/div>\n\n    <div class=\"about-text about-body\">\n      <p data-i18n=\"about_p1\">Als ich 2018 Z\u00fcrich den R\u00fccken kehrte, um im B\u00fcndnerland meine kleine Werkstatt zu gr\u00fcnden, ahnte ich noch nicht, dass Messer meine Leidenschaft werden sollten. Ich begann damals, Lieblingsst\u00fccke meiner Kunden zu reparieren (\u00abAlt wie Neu\u00bb), Upcycling, das Design von aussergew\u00f6hnlichen Lampen aus Fundst\u00fccken und kreierte besondere Holzbretter f\u00fcr K\u00fcchenzubeh\u00f6r-Shops.<\/p>\n      <p data-i18n=\"about_p2\">Als Johanna, meine Ehefrau und K\u00f6chin, sich ein neues K\u00fcchenmesser w\u00fcnschte, nahm das Schicksal seinen Lauf und ich entwarf meinen ersten Messer-Prototyp. Ich verliebte mich in diese Arbeit und \u00abbrenne\u00bb seither f\u00fcr das Messer-Design. Die Liebe zur Handwerkskunst, Pr\u00e4zision und zum Detail spiegeln sich in meiner Arbeit. Viele meiner hochwertigen Materialien wie Holz, Stahl, Horn und Leder werden lokal oder nachhaltig beschafft.<\/p>\n      <div class=\"about-stats\">\n        <div><p class=\"stat-num\">8<\/p><p class=\"stat-label\" data-i18n=\"stat1\">Jahre Erfahrung<\/p><\/div>\n        <div><p class=\"stat-num\">100+<\/p><p class=\"stat-label\" data-i18n=\"stat2\">Gefertigte St\u00fccke<\/p><\/div>\n        <div><p class=\"stat-num\">3<\/p><p class=\"stat-label\" data-i18n=\"stat3\">Stahlsorten<\/p><\/div>\n        <div><p class=\"stat-num\">100%<\/p><p class=\"stat-label\" data-i18n=\"stat4\">Handarbeit<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div class=\"divider\"><\/div>\n\n<section id=\"kontakt\">\n  <div class=\"contact-inner\">\n    <div class=\"contact-intro\">\n      <p class=\"section-label\" data-i18n=\"contact_label\">Anfragen &amp; Auftr\u00e4ge<\/p>\n      <h2 data-i18n-html=\"contact_title\">Ein Messer,<br><em>f\u00fcr Dich.<\/em><\/h2>\n      <p data-i18n=\"contact_p1\">Die Philosophie eines Messermachers kann vielf\u00e4ltig sein, da sie stark von den pers\u00f6nlichen Werten, Erfahrungen und \u00dcberzeugungen des Handwerkers gepr\u00e4gt ist. Im Allgemeinen jedoch streben Messermacher nach h\u00f6chster Qualit\u00e4t, Funktionalit\u00e4t und \u00c4sthetik in ihren Produkten.<\/p>\n      <p data-i18n=\"contact_p2\">Pers\u00f6nlich habe ich eine tiefe Verbundenheit zur Natur und verwende hochwertige Materialien wie Holz, Stahl oder Leder, die oft lokal oder nachhaltig beschafft werden.<\/p>\n      <p data-i18n=\"contact_p3\">Willst du dein eigenes Messer machen? Melde dich noch heute an!<\/p>\n      <div class=\"contact-links\">\n        <a href=\"mailto:info@knifemaker.ch\" class=\"contact-link\">\n          <span class=\"contact-link-icon\" aria-hidden=\"true\">\u2709<\/span>\n          info@knifemaker.ch\n        <\/a>\n        <a href=\"tel:+41764138310\" class=\"contact-link\">\n          <span class=\"contact-link-icon\" aria-hidden=\"true\">\u2706<\/span>\n          +41 76 413 83 10\n        <\/a>\n        <a href=\"https:\/\/www.openstreetmap.org\/search?query=Sumvitg%2010%2C%207424%20Pr%C3%A4z\" target=\"_blank\" rel=\"noopener\" class=\"contact-link\">\n          <span class=\"contact-link-icon\" aria-hidden=\"true\">\u2299<\/span>\n          Sumvitg 10 \u00b7 7424 Pr\u00e4z\n        <\/a>\n        <a href=\"https:\/\/www.instagram.com\/knifemaker63\" target=\"_blank\" rel=\"noopener\" class=\"contact-link\" aria-label=\"Instagram\">\n          <span class=\"contact-link-icon\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"5\"\/><circle cx=\"12\" cy=\"12\" r=\"4\"\/><circle cx=\"17.5\" cy=\"6.5\" r=\"0.8\" class=\"dot\"\/><\/svg>\n          <\/span>\n          Instagram\n        <\/a>\n        <a href=\"https:\/\/www.tiktok.com\/@knifemaker63\" target=\"_blank\" rel=\"noopener\" class=\"contact-link\" aria-label=\"TikTok\">\n          <span class=\"contact-link-icon\" aria-hidden=\"true\">\n            <svg class=\"filled\" viewBox=\"0 0 24 24\"><path d=\"M16.6 5.8A4.3 4.3 0 0 1 15.5 3h-3.1v12.4a2.6 2.6 0 1 1-2.6-2.6c.3 0 .5 0 .8.1V9.7a5.7 5.7 0 1 0 4.9 5.7V9a7.3 7.3 0 0 0 4.3 1.4V7.3a4.3 4.3 0 0 1-3.2-1.5z\"\/><\/svg>\n          <\/span>\n          TikTok\n        <\/a>\n      <\/div>\n    <\/div>\n\n    <div>\n      <div data-fs-success=\"\" style=\"display:none; font-size:0.8rem; color:#c8a96e; letter-spacing:0.1em; margin-bottom:1rem;\" data-i18n=\"form_success\">\n        Vielen Dank \u2014 ich melde mich bald.\n      <\/div>\n      <div data-fs-error=\"\" style=\"display:none; font-size:0.8rem; color:#c04a4a; letter-spacing:0.1em; margin-bottom:1rem;\"><\/div>\n\n      <form class=\"contact-form\" id=\"contact-form\">\n        <div class=\"form-group\">\n          <label for=\"name\" data-i18n=\"form_name\">Name<\/label>\n          <input type=\"text\" id=\"name\" name=\"name\" data-fs-field=\"\" data-i18n-placeholder=\"form_name_ph\" placeholder=\"Dein vollst\u00e4ndiger Name\" required=\"\">\n          <span data-fs-error=\"name\" style=\"font-size:0.75rem; color:#c04a4a;\"><\/span>\n        <\/div>\n        <div class=\"form-group\">\n          <label for=\"email\" data-i18n=\"form_email\">E-Mail<\/label>\n          <input type=\"email\" id=\"email\" name=\"email\" data-fs-field=\"\" data-i18n-placeholder=\"form_email_ph\" placeholder=\"deine@email.ch\" required=\"\">\n          <span data-fs-error=\"email\" style=\"font-size:0.75rem; color:#c04a4a;\"><\/span>\n        <\/div>\n        <div class=\"form-group\">\n          <label for=\"message\" data-i18n=\"form_msg\">Nachricht<\/label>\n          <textarea id=\"message\" name=\"message\" data-fs-field=\"\" data-i18n-placeholder=\"form_msg_ph\" placeholder=\"Beschreibe deine Vorstellung \u2014 Stahl, Form, Material, Verwendungszweck \u2026\" required=\"\"><\/textarea>\n          <span data-fs-error=\"message\" style=\"font-size:0.75rem; color:#c04a4a;\"><\/span>\n        <\/div>\n        <!-- Honeypot: humans never see or fill this; Formspree discards submissions where it is filled -->\n        <div class=\"hp-field\" aria-hidden=\"true\">\n          <label for=\"_gotcha\">Leave empty<\/label>\n          <input type=\"text\" id=\"_gotcha\" name=\"_gotcha\" tabindex=\"-1\" autocomplete=\"off\">\n        <\/div>\n        <button type=\"submit\" class=\"form-submit\" data-fs-submit-btn=\"\" data-i18n=\"form_send\">Anfrage senden \u2192<\/button>\n      <\/form>\n\n      <script>\n        window.formspree = window.formspree || function () { (formspree.q = formspree.q || []).push(arguments); };\n        formspree('initForm', { formElement: '#contact-form', formId: 'meeweyry' });\n      <\/script>\n      <script src=\"https:\/\/unpkg.com\/@formspree\/ajax@1\" defer=\"\"><\/script>\n    <\/div>\n  <\/div>\n<\/section>\n\n<footer class=\"km-footer\">\n  <p data-i18n=\"footer_l\">\u00a9 2026 knifemaker \u2014 Handgefertigte Messer<\/p>\n  <p class=\"footer-logo\">KM<\/p>\n  <p data-i18n=\"footer_r\">Alle St\u00fccke sind Unikate.<\/p>\n<\/footer>\n\n<!-- LIGHTBOX -->\n<div class=\"lightbox\" id=\"lightbox\" role=\"dialog\" aria-modal=\"true\" onclick=\"closeLightbox(event)\">\n  <button type=\"button\" class=\"lightbox-close\" onclick=\"closeLightbox()\" data-i18n=\"close\">Schliessen \u2715<\/button>\n  <button type=\"button\" class=\"lightbox-nav lightbox-prev\" data-dir=\"prev\" data-i18n-aria=\"prev\" aria-label=\"Vorheriges Bild\">\u2039<\/button>\n  <button type=\"button\" class=\"lightbox-nav lightbox-next\" data-dir=\"next\" data-i18n-aria=\"next\" aria-label=\"N\u00e4chstes Bild\">\u203a<\/button>\n  <div class=\"lightbox-inner\">\n    <img decoding=\"async\" id=\"lightbox-img\" src=\"\" alt=\"\">\n    <p class=\"lightbox-caption\" id=\"lightbox-caption\"><\/p>\n    <p class=\"lightbox-sub\" id=\"lightbox-sub\"><\/p>\n  <\/div>\n<\/div>\n\n<script>\n(function () {\n  var I18N = {\n    de: {\n      nav_home: 'Home', nav_work: 'Arbeiten', nav_about: '\u00dcber mich', nav_contact: 'Kontakt',\n      hero_eyebrow: 'Handgefertigte Messer',\n      hero_title: 'Scharf.<br><em>Zeitlos.<\/em><br>Einzigartig.',\n      hero_sub: 'Jedes Messer entsteht von Hand \u2014 aus erlesenen St\u00e4hlen und nat\u00fcrlichen Materialien. Pr\u00e4zision trifft auf Tradition.',\n      hero_cta: 'Arbeiten entdecken',\n      work_label: 'Ausgew\u00e4hlte St\u00fccke',\n      work_title: 'Jedes Messer<br>erz\u00e4hlt eine <em>Geschichte<\/em>',\n      view: 'Ansehen',\n      mat_chef: 'Stahl 12C27N \u00b7 Eiche', mat_santoku: 'Stahl 14C28N \u00b7 Ebenholz', mat_bunka: 'Stahl 12C27N \u00b7 Mahagoni',\n      mat_yanagiba: 'Stahl 14C28N \u00b7 Olivenholz', mat_outdoor: 'Stahl 14C28N \u00b7 Micarta', mat_edc: 'Stahl 14C28N \u00b7 Eiche gealtert',\n      outdoor_title: 'Outdoor Messer',\n      about_label: 'Handwerk & Leidenschaft',\n      about_title: '\u00dcber <em>mich<\/em>',\n      about_p1: 'Als ich 2018 Z\u00fcrich den R\u00fccken kehrte, um im B\u00fcndnerland meine kleine Werkstatt zu gr\u00fcnden, ahnte ich noch nicht, dass Messer meine Leidenschaft werden sollten. Ich begann damals, Lieblingsst\u00fccke meiner Kunden zu reparieren (\u00abAlt wie Neu\u00bb), Upcycling, das Design von aussergew\u00f6hnlichen Lampen aus Fundst\u00fccken und kreierte besondere Holzbretter f\u00fcr K\u00fcchenzubeh\u00f6r-Shops.',\n      about_p2: 'Als Johanna, meine Ehefrau und K\u00f6chin, sich ein neues K\u00fcchenmesser w\u00fcnschte, nahm das Schicksal seinen Lauf und ich entwarf meinen ersten Messer-Prototyp. Ich verliebte mich in diese Arbeit und \u00abbrenne\u00bb seither f\u00fcr das Messer-Design. Die Liebe zur Handwerkskunst, Pr\u00e4zision und zum Detail spiegeln sich in meiner Arbeit. Viele meiner hochwertigen Materialien wie Holz, Stahl, Horn und Leder werden lokal oder nachhaltig beschafft.',\n      stat1: 'Jahre Erfahrung', stat2: 'Gefertigte St\u00fccke', stat3: 'Stahlsorten', stat4: 'Handarbeit',\n      contact_label: 'Anfragen & Auftr\u00e4ge',\n      contact_title: 'Ein Messer,<br><em>f\u00fcr Dich.<\/em>',\n      contact_p1: 'Die Philosophie eines Messermachers kann vielf\u00e4ltig sein, da sie stark von den pers\u00f6nlichen Werten, Erfahrungen und \u00dcberzeugungen des Handwerkers gepr\u00e4gt ist. Im Allgemeinen jedoch streben Messermacher nach h\u00f6chster Qualit\u00e4t, Funktionalit\u00e4t und \u00c4sthetik in ihren Produkten.',\n      contact_p2: 'Pers\u00f6nlich habe ich eine tiefe Verbundenheit zur Natur und verwende hochwertige Materialien wie Holz, Stahl oder Leder, die oft lokal oder nachhaltig beschafft werden.',\n      contact_p3: 'Willst du dein eigenes Messer machen? Melde dich noch heute an!',\n      form_success: 'Vielen Dank \u2014 ich melde mich bald.',\n      form_name: 'Name', form_name_ph: 'Dein vollst\u00e4ndiger Name',\n      form_email: 'E-Mail', form_email_ph: 'deine@email.ch',\n      form_msg: 'Nachricht', form_msg_ph: 'Beschreibe deine Vorstellung \u2014 Stahl, Form, Material, Verwendungszweck \u2026',\n      form_send: 'Anfrage senden \u2192',\n      footer_l: '\u00a9 2026 knifemaker \u2014 Handgefertigte Messer',\n      footer_r: 'Alle St\u00fccke sind Unikate.',\n      close: 'Schliessen \u2715', prev: 'Vorheriges Bild', next: 'N\u00e4chstes Bild',\n      title: 'Knifemaker \u2014 Handgefertigte Messer'\n    },\n    en: {\n      nav_home: 'Home', nav_work: 'Work', nav_about: 'About', nav_contact: 'Contact',\n      hero_eyebrow: 'Handcrafted knives',\n      hero_title: 'Sharp.<br><em>Timeless.<\/em><br>Unique.',\n      hero_sub: 'Every knife is made by hand \u2014 from exquisite steels and natural materials. Precision meets tradition.',\n      hero_cta: 'Discover my work',\n      work_label: 'Selected pieces',\n      work_title: 'Every knife<br>tells a <em>story<\/em>',\n      view: 'View',\n      mat_chef: 'Steel 12C27N \u00b7 Oak', mat_santoku: 'Steel 14C28N \u00b7 Ebony', mat_bunka: 'Steel 12C27N \u00b7 Mahogany',\n      mat_yanagiba: 'Steel 14C28N \u00b7 Olive wood', mat_outdoor: 'Steel 14C28N \u00b7 Micarta', mat_edc: 'Steel 14C28N \u00b7 Aged oak',\n      outdoor_title: 'Outdoor Knife',\n      about_label: 'Craft & Passion',\n      about_title: 'About <em>me<\/em>',\n      about_p1: 'When I left Zurich in 2018 to set up my small workshop in the Grisons, I had no idea that knives would become my passion. Back then I started repairing my customers\\u2019 favourite pieces (\\u201cGood as new\\u201d), upcycling, designing unusual lamps from found objects, and creating special wooden boards for kitchenware shops.',\n      about_p2: 'When Johanna, my wife and a cook, wished for a new kitchen knife, fate took its course and I designed my first knife prototype. I fell in love with the work and have been \\u201cburning\\u201d for knife design ever since. My love of craftsmanship, precision and detail is reflected in my work. Many of my high-quality materials such as wood, steel, horn and leather are sourced locally or sustainably.',\n      stat1: 'Years of experience', stat2: 'Pieces made', stat3: 'Types of steel', stat4: 'Handmade',\n      contact_label: 'Enquiries & commissions',\n      contact_title: 'A knife,<br><em>for you.<\/em>',\n      contact_p1: 'A knifemaker\\u2019s philosophy can take many forms, as it is shaped strongly by the craftsman\\u2019s personal values, experiences and convictions. In general, however, knifemakers strive for the highest quality, functionality and aesthetics in their products.',\n      contact_p2: 'Personally, I feel a deep connection to nature and use high-quality materials such as wood, steel or leather, which are often sourced locally or sustainably.',\n      contact_p3: 'Would you like to make your own knife? Sign up today!',\n      form_success: 'Thank you \u2014 I will get back to you soon.',\n      form_name: 'Name', form_name_ph: 'Your full name',\n      form_email: 'Email', form_email_ph: 'your@email.com',\n      form_msg: 'Message', form_msg_ph: 'Describe your idea \u2014 steel, shape, material, intended use \u2026',\n      form_send: 'Send enquiry \u2192',\n      footer_l: '\u00a9 2026 knifemaker \u2014 Handcrafted knives',\n      footer_r: 'Every piece is one of a kind.',\n      close: 'Close \u2715', prev: 'Previous image', next: 'Next image',\n      title: 'Knifemaker \u2014 Handcrafted Knives'\n    }\n  };\n\n  var current = 'de';\n  var activeCard = null;\n\n  function t(key) { return (I18N[current] && I18N[current][key]) || ''; }\n\n  function applyLang(lang) {\n    if (!I18N[lang]) lang = 'de';\n    current = lang;\n\n    document.querySelectorAll('[data-i18n]').forEach(function (el) {\n      var v = t(el.getAttribute('data-i18n'));\n      if (v) el.textContent = v;\n    });\n    document.querySelectorAll('[data-i18n-html]').forEach(function (el) {\n      var v = t(el.getAttribute('data-i18n-html'));\n      if (v) el.innerHTML = v;\n    });\n    document.querySelectorAll('[data-i18n-placeholder]').forEach(function (el) {\n      var v = t(el.getAttribute('data-i18n-placeholder'));\n      if (v) el.setAttribute('placeholder', v);\n    });\n    document.querySelectorAll('[data-i18n-aria]').forEach(function (el) {\n      var v = t(el.getAttribute('data-i18n-aria'));\n      if (v) el.setAttribute('aria-label', v);\n    });\n    document.querySelectorAll('.lang-btn').forEach(function (b) {\n      b.setAttribute('aria-pressed', b.getAttribute('data-lang') === lang ? 'true' : 'false');\n    });\n\n    document.documentElement.setAttribute('lang', lang);\n    document.title = t('title');\n    try { localStorage.setItem('km_lang', lang); } catch (e) {}\n\n    \/\/ Keep an open lightbox in sync\n    var lb = document.getElementById('lightbox');\n    if (lb.classList.contains('active') && activeCard) fillLightbox(activeCard);\n  }\n\n  function initialLang() {\n    var saved = null;\n    try { saved = localStorage.getItem('km_lang'); } catch (e) {}\n    if (saved && I18N[saved]) return saved;\n    var nav = (navigator.language || 'de').toLowerCase();\n    return nav.indexOf('de') === 0 ? 'de' : (nav.indexOf('en') === 0 ? 'en' : 'de');\n  }\n\n  \/\/ One delegated listener: keeps working even if the buttons get re-rendered or cloned by the site\n  document.addEventListener('click', function (e) {\n    var b = e.target && e.target.closest ? e.target.closest('.lang-btn') : null;\n    if (b) applyLang(b.getAttribute('data-lang'));\n  });\n  window.kmSetLang = applyLang;\n\n  \/\/ Apply the language first, so nothing further down the script can prevent it\n  applyLang(initialLang());\n\n  \/\/ ---- Lightbox ----\n  var lastOpener = null;\n  var cards = Array.prototype.slice.call(document.querySelectorAll('.work-card'));\n  var reduceMotion = !!(window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches);\n\n  function fillLightbox(card) {\n    var title = card.querySelector('.work-title').textContent;\n    var img = document.getElementById('lightbox-img');\n    img.src = card.querySelector('img.work-photo').getAttribute('src');\n    img.alt = title;\n    document.getElementById('lightbox-caption').textContent = title;\n    document.getElementById('lightbox-sub').textContent = card.querySelector('.work-mat').textContent;\n  }\n\n  function step(dir) {\n    if (!activeCard || cards.length === 1) return;\n    var i = cards.indexOf(activeCard);\n    activeCard = cards[(i + dir + cards.length) % cards.length];\n    fillLightbox(activeCard);\n  }\n\n  window.openLightbox = function (card, opener) {\n    activeCard = card;\n    lastOpener = opener || null;\n    fillLightbox(card);\n    document.getElementById('lightbox').classList.add('active');\n    document.body.style.overflow = 'hidden';\n    var closeBtn = document.querySelector('.lightbox-close');\n    if (closeBtn) closeBtn.focus();\n  };\n\n  window.closeLightbox = function (e) {\n    if (e && e.target.closest('.lightbox-inner')) return;\n    var lb = document.getElementById('lightbox');\n    var wasOpen = lb.classList.contains('active');\n    activeCard = null;\n    lb.classList.remove('active');\n    document.body.style.overflow = '';\n    if (wasOpen && lastOpener) { lastOpener.focus(); lastOpener = null; }\n  };\n\n  try {\n  document.querySelectorAll('.work-overlay').forEach(function (btn) {\n    btn.addEventListener('click', function () { window.openLightbox(btn.closest('.work-card'), btn); });\n  });\n\n  document.querySelectorAll('.lightbox-nav').forEach(function (b) {\n    b.addEventListener('click', function (e) {\n      e.stopPropagation();\n      step(b.getAttribute('data-dir') === 'prev' ? -1 : 1);\n    });\n  });\n\n  document.addEventListener('keydown', function (e) {\n    if (!document.getElementById('lightbox').classList.contains('active')) return;\n    if (e.key === 'Escape') window.closeLightbox();\n    else if (e.key === 'ArrowLeft') step(-1);\n    else if (e.key === 'ArrowRight') step(1);\n  });\n\n  \/\/ Swipe on touch devices\n  var touchX = null;\n  var lbEl = document.getElementById('lightbox');\n  lbEl.addEventListener('touchstart', function (e) { touchX = e.changedTouches[0].clientX; }, { passive: true });\n  lbEl.addEventListener('touchend', function (e) {\n    if (touchX === null) return;\n    var dx = e.changedTouches[0].clientX - touchX;\n    touchX = null;\n    if (Math.abs(dx) > 50) step(dx > 0 ? -1 : 1);\n  }, { passive: true });\n\n  } catch (err) { if (window.console) console.error('Lightbox init failed', err); }\n\n  try {\n  \/\/ ---- Smooth scroll ----\n  document.querySelectorAll('a[href^=\"#\"]').forEach(function (a) {\n    a.addEventListener('click', function (e) {\n      var target = document.querySelector(a.getAttribute('href'));\n      if (target) { e.preventDefault(); target.scrollIntoView({ behavior: reduceMotion ? 'auto' : 'smooth' }); }\n    });\n  });\n\n  \/\/ ---- Fade-in on scroll (content stays visible if JS or IntersectionObserver is unavailable) ----\n  if ('IntersectionObserver' in window) {\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (entry.isIntersecting) {\n          entry.target.classList.add('km-in');\n          observer.unobserve(entry.target);\n        }\n      });\n    }, { threshold: 0.1 });\n\n    document.querySelectorAll('.work-card, .about-text, .about-visual, .contact-intro, .contact-form').forEach(function (el) {\n      el.classList.add('km-reveal');\n      observer.observe(el);\n    });\n  }\n\n  } catch (err) { if (window.console) console.error('Scroll init failed', err); }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Knifemaker Home Arbeiten \u00dcber mich Kontakt DE | EN Handgefertigte Messer Scharf.Zeitlos.Einzigartig. Jedes Messer entsteht von Hand \u2014 aus erlesenen St\u00e4hlen und nat\u00fcrlichen Materialien. Pr\u00e4zision trifft auf Tradition. Arbeiten entdecken \u2192 Ausgew\u00e4hlte St\u00fccke Jedes Messererz\u00e4hlt eine Geschichte Ansehen Chef&#8217;s Knife Stahl 12C27N \u00b7 Eiche Ansehen Santoku Black Stahl 14C28N \u00b7 Ebenholz Ansehen Bunka-Style Stahl 12C27N [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-33","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/knifemaker.ch\/index.php?rest_route=\/wp\/v2\/pages\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/knifemaker.ch\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/knifemaker.ch\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/knifemaker.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/knifemaker.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=33"}],"version-history":[{"count":31,"href":"https:\/\/knifemaker.ch\/index.php?rest_route=\/wp\/v2\/pages\/33\/revisions"}],"predecessor-version":[{"id":102,"href":"https:\/\/knifemaker.ch\/index.php?rest_route=\/wp\/v2\/pages\/33\/revisions\/102"}],"wp:attachment":[{"href":"https:\/\/knifemaker.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}