.sw-p44 { box-sizing: border-box; font-family: 'Inter', sans-serif; background: #FCFAF6; color: #2F3622; }
.sw-p44 *, .sw-p44 *::before, .sw-p44 *::after { box-sizing: inherit; }
.sw-p44-wrap { max-width: 1180px; margin: 0 auto; padding: 0 clamp(1.6rem, 4vw, 3rem); }
.sw-p44-section { padding: 6.2rem 0; position: relative; }
.sw-p44-head { text-align: center; max-width: 720px; margin: 0 auto 3.4rem; }
.sw-p44-course { display: flex; align-items: center; gap: 16px; max-width: 860px; margin: 0 auto 2.8rem; }
.sw-p44-course i { flex: 1; height: 1px; background: rgba(62,107,53,0.3); }
.sw-p44-course-label { display: flex; flex-direction: column; align-items: center; gap: 2px; white-space: nowrap; }
.sw-p44-course-label strong { font-size: 0.64rem; letter-spacing: 0.32em; text-transform: uppercase; font-weight: 800; color: #C03B2D; }
.sw-p44-course-label em { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-weight: 500; font-size: 1rem; color: #3E6B35; }
.sw-p44-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 0.68rem; letter-spacing: 4px; text-transform: uppercase; font-weight: 700; color: #2F3622; margin-bottom: 1.3rem; }
.sw-p44-dot { width: 8px; height: 8px; border-radius: 50%; background: #C03B2D; }
.sw-p44-eyebrow i { font-style: normal; font-weight: 500; color: #6F6A57; letter-spacing: 2px; }
.sw-p44-h2 { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: clamp(2.4rem, 5.2vw, 3.8rem); line-height: 1.0; letter-spacing: -0.02em; color: #2F3622; margin: 0 0 1rem; }
.sw-p44-h2 em { font-style: italic; font-weight: 500; color: #C03B2D; }
.sw-p44-lead { font-size: 16px; line-height: 1.7; color: #6F6A57; margin: 0; }
.sw-p44-menu-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; align-items: stretch; }
.sw-p44-menu { position: relative; display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid rgba(62,107,53,0.28); border-radius: 4px 12px 12px 12px; padding: 2.4rem 1.7rem 1.6rem; box-shadow: 0 16px 32px -22px rgba(47,54,34,0.4); transition: box-shadow 0.35s ease, border-color 0.35s ease; }
.sw-p44-menu:hover { border-color: rgba(62,107,53,0.55); box-shadow: 0 30px 54px -26px rgba(47,54,34,0.5); }
.sw-p44-menu-tab { position: absolute; top: -13px; left: -1px; background: #3E6B35; color: #FCFAF6; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 0.66rem; letter-spacing: 0.08em; padding: 3px 12px; border-radius: 6px 6px 6px 0; transform-origin: left bottom; transition: transform 0.35s ease; }
.sw-p44-menu:hover .sw-p44-menu-tab { transform: rotate(-4deg) translateY(-2px); }
.sw-p44-menu-cloche { width: 44px; height: 29px; margin-bottom: 0.7rem; transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.3, 1.2); }
.sw-p44-menu:hover .sw-p44-menu-cloche { transform: translateY(-7px) rotate(-5deg); }
.sw-p44-menu h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 1.7rem; margin: 0 0 0.2rem; color: #2F3622; }
.sw-p44-menu-sub { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 0.9rem; color: #3E6B35; margin: 0 0 1.3rem; }
.sw-p44-gang { padding: 0.75rem 0; border-top: 1px dashed rgba(62,107,53,0.35); }
.sw-p44-gang strong { display: block; font-size: 0.92rem; font-weight: 700; color: #2F3622; margin-bottom: 2px; }
.sw-p44-gang span { font-size: 0.78rem; line-height: 1.5; color: #6F6A57; }
.sw-p44-menu-price { margin-top: auto; padding-top: 1rem; border-top: 1px dashed rgba(62,107,53,0.35); display: flex; align-items: baseline; justify-content: space-between; }
.sw-p44-menu-price strong { font-size: 1.05rem; font-weight: 800; color: #C03B2D; }
.sw-p44-menu-price span { font-size: 0.72rem; color: #6F6A57; }
.sw-p44-anlaesse { background: #FFFFFF; border-top: 1px solid rgba(62,107,53,0.18); border-bottom: 1px solid rgba(62,107,53,0.18); }
.sw-p44-anlass-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; text-align: center; }
.sw-p44-anlass-plate { display: block; width: 124px; height: 124px; margin: 0 auto 1.2rem; border-radius: 50%; background-size: cover; background-position: 50% 50%; box-shadow: 0 0 0 7px #FFFFFF, 0 0 0 8px rgba(62,107,53,0.45), 0 0 0 16px #FCFAF6, 0 22px 40px -18px rgba(47,54,34,0.45); transition: transform 0.4s ease, box-shadow 0.4s ease; }
.sw-p44-anlass:hover .sw-p44-anlass-plate { transform: translateY(-6px) rotate(2deg); box-shadow: 0 0 0 7px #FFFFFF, 0 0 0 8px #C03B2D, 0 0 0 16px #FCFAF6, 0 30px 50px -20px rgba(47,54,34,0.55); }
.sw-p44-anlass h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 1.3rem; margin: 0 0 0.3rem; color: #2F3622; }
.sw-p44-anlass-meta { display: block; font-size: 0.64rem; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 800; color: #3E6B35; margin-bottom: 0.6rem; }
.sw-p44-anlass p { margin: 0 auto; max-width: 26ch; font-size: 0.84rem; line-height: 1.6; color: #6F6A57; }
.sw-p44-act { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 5rem 0 5.5rem; overflow: hidden; background: #FCFAF6; }
.sw-p44-act::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(47,54,34,0.025) 0 1px, transparent 1px 7px), repeating-linear-gradient(90deg, rgba(47,54,34,0.02) 0 1px, transparent 1px 7px), radial-gradient(720px 480px at 50% 42%, rgba(62,107,53,0.07), transparent 70%); pointer-events: none; }
.sw-p44-act .sw-p44-course { position: relative; margin-bottom: 3rem; }
.sw-p44-ringwrap { --ring: min(78vw, 64vh); position: relative; width: var(--ring); height: var(--ring); margin: 0 auto; }
.sw-p44-ring { position: absolute; inset: 0; border: 1.5px solid rgba(62,107,53,0.5); border-radius: 50%; }
.sw-p44-ring::before { content: ""; position: absolute; inset: 7%; border: 1px dashed rgba(62,107,53,0.4); border-radius: 50%; }
.sw-p44-ring::after { content: ""; position: absolute; inset: 16%; border: 1px solid rgba(192,59,45,0.18); border-radius: 50%; }
.sw-p44-orbit { position: absolute; inset: 0; }
.sw-p44-orb-item { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(var(--a)) translateY(calc(var(--ring) / -2)); font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: clamp(0.72rem, 1.5vw, 1.02rem); color: #3E6B35; white-space: nowrap; background: #FCFAF6; padding: 2px 12px; letter-spacing: 0.04em; }
.sw-p44-act-center { position: absolute; inset: 14%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 1.3rem; }
.sw-p44-herb { width: clamp(40px, 6vw, 58px); height: auto; }
.sw-p44-act-line { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(1.7rem, 4.6vw, 3.4rem); line-height: 1.12; color: #2F3622; margin: 0; max-width: 18ch; }
.sw-p44-act-line em { font-style: italic; color: #C03B2D; }
.sw-p44-act-items { display: flex; justify-content: center; gap: clamp(0.8rem, 2.5vw, 2rem); flex-wrap: wrap; max-width: 46ch; }
.sw-p44-act-item { display: inline-flex; align-items: center; gap: 8px; font-size: 0.64rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #2F3622; }
.sw-p44-act-item::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #3E6B35; }
.sw-p44-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.sw-p44-step { background: #FFFFFF; border: 1px solid rgba(62,107,53,0.28); border-radius: 4px 12px 12px 12px; padding: 2.1rem 1.7rem 1.8rem; position: relative; box-shadow: 0 16px 32px -22px rgba(47,54,34,0.4); transition: box-shadow 0.35s ease, border-color 0.35s ease; }
.sw-p44-step:hover { border-color: rgba(192,59,45,0.5); box-shadow: 0 28px 50px -26px rgba(47,54,34,0.5); }
.sw-p44-step-num { position: absolute; top: -13px; left: -1px; background: #C03B2D; color: #FCFAF6; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 0.66rem; letter-spacing: 0.08em; padding: 3px 12px; border-radius: 6px 6px 6px 0; transform-origin: left bottom; transition: transform 0.35s ease; }
.sw-p44-step:hover .sw-p44-step-num { transform: rotate(-4deg) translateY(-2px); }
.sw-p44-step h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 1.35rem; margin: 0 0 0.6rem; color: #2F3622; }
.sw-p44-step p { margin: 0; font-size: 0.9rem; line-height: 1.66; color: #6F6A57; }
.sw-p44-quote-sec { text-align: center; }
.sw-p44-quote blockquote { margin: 0 auto; max-width: 30ch; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-style: italic; font-size: clamp(1.8rem, 4.2vw, 2.9rem); line-height: 1.25; color: #2F3622; }
.sw-p44-quote blockquote em { font-style: italic; color: #C03B2D; }
.sw-p44-quote figcaption { margin-top: 1.6rem; font-size: 0.68rem; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 700; color: #3E6B35; }
.sw-p44-contact { background: #FFFFFF; border-top: 1px solid rgba(62,107,53,0.18); }
.sw-p44-contact-grid { display: grid; grid-template-columns: 1fr auto; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; max-width: 980px; margin: 0 auto; }
.sw-p44-contact-text .sw-p44-h2 { margin-bottom: 1.2rem; }
.sw-p44-address { font-style: normal; font-size: 0.95rem; line-height: 1.85; color: #6F6A57; margin: 0 0 1.8rem; }
.sw-p44-address strong { color: #2F3622; font-weight: 700; }
.sw-p44-cta { display: inline-flex; align-items: center; gap: 10px; background: #3E6B35; color: #FCFAF6; font-size: 0.92rem; font-weight: 700; padding: 15px 32px; border-radius: 999px; text-decoration: none; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.sw-p44-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -14px rgba(62,107,53,0.6); }
.sw-p44-contact-note { margin: 1.5rem 0 0; font-size: 0.78rem; color: #6F6A57; }
.sw-p44-contact-plate { position: relative; width: 240px; aspect-ratio: 1; border-radius: 50%; background-size: cover; background-position: 32% 55%; box-shadow: 0 0 0 10px #FFFFFF, 0 0 0 11px rgba(62,107,53,0.45), 0 0 0 22px #FCFAF6, 0 34px 60px -24px rgba(47,54,34,0.45); justify-self: center; }
.sw-p44-cloche { width: 38px; height: 25px; flex: none; }
.sw-p44-footer { background: #FCFAF6; border-top: 1px solid rgba(62,107,53,0.25); padding: 4.5rem 0 6.5rem; text-align: center; }
.sw-p44-f-cloche { display: block; margin: 0 auto 1rem; }
.sw-p44-f-brand { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 1.9rem; color: #2F3622; margin: 0 0 0.4rem; }
.sw-p44-f-brand em { font-style: italic; font-weight: 500; color: #3E6B35; }
.sw-p44-f-tagline { display: block; font-size: 0.66rem; letter-spacing: 0.26em; text-transform: uppercase; font-weight: 700; color: #6F6A57; margin-bottom: 2.2rem; }
.sw-p44-f-nav { list-style: none; display: flex; justify-content: center; gap: 1.8rem; margin: 0 0 2.2rem; padding: 0; flex-wrap: wrap; }
.sw-p44-f-nav a { font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; color: #2F3622; text-decoration: none; transition: color 0.2s; }
.sw-p44-f-nav a:hover { color: #C03B2D; }
.sw-p44-f-bottom { font-size: 0.76rem; line-height: 1.9; color: #6F6A57; }
.sw-p44-f-bottom a { color: #2F3622; text-decoration: none; }
.sw-p44-f-bottom a:hover { color: #C03B2D; }
.sw-p44-imgact { position: relative; min-height: 94vh; display: flex; align-items: center; justify-content: center; text-align: center; background: #2F3622; }
.sw-p44-imgact-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; filter: saturate(0.94) contrast(1.05) brightness(0.8); }
.sw-p44-imgact::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(47,54,34,0.82), rgba(47,54,34,0.34) 40%, rgba(47,54,34,0.86)), radial-gradient(900px 520px at 50% 104%, rgba(192,59,45,0.26), transparent 70%); z-index: 1; }
.sw-p44-imgact-inner { position: relative; z-index: 2; width: 100%; padding: 6rem 0; }
.sw-p44-imgact .sw-p44-course i { background: rgba(252,250,246,0.35); }
.sw-p44-imgact .sw-p44-course-label strong { color: #E89B8B; }
.sw-p44-imgact .sw-p44-course-label em { color: #BCD2B0; }
.sw-p44-imgact-title { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-style: italic; font-size: clamp(2.2rem, 5.6vw, 4.4rem); line-height: 1.1; color: #FCFAF6; margin: 0 auto 1.4rem; max-width: 18ch; }
.sw-p44-imgact-title em { font-style: italic; color: #BCD2B0; }
.sw-p44-imgact-sub { max-width: 52ch; margin: 0 auto 2.2rem; font-size: 1rem; line-height: 1.7; color: rgba(252,250,246,0.82); }
.sw-p44-imgact .sw-p44-act-items { margin: 0 auto; }
.sw-p44-imgact .sw-p44-act-item { color: #FCFAF6; }
.sw-p44-imgact .sw-p44-act-item::before { background: #BCD2B0; }
.sw-p44-kueche-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr); gap: clamp(2.2rem, 5vw, 4.4rem); align-items: center; }
.sw-p44-photo-card { position: relative; margin: 0; border: 1px solid rgba(62,107,53,0.32); border-radius: 4px 12px 12px 12px; overflow: hidden; box-shadow: 0 24px 46px -26px rgba(47,54,34,0.5); background: #FFFFFF; }
.sw-p44-photo-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(1.04) contrast(1.04); }
.sw-p44-photo-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(170deg, rgba(62,107,53,0.16), transparent 42%, rgba(47,54,34,0.2)); pointer-events: none; }
.sw-p44-photo-card figcaption { position: absolute; left: 0; bottom: 0; z-index: 2; background: rgba(252,250,246,0.94); color: #2F3622; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 0.82rem; padding: 7px 16px 8px; border-top-right-radius: 10px; border-top: 1px solid rgba(62,107,53,0.3); border-right: 1px solid rgba(62,107,53,0.3); }
.sw-p44-kueche-list { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; gap: 0.8rem; }
.sw-p44-kueche-list li { position: relative; padding-left: 1.7rem; font-size: 0.92rem; line-height: 1.6; color: #6F6A57; }
.sw-p44-kueche-list li::before { content: ""; position: absolute; left: 0; top: 0.42em; width: 8px; height: 8px; border-radius: 50%; background: #3E6B35; }
@keyframes sw-p44-rise { from { opacity: 0; transform: translateY(42px); } to { opacity: 1; transform: translateY(0); } }
@keyframes sw-p44-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: no-preference) {
.sw-p44-orbit { animation: sw-p44-spin 75s linear infinite; }
@supports (animation-timeline: view()) {
.sw-p44-rev { animation: sw-p44-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 42%; }
.sw-p44-rev--2 { animation-range: entry 8% entry 50%; }
.sw-p44-rev--3 { animation-range: entry 16% entry 58%; }
.sw-p44-rev--4 { animation-range: entry 24% entry 66%; }
.sw-p44-ringwrap { animation: sw-p44-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 38%; }
}
}
@media (max-width: 960px) { .sw-p44-kueche-grid { grid-template-columns: 1fr; gap: 2.4rem; } .sw-p44-imgact { min-height: 84vh; } .sw-p44-menu-grid, .sw-p44-steps { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; } .sw-p44-menu-grid { gap: 2rem; } .sw-p44-anlass-grid { grid-template-columns: repeat(2, 1fr); gap: 2.2rem 1.2rem; } .sw-p44-contact-grid { grid-template-columns: 1fr; text-align: center; } .sw-p44-contact-text .sw-p44-eyebrow { justify-content: center; } }
@media (max-width: 720px) { .sw-p44-imgact { min-height: 90svh; } .sw-p44-imgact-inner { padding: 4.6rem 0; } .sw-p44-section { padding: 4.2rem 0; } .sw-p44-anlass-grid { grid-template-columns: 1fr; } .sw-p44-steps { gap: 2rem; } .sw-p44-contact-plate { width: 200px; } .sw-p44-act { min-height: 100svh; padding: 4rem 0; } .sw-p44-ringwrap { --ring: min(88vw, 58vh); } .sw-p44-orb-item { font-size: 0.62rem; padding: 1px 8px; } .sw-p44-orb-item:nth-child(even) { display: none; } .sw-p44-act-center { inset: 10%; } .sw-p44-act-items { gap: 0.7rem 1rem; } }
