/* Bäckerei Furter – shared styles */
:root {
  --green: #006239;
  --green-dark: #004b2c;
  --black: #181715;
  --cream: #fff7df;
  --gold: #ffe39d;
  --paper: #fffdf8;
  --text: #242521;
  --muted: #65685f;
  --line: #dedfd7;
  --radius-sm: 10px;
  --container: 1180px;
  --header-height: 78px;
}

/* Consistent keyboard focus across links and controls */
:where(a, button, input, textarea, select, summary):focus-visible {
  outline:3px solid var(--green);
  outline-offset:3px;
}
.bg-green :where(a, button, input, textarea, select, summary):focus-visible,
.bg-black :where(a, button, input, textarea, select, summary):focus-visible,
.site-header :where(a, button):focus-visible,
.site-footer :where(a, button):focus-visible,
.utility-bar :where(a, button):focus-visible {
  outline-color:var(--gold);
}


*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.68;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
address { font-style: normal; }

.skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 9999;
  padding: 10px 14px; background: #fff; color: #111; border: 2px solid #111;
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.narrow { width: min(780px, calc(100% - 40px)); margin-inline:auto; }
.section { padding: clamp(72px, 9vw, 120px) 0; }
.bg-cream { background: var(--cream); }
.bg-green { background: var(--green); color: #fff; }
.bg-black { background: var(--black); color:#fff; }

h1,h2,h3,h4 { margin:0; color:var(--black); font-family: Georgia, "Times New Roman", serif; line-height:1.08; text-wrap:balance; }
h1 { font-size: clamp(2.8rem, 7vw, 6.5rem); letter-spacing:-.05em; }
h2 { font-size: clamp(2rem, 4.2vw, 4rem); letter-spacing:-.035em; }
h3 { font-size: clamp(1.3rem, 2.1vw, 2rem); letter-spacing:-.015em; }
p { margin:0; }
p + p { margin-top: 1em; }
.lead { color: var(--muted); font-size: clamp(1.12rem, 1.8vw, 1.32rem); max-width: 760px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; color:var(--green); font-size:.84rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow::before { content:""; width:28px; height:2px; background:currentColor; }
.bg-green .eyebrow, .bg-black .eyebrow { color: var(--gold); }
.bg-green h1,.bg-green h2,.bg-green h3,.bg-black h1,.bg-black h2,.bg-black h3 { color:#fff; }
.bg-green .lead,.bg-black .lead { color:rgba(255,255,255,.78); }

.utility-bar { background: var(--black); color: rgba(255,255,255,.86); font-size:.96rem; }
.utility-inner { min-height: 36px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.utility-inner strong { color:#fff; }
.utility-links { display:flex; gap:22px; }
.utility-links a { color:#fff; text-decoration:none; }

.site-header { position:sticky; top:0; z-index:100; background:var(--green); color:#fff; border-bottom:1px solid rgba(255,255,255,.14); }
.site-header.is-scrolled { box-shadow: 0 8px 28px rgba(0,0,0,.16); }
.header-inner { min-height: var(--header-height); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:inline-flex; align-items:center; text-decoration:none; flex:0 0 auto; }
.brand img { width:210px; height:auto; object-fit:contain; }
.main-nav { display:flex; align-items:center; gap:25px; font-size:1rem; font-weight:700; }
.main-nav > a { color:#fff; text-decoration:none; position:relative; white-space:nowrap; }
.main-nav > a:not(.nav-call)::after { content:""; position:absolute; height:2px; left:0; right:100%; bottom:-8px; background:var(--gold); transition:right .18s ease; }
.main-nav > a:hover::after, .main-nav > a[aria-current="page"]::after { right:0; }
.nav-call { padding:10px 15px; border:1px solid rgba(255,255,255,.5); border-radius:999px; }
.nav-call:hover { background:#fff; color:var(--green); }
.nav-call { display:inline-flex; align-items:center; justify-content:center; text-align:center; }
.nav-call::before { display:none !important; content:none !important; margin:0 !important; }
.menu-toggle { display:none; width:46px; height:46px; align-items:center; justify-content:center; background:transparent; border:1px solid rgba(255,255,255,.34); border-radius:50%; cursor:pointer; }
.menu-icon, .menu-icon::before, .menu-icon::after { display:block; width:20px; height:2px; background:#fff; position:relative; transition:.18s ease; }
.menu-icon::before,.menu-icon::after { content:""; position:absolute; left:0; }
.menu-icon::before { top:-6px; }.menu-icon::after { top:6px; }
.menu-toggle[aria-expanded="true"] .menu-icon { background:transparent; }
.menu-toggle[aria-expanded="true"] .menu-icon::before { top:0; transform:rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon::after { top:0; transform:rotate(-45deg); }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:0 20px; border-radius:999px; font-weight:800; font-size:1rem; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--green); color:#fff; }
.btn-primary:hover { background:var(--green-dark); }
.btn-light { background:#fff; color:var(--green); }
.btn-outline { border-color:currentColor; background:transparent; }
.link-arrow { display:inline-flex; gap:8px; align-items:center; font-weight:800; color:var(--green); }

.hero { background:var(--cream); overflow:hidden; }
.hero-grid { min-height: min(760px, calc(100vh - 114px)); display:grid; grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr); align-items:stretch; }
.hero-copy { padding: clamp(62px, 8vw, 110px) clamp(28px, 6vw, 78px) clamp(62px, 8vw, 100px) max(20px, calc((100vw - var(--container))/2)); display:flex; flex-direction:column; justify-content:center; }
.hero-copy h1 em { color:var(--green); font-weight:400; }
.hero-copy .lead { margin-top:26px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:34px; }
.hero-facts { display:flex; flex-wrap:wrap; gap:9px 20px; margin-top:28px; color:var(--muted); font-size:.96rem; font-weight:700; }
.hero-facts span::before { content:"•"; color:var(--green); margin-right:7px; }
.hero-media { min-height:560px; position:relative; background:#1b1916; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(24,23,21,.08),transparent 30%); pointer-events:none; }
.hero-badge { position:absolute; left:28px; bottom:28px; z-index:2; width:186px; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; text-align:center; background:rgba(255,247,223,.95); color:var(--green); border:1px solid rgba(0,98,57,.25); font-family:Georgia,serif; line-height:1.08; transform:rotate(-6deg); padding:22px; }
.hero-badge-inner { display:grid; gap:5px; place-items:center; width:100%; }
.hero-badge-top, .hero-badge-bottom { display:block; font-size:.98rem; letter-spacing:.02em; }
.hero-badge strong { display:block; font-size:1.58rem; line-height:1; white-space:nowrap; }


.section-head { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(30px,6vw,80px); align-items:end; margin-bottom:48px; }
.section-head .lead { justify-self:end; }

.value-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); background:#fff; }
.value-card { padding:34px 28px 36px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-height:265px; }
.value-no { font-size:.8rem; font-weight:900; letter-spacing:.13em; color:var(--green); }
.value-card h3 { margin-top:52px; }
.value-card p { margin-top:12px; color:var(--muted); font-size:1rem; }

.split-media { display:grid; grid-template-columns:1fr 1fr; min-height:620px; }
.split-media .media { min-height:520px; overflow:hidden; }
.split-media .media img { width:100%; height:100%; object-fit:cover; }
.split-copy { padding: clamp(52px,7vw,96px); display:flex; flex-direction:column; justify-content:center; }
.split-copy .lead { margin-top:22px; }
.split-copy .btn { align-self:flex-start; margin-top:30px; }
.check-list { list-style:none; padding:0; margin:30px 0 0; display:grid; gap:13px; }
.check-list li { position:relative; padding-left:28px; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:900; }
.bg-green .check-list li::before,.bg-black .check-list li::before { color:var(--gold); }

.category-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.category-card { min-height:310px; padding:30px; border:1px solid var(--line); background:#fff; display:flex; flex-direction:column; justify-content:space-between; }
.category-card:nth-child(1),.category-card:nth-child(2) { grid-column:span 6; min-height:380px; }
.category-card:nth-child(n+3) { grid-column:span 4; }
.category-card.featured { background:var(--green); color:#fff; border-color:var(--green); }
.category-card.featured h3 { color:#fff; }
.category-card h3 { margin-top:36px; }
.category-card p { margin-top:10px; color:var(--muted); }
.category-card.featured p { color:rgba(255,255,255,.78); }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
.tag { padding:5px 9px; border:1px solid currentColor; border-radius:999px; font-size:.78rem; font-weight:800; opacity:.86; }

.timeline { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.25); margin:50px 0 0; padding:0; list-style:none; }
.timeline-item { padding:28px 26px 0 0; }
.timeline-year { color:var(--gold); font-family:Georgia,serif; font-size:2rem; }
.timeline-item p { margin-top:8px; color:rgba(255,255,255,.82); font-size:1rem; }

.quote { margin:0; font-family:Georgia,serif; font-size:clamp(2rem,4vw,4.25rem); line-height:1.09; letter-spacing:-.035em; }
.quote cite { display:block; margin-top:22px; font-family:Inter,ui-sans-serif,sans-serif; font-size:.76rem; font-style:normal; font-weight:900; letter-spacing:.13em; text-transform:uppercase; color:var(--gold); }

.info-band { display:grid; grid-template-columns:1.15fr .85fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.info-band > div { background:#fff; padding:clamp(34px,5vw,58px); }
.info-band h2,.info-band h3 { margin-bottom:14px; font-size:clamp(1.7rem,3vw,2.7rem); }
.info-band p { color:var(--muted); }
.info-band .actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }

.faq { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { list-style:none; width:100%; padding:22px 0; display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; cursor:pointer; font-weight:800; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; font-size:1.6rem; font-weight:400; color:var(--green); }
.faq-item[open] summary::after { content:"−"; }
.faq-item summary:focus-visible { outline:3px solid var(--green); outline-offset:5px; }
.faq-panel { padding:0 48px 22px 0; color:var(--muted); }

.page-hero { padding: clamp(64px, 9vw, 112px) 0; background:var(--cream); }
.page-hero-grid { display:grid; grid-template-columns:1fr .78fr; gap:60px; align-items:end; }
.page-hero h1 { max-width:900px; font-size:clamp(2.6rem,5.4vw,5rem); }
.page-hero .lead { margin-top:22px; }
.page-kicker { color:var(--green); font-size:.88rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }


.product-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:60px; padding:46px 0; border-top:1px solid var(--line); }
.product-section:first-child { border-top:0; }
.product-section h2 { font-size:clamp(1.8rem,3.2vw,3rem); }
.product-section p { color:var(--muted); }
.product-section ul { columns:2; margin:20px 0 0; padding-left:20px; color:var(--text); }
.product-section li { margin-bottom:6px; break-inside:avoid; }
.notice { padding:24px; border-left:4px solid var(--green); background:var(--cream); }
.notice strong { color:var(--green); }

.story-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.story-aside { position:sticky; top:120px; }
.story-body h2 { margin-bottom:22px; }
.story-body h3 { margin:42px 0 14px; }
.story-body p { color:var(--muted); }
.story-body .quote { margin:50px 0; color:var(--green); }

.job-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.job-card { padding:30px; background:#fff; border:1px solid var(--line); min-height:250px; }
.job-card h3 { margin-top:46px; }
.job-card p { margin-top:12px; color:var(--muted); }

.contact-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(40px,8vw,100px); align-items:start; }
.contact-card { background:var(--green); color:#fff; padding:36px; }
.contact-card h2,.contact-card h3 { color:#fff; }
.contact-card a { color:#fff; }
.contact-card dl { margin:32px 0 0; }
.contact-card dt { margin-top:20px; color:var(--gold); font-size:.84rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.contact-card dd { margin:5px 0 0; }
.contact-card .small { color:rgba(255,255,255,.82); font-size:.98rem; }
.form { display:grid; gap:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:grid; gap:7px; }
.field label { font-size:.96rem; font-weight:800; }
.field input,.field select,.field textarea { width:100%; border:1px solid #bfc3ba; background:#fff; border-radius:var(--radius-sm); padding:13px 14px; color:var(--text); }
.field textarea { min-height:170px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { outline:3px solid rgba(0,98,57,.18); border-color:var(--green); }
.form-status { display:none; padding:14px 16px; border-radius:var(--radius-sm); font-weight:700; }
.form-status.is-visible { display:block; }
.form-status.success { background:#e4f3e8; color:#174e2e; }
.form-status.error { background:#fde8e8; color:#7a2020; }
.hp-field { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

.location-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.location-card { padding:26px; border:1px solid var(--line); background:#fff; }
.location-card h3 { font-size:1.35rem; }
.location-card p { margin-top:10px; color:var(--muted); font-size:1rem; }

.legal h1 { font-size:clamp(2rem,8vw,4.5rem); overflow-wrap:anywhere; hyphens:auto; }
.legal h2 { margin-top:42px; font-size:1.65rem; }
.legal h3 { margin-top:28px; font-size:1.25rem; }
.legal p,.legal li { color:#50534c; }
.legal ul { padding-left:20px; }


.press-card { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(36px,7vw,90px); align-items:start; }
.press-card .lead { margin-bottom:18px; }
.press-meta { margin:18px 0 22px; color:var(--muted); font-size:.96rem; }

.mt-16 { margin-top:16px; }
.mt-18 { margin-top:18px; }
.mt-20 { margin-top:20px; }
.mt-22 { margin-top:22px; }
.mt-24 { margin-top:24px; }
.mt-28 { margin-top:28px; }
.mt-30 { margin-top:30px; }
.mt-32 { margin-top:32px; }
.mt-42 { margin-top:42px; }
.mt-54 { margin-top:54px; }
.mb-30 { margin-bottom:30px; }
.text-green { color:var(--green); }
.text-muted { color:var(--muted); }
.text-white { color:#fff; }
.text-white-muted { color:rgba(255,255,255,.78); }
.small { font-size:.96rem; }
.timeline-light { border-color:#c7c2af; }
.timeline.timeline-light { grid-template-columns:repeat(5,1fr); }
.timeline-light .timeline-item p { color:#50544c; }
.bg-cream .timeline-light .timeline-item p { color:#50544c; }
.privacy-consent { display:flex; gap:10px; align-items:flex-start; font-size:.94rem; }
.privacy-consent input { margin-top:5px; flex:0 0 auto; }

.cta-band { background:var(--green); color:#fff; }
.cta-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; }
.cta-grid h2 { color:#fff; }
.cta-grid p { margin-top:14px; color:rgba(255,255,255,.78); }
.cta-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }

.site-footer { background:var(--black); color:rgba(255,255,255,.72); padding-top:66px; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; padding-bottom:54px; }
.footer-brand { width:min(100%, 300px); }
.footer-brand img { width:300px; max-width:100%; height:auto; object-fit:contain; }
.footer-brand p { margin-top:18px; max-width:300px; }
.footer-heading { font-family:Inter,ui-sans-serif,sans-serif; font-size:.95rem; color:var(--gold); text-transform:uppercase; letter-spacing:.12em; margin-bottom:13px; }
.site-footer a { color:#fff; }
.footer-bottom { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.12); font-size:.96rem; }
.footer-bottom nav { display:flex; gap:20px; }



/* Historical imagery / archive */
.history-opening {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  background:var(--black);
  color:#fff;
}
.history-opening figure { position:relative; min-height:620px; margin:0; overflow:hidden; }
.history-opening-side { border-left:1px solid rgba(255,255,255,.15); }
.history-opening img { width:100%; height:100%; object-fit:cover; }
.history-opening-main img { object-position:center 48%; }
.history-opening-side img { object-position:center 55%; }
.history-opening figcaption {
  position:absolute; left:0; right:0; bottom:0; padding:72px 32px 30px;
  background:linear-gradient(transparent 0%, rgba(0,0,0,.72) 32%, rgba(0,0,0,.94) 100%);
  color:#fff;
  font-size:1.08rem;
  line-height:1.55;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.history-opening figcaption strong {
  display:block;
  margin-bottom:5px;
  color:#fff;
  font-size:1.22rem;
  line-height:1.25;
}

.history-then-now { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:46px 0 54px; }
.history-then-now figure { margin:0; background:#fff; border:1px solid var(--line); overflow:hidden; }
.history-then-now img { width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--black); }
.history-then-now figure:nth-child(2) img { object-position:center 56%; }
.history-then-now figcaption { padding:20px 22px 23px; color:var(--muted); font-size:1rem; line-height:1.55; }
.history-then-now figcaption strong { display:block; margin-bottom:4px; color:var(--text); }

.history-gallery-section { background:#f2efe5; }
.history-slider { position:relative; }
.history-track {
  display:flex; gap:18px; overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; scrollbar-width:none; padding:2px 2px 10px;
}
.history-track::-webkit-scrollbar { display:none; }
.history-slide {
  flex:0 0 min(82vw,920px); margin:0; scroll-snap-align:start;
  background:#fff; border:1px solid var(--line); overflow:hidden;
}
.history-slide img { width:100%; aspect-ratio:4/3; object-fit:contain; background:var(--black); }
.history-slide figcaption { display:grid; grid-template-columns:54px 1fr; gap:14px; padding:22px 24px 24px; }
.history-slide figcaption strong { display:block; color:var(--text); font-size:1.08rem; }
.history-slide figcaption p { margin-top:6px; color:var(--muted); font-size:1rem; line-height:1.55; }
.history-slide-no { color:var(--green); font-size:.8rem; font-weight:900; letter-spacing:.12em; }
.history-controls { display:none; align-items:center; justify-content:flex-end; gap:12px; margin-top:18px; }
.js .history-controls { display:flex; }
.history-control {
  width:46px; height:46px; border-radius:50%; border:1px solid #aeb0a7;
  background:#fff; color:var(--green); cursor:pointer; font-size:1.25rem;
}
.history-control:hover { border-color:var(--green); }
.history-control:disabled { opacity:.4; cursor:not-allowed; }
.history-control:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.history-counter { min-width:58px; text-align:center; color:var(--muted); font-size:.84rem; font-weight:800; }

@media (max-width: 1080px) {
  .history-opening { grid-template-columns:1fr; }
  .history-opening figure { min-height:520px; }
  .history-opening-side { border-left:0; border-top:1px solid rgba(255,255,255,.15); }
  .history-then-now { grid-template-columns:1fr; }
  .utility-links a:last-child { display:none; }
  /* No-JS fallback: keep the real navigation visible and usable. */
  .header-inner { flex-wrap:wrap; }
  .main-nav { width:100%; order:3; display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding:0 0 16px; font-size:.84rem; }
  .main-nav > a { white-space:normal; }
  .main-nav .nav-call { padding:8px 12px; }
  /* Once main.js has loaded, switch to the compact mobile menu. */
  .js .header-inner { flex-wrap:nowrap; }
  .js .menu-toggle { display:flex; }
  .js .main-nav { position:absolute; top:100%; left:0; right:0; width:auto; order:initial; max-height:calc(100vh - var(--header-height)); overflow:auto; padding:28px max(20px,calc((100vw - var(--container))/2)) 34px; background:var(--green-dark); display:none; flex-direction:column; flex-wrap:nowrap; align-items:stretch; gap:0; border-top:1px solid rgba(255,255,255,.14); box-shadow:0 18px 28px rgba(0,0,0,.16); }
  .js .main-nav.is-open { display:flex; }
  .js .main-nav > a { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.12); font-size:1rem; }
  .js .main-nav > a::after { display:none; }
  .js .main-nav .nav-call { margin-top:18px; border:1px solid rgba(255,255,255,.4); text-align:center; }
  .hero-grid { grid-template-columns:1fr; min-height:auto; }
  .hero-copy { padding-left:max(20px,calc((100vw - var(--container))/2)); padding-right:max(20px,calc((100vw - var(--container))/2)); }
  .hero-media { min-height:600px; }
  .value-grid { grid-template-columns:1fr 1fr; }
  .split-media { grid-template-columns:1fr; }
  .split-media .media { order:0; min-height:520px; }
  .split-copy { order:1; }
  .category-card:nth-child(1),.category-card:nth-child(2),.category-card:nth-child(n+3) { grid-column:span 6; }
  .timeline { grid-template-columns:1fr 1fr; gap:30px 20px; }
  .timeline.timeline-light { grid-template-columns:1fr 1fr; }
  .page-hero-grid,.section-head,.contact-grid,.story-grid,.press-card { grid-template-columns:1fr; }
  .section-head .lead { justify-self:start; }
  .story-aside { position:static; }
  .job-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}


/* Tablet-safe assortment layout */
@media (max-width: 900px) {
  .partner-network-grid { grid-template-columns:1fr; }
  .partner-network-card-wide { grid-column:auto; }
  .partner-details ul { columns:1; }
  .product-section { grid-template-columns:1fr; gap:20px; padding:38px 0; }
  .product-section > * { min-width:0; }
  .product-section ul { columns:2; }
  .specialty-grid { grid-template-columns:1fr; }
}

@media (max-width: 700px) {
  .history-opening figure { min-height:380px; }
  .history-opening figcaption { padding:48px 20px 20px; }
  .history-slide { flex-basis:94%; }
  .history-slide figcaption { grid-template-columns:42px 1fr; padding:18px; }
  .history-controls { justify-content:center; }
  :root { --header-height:70px; }
  .container,.narrow { width:min(100% - 28px,var(--container)); }
  .utility-inner { min-height:34px; justify-content:center; text-align:center; }
  .utility-inner > p { font-size:.9rem; }
  .utility-links { display:none; }
  .header-inner { min-height:var(--header-height); }
  .brand img { width:185px; height:auto; }
  .hero-copy { padding:58px 14px 56px; }
  .hero-media { min-height:520px; }
  .hero-badge { width:148px; left:18px; bottom:18px; padding:16px; }
  .hero-badge-top, .hero-badge-bottom { font-size:.8rem; }
  .hero-badge strong { font-size:1.3rem; }
  .value-grid { grid-template-columns:1fr; }
  .value-card { min-height:220px; }
  .value-card h3 { margin-top:32px; }
  .category-card:nth-child(1),.category-card:nth-child(2),.category-card:nth-child(n+3) { grid-column:1/-1; min-height:280px; }
  .split-media .media { min-height:400px; }
  .split-copy { padding:52px 24px; }
  .timeline { grid-template-columns:1fr; }
  .timeline.timeline-light { grid-template-columns:1fr; }
  .info-band { grid-template-columns:1fr; }
  .page-hero { padding:60px 0; }
  .product-section { grid-template-columns:1fr; gap:18px; padding:34px 0; }
  .product-section ul { columns:1; }
  .job-grid,.location-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .contact-card { padding:28px 24px; }
  .cta-grid { grid-template-columns:1fr; }
  .cta-actions { justify-content:flex-start; }
  .footer-grid { grid-template-columns:1fr; gap:30px; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { flex-direction:column; align-items:flex-start; padding:20px 0; }
  .legal h1 { font-size:clamp(1.95rem,10vw,3.2rem); }
  .faq-panel { padding-right:12px; }
}


@media (max-width: 390px) {
  h1 { font-size:2.65rem; }
  .legal h1 { font-size:2rem; overflow-wrap:anywhere; }
  .hero-copy { padding-top:48px; }
  .hero-media { min-height:450px; }
  .hero-actions .btn { width:100%; }
  .footer-bottom nav { flex-wrap:wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

@media print {
  .utility-bar,.site-header,.cta-band,.site-footer,.menu-toggle { display:none !important; }
  body { background:#fff; color:#000; }
  a { text-decoration:none; }
}


/* Restored component styling: contact CTAs, utility icons, assortment quick access and partner products. */
.contact-card .btn-light {
  color:var(--green);
  background:#fff;
  border-color:#fff;
}
.contact-card .btn-light:hover {
  color:var(--green-dark);
  background:var(--cream);
  border-color:var(--cream);
}
.form button.btn-primary,
.form .btn-primary {
  color:#fff;
}
.form button.btn-primary:hover,
.form .btn-primary:hover {
  color:#fff;
}
.info-band .btn-primary { color:#fff; }
.cta-band .btn-outline.text-white { color:#fff; border-color:rgba(255,255,255,.78); }
.cta-band .btn-outline.text-white:hover { background:#fff; color:var(--green); border-color:#fff; }

/* Consistent functional icons. */
a[href^="tel:"], a[href^="mailto:"], a[href*="google.com/maps"], a[href*="instagram.com"] { --link-icon:none; }
a[href^="tel:"] { --link-icon:url("../icons/phone.svg"); }
a[href^="mailto:"] { --link-icon:url("../icons/mail.svg"); }
a[href*="google.com/maps"] { --link-icon:url("../icons/map-pin.svg"); }
a[href*="instagram.com"] { --link-icon:url("../icons/instagram.svg"); }
a[href^="tel:"]::before,
a[href^="mailto:"]::before,
a[href*="google.com/maps"]::before,
a[href*="instagram.com"]::before {
  content:"";
  display:inline-block;
  flex:0 0 auto;
  width:1em;
  height:1em;
  margin-right:.38em;
  vertical-align:-.14em;
  background:currentColor;
  -webkit-mask:var(--link-icon) center/contain no-repeat;
  mask:var(--link-icon) center/contain no-repeat;
}
.btn[href^="tel:"]::before,
.btn[href^="mailto:"]::before,
.btn[href*="google.com/maps"]::before,
.btn[href*="instagram.com"]::before {
  display:none;
  content:none;
}
.btn { text-align:center; }

/* Keep text edges aligned in navigation, footer, contact details and inline application links. */
.site-footer a[href*="google.com/maps"]::before,
.contact-card a:not(.btn)[href^="tel:"]::before,
.contact-card a:not(.btn)[href^="mailto:"]::before,
.contact-card a:not(.btn)[href*="instagram.com"]::before,
.info-band a:not(.btn)[href^="mailto:"]::before {
  display:none;
  content:none;
  margin:0;
}

/* Sortiment quick access */
.sortiment-jump-wrap {
  padding:18px 0;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.sortiment-jump {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
}
.sortiment-jump a {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:8px 13px;
  border:1px solid #cfd2c9;
  border-radius:999px;
  background:#fff;
  color:var(--green);
  font-size:.92rem;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.sortiment-jump a:hover {
  background:var(--green);
  color:#fff;
  border-color:var(--green);
  transform:translateY(-1px);
}
.sortiment-jump a:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.product-section[id] { scroll-margin-top:150px; }

/* Sortiment specialties */
.tags-dark { margin-top:22px; color:var(--green); }
.specialty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; }
.specialty-card { padding:22px; border:1px solid var(--line); background:var(--cream); }
.specialty-card h3 { font-size:1.35rem; }
.specialty-card p { margin-top:9px; color:var(--muted); }
.craft-list { margin-top:22px; margin-bottom:34px; }


.vegan-badge {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 18px;
  padding:8px 12px;
  border:1px solid rgba(0,98,57,.28);
  border-radius:999px;
  background:#eef5ec;
  color:var(--green);
  font-size:.88rem;
  font-weight:800;
}
.vegan-badge svg { width:20px; height:20px; fill:currentColor; flex:0 0 auto; }

.partner-logo-showcase {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}
.partner-logo-tile {
  min-height:132px;
  padding:20px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid var(--line);
  text-decoration:none;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.partner-logo-tile:hover {
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 10px 24px rgba(24,23,21,.08);
  border-color:rgba(0,98,57,.3);
}
.partner-logo-tile:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.partner-logo-tile img {
  display:block;
  width:auto;
  height:auto;
  max-width:88%;
  max-height:84px;
  object-fit:contain;
}
.partner-logo-tile .logo-kunz { max-height:72px; max-width:72%; }
.partner-logo-text { color:var(--green); font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; font-weight:700; }
.partner-logo-hint { margin-top:10px; }
.partner-copy-grid { margin-top:26px; }

/* Partner & Handelswaren */
.partner-network-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.partner-network-card {
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  min-width:0;
}
.partner-network-card-wide { grid-column:1 / -1; }
.partner-network-card h3 { margin-top:7px; font-size:1.4rem; }
.partner-network-card p { margin-top:9px; color:var(--muted); }
.partner-type {
  display:block;
  color:var(--green);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.partner-network-card details { margin-top:16px; border-top:1px solid var(--line); padding-top:12px; }
.partner-network-card summary { cursor:pointer; color:var(--green); font-weight:800; }
.partner-network-card details ul { columns:1; margin-top:12px; }
.partner-detail-note { margin-top:12px !important; font-size:.92rem; }
.partner-product-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.partner-product-tags span {
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border:1px solid #cfd2c9;
  border-radius:999px;
  color:var(--green);
  font-size:.82rem;
  font-weight:750;
}
.partner-own-products {
  padding:22px 24px;
  background:var(--cream);
  border-left:4px solid var(--green);
}
.partner-own-products p { color:var(--muted); }


@media (max-width:700px) {
  .sortiment-jump { gap:8px; }
  .sortiment-jump a { min-height:46px; padding:8px 12px; font-size:.9rem; }
  .product-section[id] { scroll-margin-top:125px; }
}


/* 2026-09 content revision: bread plan, partner logos and editorial craft details */
.bread-plan-section {
  padding:54px 0 64px;
  border-top:1px solid var(--line);
  scroll-margin-top:150px;
}
.bread-plan-head { margin-bottom:24px; }
.bread-plan-legend {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
  margin:0 0 18px;
  color:var(--muted);
  font-size:.88rem;
}
.bread-plan-legend span { display:inline-flex; align-items:center; gap:7px; }
.bread-key-symbol { display:inline-grid; place-items:center; width:1.1em; height:1.1em; flex:0 0 auto; font-style:normal; font-size:1rem; line-height:1; }
.bread-key-symbol.sourdough { color:#8a4b3d; }
.bread-key-symbol.no-sourdough { color:#8b7b39; }
.bread-plan-scroll {
  overflow-x:auto;
  overscroll-behavior-x:contain;
  border:1px solid var(--line);
  background:#fff;
}
.bread-plan-scroll:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.bread-plan-table {
  width:100%;
  min-width:980px;
  border-collapse:collapse;
  table-layout:fixed;
}
.bread-plan-table th {
  padding:15px 16px;
  text-align:left;
  background:var(--green);
  color:#fff;
  font-size:.94rem;
  letter-spacing:.02em;
}
.bread-plan-table td {
  vertical-align:top;
  padding:14px 12px 16px;
  border-right:1px solid var(--line);
}
.bread-plan-table td:last-child,
.bread-plan-table th:last-child { border-right:0; }
.bread-chip {
  display:block;
  margin:0 0 7px;
  padding:7px 9px;
  border-radius:8px;
  background:#f5f4ef;
  color:var(--text);
  font-size:.86rem;
  font-weight:700;
  line-height:1.25;
}
.bread-chip.sourdough { background:#f3e7e2; color:#65382f; border-left:3px solid #a56a5c; }
.bread-chip.no-sourdough { background:#f2f0df; color:#555027; border-left:3px solid #aaa15b; }
.bread-chip.sourdough::before,
.bread-chip.no-sourdough::before { display:inline-block; width:1em; margin-right:5px; font-weight:900; }
.bread-chip.sourdough::before { content:"●"; color:#8a4b3d; }
.bread-chip.no-sourdough::before { content:"○"; color:#8b7b39; }


.partner-network-card {
  display:flex;
  flex-direction:column;
}
.partner-network-card .partner-type { margin-top:0; }
.partner-network-card details { width:100%; }

.backstuben-note {
  margin:40px 0;
  padding:26px 28px;
  border-left:4px solid var(--green);
  background:var(--cream);
}
.backstuben-note p {
  margin:0;
  color:var(--text);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.35rem,2.2vw,1.8rem);
  line-height:1.35;
}
.backstuben-note cite {
  display:block;
  margin-top:12px;
  color:var(--green);
  font-size:.78rem;
  font-style:normal;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.publication-card {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(36px,7vw,90px);
  align-items:start;
}
.mini-quote {
  margin:36px 0 44px;
  padding:22px 26px;
  border-left:4px solid var(--gold);
  color:#fff;
}
.mini-quote p { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.35rem,2.4vw,2rem); line-height:1.35; }
.mini-quote cite { display:block; margin-top:10px; color:var(--gold); font-size:.78rem; font-style:normal; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

/* Sortiment final section now blends directly into the footer without an extra green divider. */
.page-sortiment .site-footer { border-top:0; background:#10100f; }
.page-sortiment .sortiment-final,
.page-sortiment .sortiment-final .split-copy { background:#10100f; }

@media (max-width:900px) {
  .publication-card { grid-template-columns:1fr; gap:22px; }
}
@media (max-width:700px) {
  .bread-plan-section { padding:42px 0 52px; scroll-margin-top:125px; }
  .bread-plan-table { min-width:850px; }
  .bread-plan-table th { padding:13px 12px; }
  .bread-plan-table td { padding:12px 10px 14px; }
  .bread-chip { font-size:.82rem; }
  .partner-logo { min-height:76px; }
  .partner-logo img { max-height:68px; }
  .partner-logo.tall { min-height:110px; }
  .partner-logo.tall img { max-height:100px; }
  .backstuben-note { padding:22px 20px; }
}

/* Final responsive overrides for assortment components defined after the base media queries. */
@media (max-width:900px) {
  .specialty-grid,
  .partner-network-grid { grid-template-columns:1fr; }
  .partner-network-card-wide { grid-column:auto; }
  .partner-details ul { columns:1; }
}
@media (max-width:700px) {
  .partner-network-card { padding:20px; }
  .partner-logo-pair { gap:12px; }
  .partner-logo-pair img { max-width:130px; }
}

@media (max-width:1080px) {
  .partner-logo-showcase { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .partner-logo-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .partner-logo-tile { min-height:112px; padding:15px 12px; }
  .partner-logo-tile img { max-height:68px; }
  .partner-logo-tile .logo-kunz { max-height:60px; }
}

/* Temporary contact-only version */
.contact-only-header .header-inner { min-height: var(--header-height); flex-wrap:nowrap; }
.contact-only-header .header-actions { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.contact-card :where(a, button):focus-visible { outline-color:var(--gold); }
.contact-only-header .header-phone { background:#fff; color:var(--green); border-color:#fff; }
.contact-only-header .header-phone:hover { background:var(--cream); color:var(--green-dark); }
.contact-direct { padding-top:6px; }
.contact-direct h2 { margin-bottom:18px; }
.contact-direct .lead { max-width:700px; }
.contact-direct-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.contact-direct-note { margin-top:28px; padding:22px 24px; background:var(--cream); border-left:3px solid var(--green); }
.contact-direct-note p { margin:0; }
@media (max-width:700px) {
  .contact-only-header .header-inner { gap:14px; }
  .contact-only-header .brand img { width:170px; }
  .contact-only-header .header-phone { min-height:44px; padding:0 16px; font-size:.94rem; }
  .contact-direct-actions .btn { width:100%; }
}
@media (max-width:340px) {
  .contact-only-header .header-inner { gap:10px; }
  .contact-only-header .brand img { width:150px; }
  .contact-only-header .header-phone { min-height:42px; padding:0 13px; font-size:.9rem; }
}
