
html{
  scroll-behavior:smooth;
}

.hero-textblock{
  text-align:center;
  padding:80px 20px;
  color:#fff1f4;
}

.hero-textblock .topline{
  font-family:'alegreya', serif;
  font-size:13px;
  letter-spacing:6px;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:24px;
  color:#fff1f4;
}

.hero-textblock .title{
  font-family:'alegreya', serif;
  font-size:clamp(70px, 10vw, 120px);
  line-height:0.95;
  font-weight:700;
  margin-bottom:30px;
  color:#fff1f4;
}

.hero-textblock .subtitle-jp{
  font-family:'alegreya', serif;
  font-size:36px;
  font-weight:300;
  letter-spacing:4px;
  margin-top:10px;
  margin-bottom:28px;
  position:relative;
  display:inline-block;
  color:#6f6668;
}

.hero-textblock .subtitle-jp::before,
.hero-textblock .subtitle-jp::after{
  content:"";
  position:absolute;
  top:50%;
  width:120px;
  height:1.2px;
  opacity:0.8;
  background:#6f6668;
}

.hero-textblock .subtitle-jp::before{
  right:100%;
  margin-right:16px;
}

.hero-textblock .subtitle-jp::after{
  left:100%;
  margin-left:16px;
}

.hero-textblock .description{
  font-family:'alegreya', serif;
  max-width:900px;
  margin:0 auto 42px;
  font-size:clamp(20px, 2vw, 26px);
  line-height:1.45;
  color:#fff1f4;
}

.hero-textblock .button-group{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  max-width:900px;
  margin:0 auto;
}

.hero-textblock .hero-btn{
  flex:1 1 200px;
  max-width:220px;
  height:48px;
  
  display:flex;
  align-items:center;
  justify-content:center;
  
  border-radius:999px;
  border:1.5px solid rgba(255,255,255,0.6);
  
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  
  color:#ffffff;
  
  text-decoration:none;
  font-family:'alegreya', serif;
  font-size:15px;
  font-weight:600;
  
  transition:all 0.25s ease;
}

.hero-textblock .hero-btn:hover{
  background:rgba(255,255,255,0.25);
  border-color:rgba(255,255,255,0.9);
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,0.15);
}

@media (max-width:768px){
  .hero-textblock .topline{
    font-size:11px;
    letter-spacing:4px;
  }

  .hero-textblock .subtitle-jp{
    font-size:22px;
  }

  .hero-textblock .subtitle-jp::before,
  .hero-textblock .subtitle-jp::after{
    width:40px;
  }

  .hero-textblock .description{
    font-size:20px;
    margin-bottom:32px;
  }

  .hero-textblock .hero-btn{
    min-width:145px;
    padding:12px 20px;
    font-size:15px;
  }
}

@media (max-width:480px){
  .hero-textblock .button-group{
    gap:12px;
  }

  .hero-textblock .hero-btn{
    width:100%;
    max-width:280px;
  }

  .hero-textblock .subtitle-jp::before,
  .hero-textblock .subtitle-jp::after{
    display:none;
  }
}

/* ===== NAVBAR + DROPDOWN HOTFIX ===== */
.fj-nav{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  z-index:10000 !important;
  background:rgba(255,255,255,0.02) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  transition:background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease !important;
}
.fj-nav::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(20,16,18,0.28), rgba(20,16,18,0.08));
  pointer-events:none;
  opacity:1;
  transition:opacity .35s ease;
}
.fj-nav-inner{
  position:relative !important;
  z-index:2 !important;
  max-width:1440px;
  margin:0 auto;
  padding:18px 20px 18px 10px !important;
  padding-left:16px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:24px !important;
  overflow:visible !important;
}
.fj-menu{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:30px !important;
  flex-wrap:nowrap !important;
  overflow:visible !important;
}
.fj-menu > a,
.nav-link-trigger{
  color:#ffffff !important;
  font-size:17px !important;
  font-weight:600 !important;
  letter-spacing:.2px !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  user-select:none !important;
  transition:color .28s ease !important;
}
.fj-menu > a:hover,
.nav-link-trigger:hover{
  color:#f7dfe6 !important;
}
.fj-nav-right{overflow:visible !important;}
.nav-dropdown{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}
.nav-link{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.dropdown-arrow{
  display:inline-block !important;
  width:7px !important;
  height:7px !important;
  border-right:2px solid currentColor !important;
  border-bottom:2px solid currentColor !important;
  transform:rotate(45deg) !important;
  transition:transform .25s ease !important;
  position:relative !important;
  top:-1px !important;
}
.nav-dropdown:hover .dropdown-arrow{
  transform:rotate(225deg) !important;
}
.dropdown-menu{
  position:absolute !important;
  top:calc(100% + 14px) !important;
  left:0 !important;
  min-width:255px !important;
  background:#ffffff !important;
  border:1px solid #eee3e6 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  box-shadow:0 22px 46px rgba(29,23,25,.14) !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(10px) !important;
  transition:opacity .24s ease, transform .24s ease, visibility .24s ease !important;
  z-index:99999 !important;
  pointer-events:none !important;
}
.nav-dropdown:hover .dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
.dropdown-menu a{
  display:block !important;
  padding:18px 22px !important;
  background:#fff !important;
  color:#1f1a1c !important;
  text-decoration:none !important;
  font-size:18px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  border-bottom:1px solid #f0e6e8 !important;
  white-space:nowrap !important;
  transition:background .2s ease, color .2s ease, padding-left .2s ease !important;
}
.dropdown-menu a:last-child{border-bottom:none !important;}
.dropdown-menu a:hover{
  background:#fbf7f8 !important;
  color:#b83257 !important;
  padding-left:26px !important;
}
.dropdown-all{
  color:#b83257 !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
}
.fj-nav.scrolled{
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 14px 34px rgba(20,14,18,.08) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
.fj-nav.scrolled::before{opacity:0 !important;}
.fj-nav.scrolled .fj-menu > a,
.fj-nav.scrolled .nav-link-trigger,
.fj-nav.scrolled .fj-logo-text,
.fj-nav.scrolled .fj-socials a,
.fj-nav.scrolled .fj-socials a i{
  color:#1f1a1c !important;
}
.fj-nav.scrolled .fj-dots{
  background:#f3e8ea !important;
}
.fj-nav.scrolled .fj-dots span{
  background:#1f1a1c !important;
}
body{
  padding-top:0px !important;
}
@media (max-width:1200px){
  .fj-nav-inner{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:14px !important;
  }
  .fj-menu{
    flex-wrap:wrap !important;
    gap:18px !important;
  }
  body{padding-top:140px !important;}
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    background: #ffffff;
  }

  .banner {
    max-width: 1792px;
    height: 280px;
    margin: 0 auto;
    background: #FFF1F4; /* 🔥 angepasst */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 30px;
    border-radius: 16px; /* optional für weicheren Look */
  }

  .item {
    flex: 1;
    background: #ffffff;
    border-radius: 12px;
    text-align: center;
    padding: 28px 20px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }

  .item:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  }

  .icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    background: #FFF1F4;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease;
  }

  .icon svg {
    width: 26px;
    height: 26px;
    stroke: #E53935;
    stroke-width: 1.8;
    fill: none;
    transition: transform 0.25s ease, stroke 0.25s ease;
  }

  .item:hover .icon {
    transform: scale(1.05);
  }

  .item:hover .icon svg {
    transform: scale(1.1);
    stroke: #D32F2F;
  }

  .title {
    font-size: 15px;
    font-weight: 600;
    color: #222;
    margin-bottom: 5px;
  }

  .desc {
    font-size: 13px;
    color: #777;
    line-height: 1.4;
  }

  @media (max-width: 768px) {
    .banner {
      flex-direction: column;
      height: auto;
      padding: 20px;
    }

    .item {
      width: 100%;
    }
  }

:root{
      --bg:#f3e8ea;
      --card:#ffffff;
      --text:#1f1a1c;
      --muted:#6f6668;
      --accent:#b83257;
      --accent-strong:#ef5548;
      --line:#e7d6d9;
      --shadow:0 2px 6px rgba(36, 20, 24, .04), 0 10px 24px rgba(36, 20, 24, .06);
      --shadow-hover:0 8px 22px rgba(36, 20, 24, .10);
      --radius:18px;
    }

    *{
      box-sizing:border-box;
      margin:0;
      padding:0;
    }

    html, body{
      height:100%;
      overflow-x:hidden;
    }

    body{
      font-family:"Source Sans 3", sans-serif;
      background:var(--bg);
      color:var(--text);
    }

    img{
      display:block;
      max-width:100%;
    }

    .page{
      min-height:100vh;
    }

    .hero{
      text-align:center;
      padding:70px 20px 50px;
    }

    .hero-inner{
      max-width:720px;
      margin:0 auto;
    }

    .hero-sub{
      display:block;
      font-family:"Alegreya", serif;
      font-size:20px;
      font-weight:700;
      color:#b83257 !important;
      margin-bottom:10px;
    }

    .hero-title{
      font-family:"Alegreya", serif;
      font-size:56px;
      line-height:1.08;
      font-weight:800;
      letter-spacing:-0.5px;
      color:#b83257 !important;
      margin-bottom:18px;
    }

    .hero-line{
      width:315px;
      max-width:7cm;
      height:2px;
      background:var(--line);
      margin:0 auto 22px;
      border-radius:999px;
    }

    .hero-text{
      max-width:760px;
      margin:0 auto 16px;
      font-size:18px;
      line-height:1.55;
      color:var(--muted);
    }

    .container{
      max-width:1400px;
      margin:0 auto;
      padding:14px 22px 24px;
    }

    .grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:22px;
    }

    .card{
      background:var(--card);
      border:1px solid #e8dfe1;
      border-radius:var(--radius);
      overflow:hidden;
      cursor:pointer;
      box-shadow:var(--shadow);
      transition:transform .22s ease, box-shadow .22s ease;
      transform-origin:center center;
      will-change:transform, box-shadow;
    }

    .card:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow-hover);
    }

    .card-media{
      position:relative;
      height:220px;
      overflow:hidden;
    }

    .card-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:var(--card-focus, center center);
      transition:transform .35s ease;
    }

    .card:hover .card-media img{
      transform:scale(1.03);
    }

    .card-media::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:46%;
      background:linear-gradient(to top, rgba(0,0,0,.48), rgba(0,0,0,0));
      pointer-events:none;
    }

    .card-badge{
      position:absolute;
      top:10px;
      left:12px;
      z-index:2;
      display:inline-flex;
      align-items:center;
      gap:4px;
      min-height:24px;
      padding:4px 10px;
      border-radius:999px;
      background:rgba(255,244,244,.94);
      color:var(--accent-strong);
      font-size:11px;
      font-weight:700;
      line-height:1;
      box-shadow:0 1px 2px rgba(0,0,0,.04);
    }

    .card-location{
      position:absolute;
      left:14px;
      bottom:12px;
      z-index:2;
      display:flex;
      align-items:center;
      gap:6px;
      color:#fff;
      font-size:13px;
      font-weight:600;
      text-shadow:0 1px 2px rgba(0,0,0,.25);
    }

    .card-location svg{
      width:13px;
      height:13px;
      flex:none;
    }

    .card-content{
      padding:15px 18px 18px;
    }

    .card-topline{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:8px;
    }

    .card-title{
      font-family:"Alegreya", serif;
      font-size:20px;
      line-height:1.18;
      font-weight:700;
      color:#1d1719;
    }

    .card-arrow{
      flex:none;
      color:var(--accent-strong);
      margin-top:2px;
      display:flex;
      align-items:center;
      justify-content:center;
    }

    .card-arrow svg{
      width:16px;
      height:16px;
      stroke:currentColor;
      stroke-width:2.2;
      fill:none;
    }

    .card-desc{
      color:var(--muted);
      font-size:14px;
      line-height:1.5;
      display:-webkit-box;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:2;
      overflow:hidden;
      min-height:42px;
    }

    .modal{
      position:fixed !important;
      inset:0 !important;
      background:rgba(31, 18, 21, .46);
      backdrop-filter:blur(8px);
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      padding:180px 16px 24px !important; /* oben Platz für IONOS-Header */
      overflow:auto !important;
      z-index:2147483647 !important;
      opacity:0;
      visibility:hidden;
      transition:opacity .25s ease, visibility .25s ease;
    }

    .modal.active{
      opacity:1;
      visibility:visible;
    }

    .modal-box{
      width:100%;
      max-width:720px;
      max-height:calc(100vh - 170px);
      overflow-y:auto;
      background:#fff;
      border-radius:24px;
      box-shadow:0 18px 60px rgba(18, 10, 12, .28);
      position:relative;
      margin:auto;
      transform-origin:center center;
      will-change:transform, opacity;
    }

    .close{
      position:absolute;
      top:14px;
      right:14px;
      width:40px;
      height:40px;
      border:none;
      border-radius:50%;
      background:rgba(255,255,255,.94);
      color:#2b2325;
      font-size:24px;
      line-height:1;
      cursor:pointer;
      z-index:5;
      box-shadow:0 4px 12px rgba(0,0,0,.10);
    }

    .modal-hero{
      position:relative;
    }

    .modal-hero img{
      width:100%;
      height:450px;
      object-fit:cover;
      object-position:var(--modal-focus, center top);
    }

    .modal-overlay{
      position:absolute;
      inset:0;
      background:linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.08));
      pointer-events:none;
    }

    .modal-badge{
      position:absolute;
      top:16px;
      left:16px;
      z-index:2;
      display:inline-flex;
      align-items:center;
      gap:4px;
      padding:6px 11px;
      border-radius:999px;
      background:rgba(255,244,244,.94);
      color:var(--accent-strong);
      font-size:12px;
      font-weight:700;
    }

    .modal-headline{
      position:absolute;
      left:18px;
      right:18px;
      bottom:18px;
      z-index:2;
      color:#fff;
    }

    .modal-headline h2{
      font-family:"Alegreya", serif;
      font-size:22px;
      line-height:1.14;
      margin-bottom:6px;
      color:var(--accent);
    }

    .modal-location{
      display:flex;
      align-items:center;
      gap:6px;
      font-size:14px;
      font-weight:600;
      opacity:.98;
    }

    .modal-location svg{
      width:14px;
      height:14px;
      flex:none;
    }

    .modal-body{
      padding:18px 18px 20px;
    }

    .modal-text{
      color:#666062;
      font-size:15px;
      line-height:1.6;
      margin-bottom:18px;
    }

    .info-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      margin-bottom:16px;
    }

    .info-card{
      background:#f7f3f3;
      border-radius:12px;
      padding:14px;
    }

    .info-card.info-wide{
      grid-column:1 / -1;
    }

    .info-title{
      font-size:13px;
      font-weight:700;
      color:#322a2c;
      margin-bottom:6px;
    }

    .info-value{
      font-size:13px;
      line-height:1.45;
      color:#6f696b;
    }

    .section-title{
      font-family:"Alegreya", serif;
      font-size:18px;
      font-weight:700;
      color:var(--accent);
      margin:8px 0 12px;
    }

    .highlights{
      list-style:none;
      margin-bottom:18px;
    }

    .highlights li{
      position:relative;
      padding-left:18px;
      color:#666062;
      font-size:14px;
      line-height:1.5;
      margin-bottom:10px;
    }

    .highlights li::before{
      content:"›";
      position:absolute;
      left:0;
      top:0;
      color:var(--accent-strong);
      font-weight:700;
    }

    .tip-box{
      border:1px solid #f0c8c3;
      background:#fff8f7;
      border-radius:14px;
      padding:14px;
    }

    .tip-title{
      color:var(--accent-strong);
      font-size:13px;
      font-weight:700;
      margin-bottom:8px;
    }

    .tip-text{
      color:#7a6f72;
      font-size:13px;
      line-height:1.55;
    }

    @media (max-width:980px){
      .grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }

      .hero-title{
        font-size:48px;
      }
    }

    @media (max-width:640px){
      .hero{
        padding:52px 18px 34px;
      }

      .hero-sub{
        font-size:20px;
      }

      .hero-title{
        font-size:38px;
      }

      .hero-line{
        width:180px;
        margin-bottom:20px;
      }

      .hero-text{
        font-size:16px;
        line-height:1.5;
      }

      .container{
        padding:10px 16px 20px;
      }

      .grid{
        grid-template-columns:1fr;
        gap:18px;
      }

      .card-media{
        height:190px;
      }

      .modal-hero img{
        height:240px;
      }

      .modal-headline h2{
        font-size:20px;
      }

      .info-grid{
        grid-template-columns:1fr;
      }

      .info-card.info-wide{
        grid-column:auto;
      }
    }

.fj-food-scope,
    .fj-food-scope *,
    .fj-food-scope *::before,
    .fj-food-scope *::after{
      box-sizing:border-box;
    }

    .fj-food-scope{
      display:block;
      width:100%;
      background:transparent;
      isolation:isolate;
    }

    .fj-food-scope img{
      display:block;
      max-width:100%;
      border:0;
    }

    .fj-food-scope button{
      font:inherit;
    }

    .fj-food-scope .fj-food-section{
      background:#f5eeef;
      padding:72px 24px 50px;
      position:relative;
      z-index:1;
    }

    .fj-food-scope .fj-food-wrap{
      max-width:1220px;
      margin:0 auto;
    }

    .fj-food-scope .fj-food-intro{
      text-align:center;
      max-width:860px;
      margin:0 auto 42px;
    }

    .fj-food-scope .fj-food-eyebrow{
      display:block;
      font-family:"Source Sans 3", sans-serif;
      font-size:13px;
      font-weight:700;
      letter-spacing:.28em;
      color:#e24242;
      margin:0 0 10px;
      text-transform:uppercase;
    }

    .fj-food-scope .fj-food-title{
      margin:0 0 14px;
      font-family:"Alegreya", serif;
      font-size:56px;
      line-height:1.05;
      font-weight:800;
      letter-spacing:-0.5px;
      color:#111322;
    }

    .fj-food-scope .fj-food-line{
      width:250px;
      height:2px;
      background:#e7d6d9;
      margin:0 auto 20px;
      border-radius:999px;
    }

    .fj-food-scope .fj-food-text{
      margin:0 auto;
      max-width:760px;
      font-family:"Source Sans 3", sans-serif;
      font-size:18px;
      line-height:1.55;
      color:#6f6668;
    }

    .fj-food-scope .fj-food-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:20px;
    }

    .fj-food-scope .fj-food-card{
      display:grid;
      grid-template-columns:132px 1fr;
      background:#fcfbfb;
      border:1px solid #e7dddf;
      border-radius:18px;
      overflow:hidden;
      box-shadow:0 2px 10px rgba(36,20,24,.04);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .fj-food-scope .fj-food-card:hover{
      transform:translateY(-3px);
      box-shadow:0 10px 24px rgba(36,20,24,.07);
      border-color:#dfcfd3;
    }

    .fj-food-scope .fj-food-image{
      height:100%;
      min-height:130px;
      background:#ddd;
    }

    .fj-food-scope .fj-food-image img{
      width:100%;
      height:100%;
      object-fit:cover;
    }

    .fj-food-scope .fj-food-content{
      display:flex;
      flex-direction:column;
      min-width:0;
    }

    .fj-food-scope .fj-food-head{
      appearance:none;
      -webkit-appearance:none;
      border:none;
      outline:none;
      background:transparent;
      padding:16px 18px 14px;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      text-align:left;
      cursor:pointer;
      width:100%;
      color:inherit;
    }

    .fj-food-scope .fj-food-title-wrap{
      min-width:0;
    }

    .fj-food-scope .fj-food-title-wrap h3{
      margin:0 0 8px;
      font-family:"Alegreya", serif;
      font-size:20px;
      line-height:1.2;
      font-weight:700;
      color:#111322;
    }

    .fj-food-scope .fj-food-title-wrap h3 span{
      font-family:"Source Sans 3", sans-serif;
      font-size:15px;
      font-weight:500;
      color:#ee8c93;
      margin-left:4px;
    }

    .fj-food-scope .fj-food-title-wrap p{
      margin:0;
      font-family:"Source Sans 3", sans-serif;
      font-size:15px;
      line-height:1.55;
      color:#72696b;
    }

    .fj-food-scope .fj-food-arrow{
      flex:none;
      display:flex;
      align-items:center;
      justify-content:center;
      width:28px;
      height:28px;
      margin-top:2px;
      border-radius:50%;
      color:#7c7376;
      font-size:18px;
      line-height:1;
      transition:transform .22s ease, color .22s ease, background .22s ease;
    }

    .fj-food-scope .fj-food-head:hover .fj-food-arrow{
      color:#c33a5a;
      background:#f8eef1;
    }

    .fj-food-scope .fj-food-card.fj-active .fj-food-arrow{
      transform:rotate(180deg);
      color:#c33a5a;
      background:#f8eef1;
    }

    .fj-food-scope .fj-food-panel{
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .28s ease;
    }

    .fj-food-scope .fj-food-card.fj-active .fj-food-panel{
      grid-template-rows:1fr;
    }

    .fj-food-scope .fj-food-panel-inner{
      overflow:hidden;
      padding:0 18px 18px;
    }

    .fj-food-scope .fj-food-info{
      border-top:1px solid #eee4e6;
      padding-top:12px;
      margin-top:2px;
    }

    .fj-food-scope .fj-food-info + .fj-food-info{
      margin-top:12px;
    }

    .fj-food-scope .fj-food-info strong{
      display:block;
      margin:0 0 6px;
      font-family:"Source Sans 3", sans-serif;
      font-size:14px;
      font-weight:700;
      color:#c33a5a;
    }

    .fj-food-scope .fj-food-info p{
      margin:0;
      font-family:"Source Sans 3", sans-serif;
      font-size:14px;
      line-height:1.55;
      color:#6b6366;
    }

    @media (max-width:1000px){
      .fj-food-scope .fj-food-title{
        font-size:48px;
      }

      .fj-food-scope .fj-food-grid{
        grid-template-columns:1fr;
      }
    }

    @media (max-width:700px){
      .fj-food-scope .fj-food-section{
        padding:56px 16px 36px;
      }

      .fj-food-scope .fj-food-title{
        font-size:38px;
      }

      .fj-food-scope .fj-food-text{
        font-size:16px;
      }

      .fj-food-scope .fj-food-card{
        grid-template-columns:1fr;
      }

      .fj-food-scope .fj-food-image{
        min-height:210px;
      }

      .fj-food-scope .fj-food-head{
        padding:16px 16px 12px;
      }

      .fj-food-scope .fj-food-panel-inner{
        padding:0 16px 16px;
      }

      .fj-food-scope .fj-food-title-wrap h3{
        font-size:22px;
      }
    }

:root{
      --bg:#f5ebec;
      --card:#ffffff;
      --text:#1f1a1c;
      --muted:#6f6668;
      --accent:#b83257;
      --border:#efcfd4;
      --line:#d9a8b1;
      --badge:#e44042;
    }

    *{
      margin:0;
      padding:0;
      box-sizing:border-box;
    }

    html, body{
      margin:0;
      padding:0;
      background:var(--bg);
    }

    body{
      font-family:"Source Sans 3", sans-serif;
      background:#fff1f4 !important;
      background:var(--bg);
    }

    img{
      display:block;
      width:100%;
      max-width:100%;
    }

    .sakura-section{
      background:#fff1f4 !important;
      padding:0 24px 64px;
    }

    .sakura-wrap{
      background:#fff1f4 !important;
      max-width:1280px;
      margin:0 auto;
    }

    .sakura-hero{
      max-width:980px;
      margin:0 auto;
      text-align:center;
      background:#fff1f4 !important;
    }

    .sakura-sub{
      display:block;
      font-family:"Alegreya", serif;
      font-size:20px;
      font-weight:700;
      color:#b83257 !important;
      margin-bottom:10px;
    }

    .sakura-title{
      font-family:"Alegreya", serif;
      font-size:56px;
      line-height:1.08;
      font-weight:800;
      letter-spacing:-0.5px;
      color:#b83257 !important;
      margin-bottom:18px;
    }

    .sakura-line{
      width:315px;
      max-width:7cm;
      height:2px;
      background:var(--line);
      margin:0 auto 22px;
      border-radius:999px;
    }

    .sakura-text{
      max-width:760px;
      margin:0 auto 16px;
      font-size:18px;
      line-height:1.55;
      color:var(--muted);
    }

    .sakura-filters{
      display:flex;
      justify-content:center;
      align-items:center;
      flex-wrap:wrap;
      gap:6px;
    }

    .sakura-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 18px;
      border:1px solid var(--border);
      border-radius:999px;
      background:#fff8f8;
      color:#8e6e74;
      font-size:14px;
      line-height:1;
      white-space:nowrap;
    }
    
    .pill-icon{
      width:14px;
      height:14px;
      flex:none;
      stroke:#b83257;
      stroke-width:2;
      fill:none;
    }

    .sakura-pill::before{
        
    }  
      
    .sakura-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:22px;
      margin-top:2cm;
      align-items:start;
    }

    .sakura-card{
      display:flex;
      flex-direction:column;
      background:var(--card);
      border:1px solid var(--border);
      border-radius:18px;
      overflow:hidden;
      transition:transform .28s ease, box-shadow .28s ease;
      box-shadow:0 2px 10px rgba(36,20,24,.05);
    }

    .sakura-card:hover{
      transform:translateY(-6px);
      box-shadow:
        0 10px 22px rgba(36,20,24,.10),
        0 24px 48px rgba(36,20,24,.10);
    }

    .sakura-image{
      position:relative;
      height:220px;
      overflow:hidden;
      background:#ddd;
    }

    .sakura-image img{
      height:100%;
      object-fit:cover;
      transition:transform .35s ease;
    }

    .sakura-card:hover .sakura-image img{
      transform:scale(1.04);
    }

    .sakura-badge{
      position:absolute;
      top:12px;
      left:12px;
      display:inline-block;
      width:auto;
      max-width:max-content;
      white-space:nowrap;
      padding:6px 12px;
      border-radius:999px;
      background:var(--badge);
      color:#fff;
      font-size:11px;
      font-weight:700;
      line-height:1;
      box-shadow:0 2px 6px rgba(0,0,0,.08);
    }

    .sakura-content{
      padding:16px 16px 18px;
      background:#fff;
    }

    .sakura-card-title{
      font-family:"Alegreya", serif;
      font-size:36px;
      line-height:1.05;
      font-weight:700;
      color:#151228;
      margin-bottom:6px;
    }

    .sakura-meta{
      display:flex;
      align-items:center;
      gap:8px;
      font-size:16px;
      color:var(--accent);
      margin-bottom:10px;
    }
    
    .meta-icon{
     width:14px;
     height:14px;
     flex:none;
     stroke:var(--accent);
     stroke-width:2;
     fill:none;
    }

    .sakura-desc{
      font-size:16px;
      line-height:1.55;
      color:var(--muted);
    }

    .sakura-tip{
      max-width:700px;
      margin:32px auto 0;
      padding:20px 24px;
      text-align:center;
      background:#ffffff;
      border:1px solid var(--border);
      border-radius:12px;
    }

    .sakura-tip-title{
      font-family:"Alegreya", serif;
      font-size:24px;
      font-weight:700;
      color:#151228;
      margin-bottom:8px;
    }

    .sakura-tip-text{
      font-size:16px;
      line-height:1.6;
      color:var(--muted);
    }

    @media (max-width:1100px){
      .sakura-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }

      .sakura-title{
        font-size:68px;
      }
    }

    @media (max-width:700px){
      .sakura-section{
        padding:0 16px 40px;
      }

      .sakura-grid{
        grid-template-columns:1fr;
        gap:18px;
        margin-top:1.2cm;
      }

      .sakura-title{
        font-size:46px;
      }

      .sakura-text{
        font-size:16px;
      }
      
      .arrow{
       display:flex;
       align-items:center;
       justify-content:center;
       
       color:#b83257 !important;
       
       font-size:20px;
       font-weight:700;
       
       line-height:1;
       
       margin:0 6px;
      }
    }

.japan-tipps-section{
    background:#fff1f4;
    padding:60px 40px;
    position:relative;
    z-index:1;
  }

  .japan-tipps-section *{
    box-sizing:border-box;
  }

  .japan-tipps-container{
    max-width:1200px;
    margin:0 auto;
    font-family:"Source Sans 3", sans-serif;
    color:#fff1f4;
  }

  .japan-tipps-intro{
    text-align:center;
    margin-bottom:60px;
  }

  .japan-tipps-eyebrow{
    display:block;
    font-family:"alegreya", serif;
    color:#b83257;
    font-size:20px;
    font-weight:700;
    margin-bottom:10px;
  }

  .japan-tipps-intro h1{
    font-family:"alegreya", serif;
    font-size:62px !important;
    line-height:1.08;
    letter-spacing:-0.5px;
    font-weight:800;
    color:#b83257 !important;
    margin:0 0 18px;
  }

  .japan-tipps-divider{
    width:250px;
    height:2px;
    background:#dca7b5;
    margin:20px auto;
  }

  .japan-tipps-intro p{
    margin:0 auto;
    max-width:850px;
    color:#6e6870;
    font-size:18px;
    line-height:1.5;
  }

  .japan-tipps-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:24px;
    align-items:stretch;
  }

  .japan-tipps-card{
    appearance:none;
    border:1px solid #e9e1e4;
    background:#faf7f8;
    border-radius:18px;
    padding:22px;
    min-height:240px;
    width:100%;
    text-align:left;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    transition:
      transform .25s ease,
      box-shadow .25s ease,
      border-color .25s ease,
      background .25s ease;
  }

  .japan-tipps-card:hover{
    border-color:#ecc4cf;
    box-shadow:0 10px 22px rgba(196,55,92,0.15);
    transform:translateY(-4px);
  }

  .japan-tipps-card:focus-visible{
    outline:none;
    border-color:#d95b79;
    box-shadow:0 0 0 3px rgba(217,91,121,0.18);
  }

  .japan-tipps-icon-box{
    width:46px;
    height:46px;
    border-radius:14px;
    background:#f4dfe5;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    color:#ea2f2f;
    flex:0 0 auto;
    transition:background .25s ease, color .25s ease, transform .25s ease;
  }

  .japan-tipps-card:hover .japan-tipps-icon-box{
    background:#ea2f2f;
    color:#ffffff;
    transform:translateY(-1px);
  }

  .japan-tipps-card h3{
    margin:0 0 10px;
    font-family:"Cormorant Garamond", serif;
    font-size:20px;
    line-height:1.15;
    font-weight:700;
    color:#c4375c;
  }

  .japan-tipps-card p{
    margin:0;
    color:#6a6468;
    font-size:15px;
    line-height:1.45;
  }

  .japan-tipps-icon{
    width:20px;
    height:20px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  /* Modal */
  .japan-tipps-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease, visibility .2s ease;
    z-index:99999;
    padding-top:250px;
  }

  .japan-tipps-modal.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .japan-tipps-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(20, 14, 18, 0.48);
    backdrop-filter:blur(4px);
  }

  .japan-tipps-modal-dialog{
    position:relative;
    z-index:2;
    width:min(680px, 100%);
    max-height:min(88vh, 900px);
    overflow:auto;
    background:#fffafb;
    border:1px solid #eed7dd;
    border-radius:24px;
    box-shadow:0 30px 80px rgba(70, 25, 37, 0.22);
    transform:translateY(14px) scale(.98);
    transition:transform .22s ease;
  }

  .japan-tipps-modal.active .japan-tipps-modal-dialog{
    transform:translateY(0) scale(1);
  }

  .japan-tipps-modal-content{
    padding:34px 30px 28px;
  }

  .japan-tipps-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:#f6e7eb;
    color:#c4375c;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
  }

  .japan-tipps-modal-close:hover{
    background:#eed7dd;
    transform:scale(1.04);
  }

  .japan-tipps-modal-icon-wrap{
    margin-bottom:14px;
  }

  .japan-tipps-modal-icon-box{
    width:58px;
    height:58px;
    border-radius:16px;
    background:#ea2f2f;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .japan-tipps-modal-icon-box svg{
    width:24px;
    height:24px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .japan-tipps-modal-kicker{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#d25b76;
    font-weight:600;
  }

  .japan-tipps-modal-content h3{
    margin:0 0 14px;
    font-family:"Cormorant Garamond", serif;
    font-size:42px;
    line-height:1.05;
    color:#c4375c;
    font-weight:600;
  }

  .japan-tipps-modal-text{
    margin:0 0 20px;
    font-size:18px;
    line-height:1.6;
    color:#5f5960;
  }

  .japan-tipps-modal-extra-box{
    background:#fff1f4;
    border:1px solid #eddce2;
    border-radius:18px;
    padding:18px 18px 16px;
  }

  .japan-tipps-modal-extra-box h4{
    margin:0 0 8px;
    font-family:"Cormorant Garamond", serif;
    font-size:24px;
    color:#c4375c;
    font-weight:700;
  }

  .japan-tipps-modal-extra-box p{
    margin:0;
    font-size:16px;
    line-height:1.6;
    color:#675f66;
  }

  @media (max-width:1000px){
    .japan-tipps-grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .japan-tipps-intro h2{
      font-size:52px;
    }
  }

  @media (max-width:700px){
    .japan-tipps-section{
      padding:44px 18px;
    }

    .japan-tipps-intro{
      margin-bottom:40px;
    }

    .japan-tipps-eyebrow{
      font-size:20px;
    }

    .japan-tipps-intro h2{
      font-size:42px;
    }

    .japan-tipps-divider{
      width:180px;
    }

    .japan-tipps-intro p{
      font-size:16px;
    }

    .japan-tipps-grid{
      grid-template-columns:1fr;
    }

    .japan-tipps-modal-content{
      padding:28px 20px 22px;
    }

    .japan-tipps-modal-content h3{
      font-size:34px;
    }

    .japan-tipps-modal-text{
      font-size:17px;
    }
  }

:root{
  --fj-bg:#f5ebee;
  --fj-card:#ffffff;
  --fj-text:#1f1a1c;
  --fj-muted:#6f6668;
  --fj-accent:#b83257;
  --fj-accent-strong:#ef5548;
  --fj-line:#e7d6d9;
}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--fj-bg) !important;
  color:var(--fj-text);
  font-family:"Source Sans 3", Arial, sans-serif;
  overflow-x:hidden;
}
section{margin:0;}
.fj-hero-stage{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#111;
}
.fj-hero-bg{
  position:absolute; inset:0;
  background-image:url("https://images.unsplash.com/photo-1522383225653-ed111181a951?auto=format&fit=crop&w=1800&q=80");
  background-size:cover;
  background-position:center center;
  transform:scale(1.03);
}
.fj-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(10,10,10,.55), rgba(10,10,10,.30) 32%, rgba(10,10,10,.42));
  backdrop-filter:blur(2px);
}
.fj-hero-inner{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:120px 20px 70px;
}
.fj-nav{
  position:absolute;
  top:0; left:0; width:100%;
  z-index:5;
  padding:0;
}
.fj-nav-inner{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:16px 30px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:24px !important;
  overflow:visible !important;
  transition:all .35s ease;
}
.fj-nav.scrolled .fj-nav-inner{
  padding:8px 24px !important;
}
.fj-logo{
  justify-self:start !important;
  margin-left:0 !important;
}
.fj-logo img{
  width:150px !important; 
  height:auto !important;
  object-fit:contain;
  border-radius:10px;
}
.fj-logo span{
  font-family:"Alegreya", serif;
  font-size:24px;
  font-weight:700;
  color:#fff;
  letter-spacing:.01em;
}
.fj-menu{
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
  justify-content:center;
}
.fj-menu a{
  text-decoration:none;
  color:rgba(255,255,255,.92);
  font-size:15px;
  font-weight:700;
  transition:.2s ease;
}
.fj-menu a:hover{color:#fff; opacity:.85}
.fj-dropdown{position:relative;}
.fj-dots{
  border:none;
  background:rgba(255,255,255,.14);
  color:#fff;
  width:48px; height:48px;
  border-radius:999px;
  font-size:20px;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.fj-dropdown-content{
  position:absolute;
  right:0;
  top:58px;
  min-width:180px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  padding:8px;
  display:none;
}
.fj-dropdown.open .fj-dropdown-content{display:block;}
.fj-dropdown-content a{
  display:block;
  padding:12px 14px;
  text-decoration:none;
  color:#2c2527;
  border-radius:10px;
  font-weight:600;
}
.fj-dropdown-content a:hover{background:#f7eff1;}
.hero-textblock{
  max-width:960px;
  margin:0 auto;
  text-align:center;
  padding:0 20px !important;
}
.hero-textblock .topline{
  font-family:"Source Sans 3", sans-serif !important;
  font-size:14px !important;
  letter-spacing:.32em !important;
  color:rgba(255,255,255,.88) !important;
  margin-bottom:18px !important;
}
.hero-textblock .title{
  font-family:"Alegreya", serif !important;
  font-size:clamp(76px,10vw,128px) !important;
  color:#fff !important;
  margin-bottom:12px !important;
}
.hero-textblock .subtitle-jp{
  font-family:"Alegreya", serif !important;
  font-size:34px !important;
  color:rgba(255,255,255,.88) !important;
  margin:0 0 28px !important;
}
.hero-textblock .subtitle-jp::before,
.hero-textblock .subtitle-jp::after{background:rgba(255,255,255,.55) !important;}
.hero-textblock .description{
  font-family:"Source Sans 3", sans-serif !important;
  max-width:780px !important;
  font-size:clamp(20px,2.2vw,30px) !important;
  line-height:1.45 !important;
  color:#fff !important;
  margin:0 auto 32px !important;
}
.hero-textblock .button-group{
  gap:12px !important;
  justify-content:center !important;
}
.hero-textblock .hero-btn{
  max-width:none !important;
  flex:0 1 auto !important;
  min-width:150px;
  padding:0 18px;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.38) !important;
  color:#fff !important;
}
.hero-textblock .hero-btn:hover{
  background:#fff !important;
  color:var(--fj-accent) !important;
  border-color:#fff !important;
}
.fj-section-head,
.hero-inner,
.fj-food-intro,
.sakura-hero,
.japan-tipps-intro{
  text-align:center;
}
.hero-sub,
.fj-food-eyebrow,
.sakura-sub,
.japan-tipps-eyebrow,
.fj-section-kicker{
  display:block !important;
  font-family:"Alegreya", serif !important;
  font-size:20px !important;
  font-weight:700 !important;
  color:var(--fj-accent) !important;
  margin-bottom:10px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.hero-title,
.fj-food-title,
.sakura-title,
.japan-tipps-intro h2,
.fj-section-title{
  font-family:"Alegreya", serif !important;
  font-size:56px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-0.5px !important;
  color:var(--fj-accent) !important;
  margin:0 0 18px !important;
}
.fj-section-title--special{color:#111322 !important;}
.hero-line,
.fj-food-line,
.sakura-line,
.japan-tipps-divider,
.fj-section-line{
  width:315px !important;
  max-width:7cm !important;
  height:2px !important;
  background:var(--fj-line) !important;
  margin:0 auto 22px !important;
  border-radius:999px !important;
}
.hero-text,
.fj-food-text,
.sakura-text,
.japan-tipps-intro p,
.fj-section-desc{
  max-width:760px !important;
  margin:0 auto 16px !important;
  font-family:"Source Sans 3", sans-serif !important;
  font-size:18px !important;
  line-height:1.55 !important;
  color:var(--fj-muted) !important;
}
#sehenswuerdigkeiten .page{
  min-height:auto !important;
}
#sehenswuerdigkeiten .hero{
  padding:52px 20px 34px !important;
}
#sehenswuerdigkeiten .container{
  padding-bottom:10px !important;
}
.banner{
  height:auto !important;
  padding:36px 24px !important;
  border-radius:0 !important;
  background:transparent !important;
  max-width:1280px !important;
}
.item{
  border:1px solid #eadfe2 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.04) !important;
}
.fj-food-section{
  padding-top:54px !important;
  padding-bottom:30px !important;
}
.sakura-section{
  padding-top:28px !important;
  padding-bottom:46px !important;
}
.sakura-grid{margin-top:38px !important;}
.japan-tipps-section{
  padding-top:48px !important;
  padding-bottom:70px !important;
}
.fj-why-japan{
  background:#f5f1f2;
  padding:72px 24px 56px;
}
.fj-why-wrap{max-width:1250px;margin:0 auto;}
.fj-why-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:52px;
  align-items:center;
}
.fj-why-image-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(25,15,18,.10);
}
.fj-why-image-card img{
  display:block; width:100%; height:100%; min-height:420px; object-fit:cover;
}
.fj-why-badge{
  position:absolute;
  right:-16px; bottom:-18px;
  width:86px; height:102px; border-radius:16px;
  background:linear-gradient(180deg,#ef3a32 0%, #de2727 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:#fff; box-shadow:0 14px 28px rgba(202,42,42,.28);
}
.fj-why-badge-kanji{
  font-family:"Alegreya", serif; font-size:38px; line-height:1; font-weight:700; margin-bottom:6px;
}
.fj-why-badge-text{font-family:"Source Sans 3", sans-serif; font-size:14px; font-weight:700; line-height:1;}
.fj-why-content h3{
  margin:0 0 20px;
  font-family:"Alegreya", serif;
  font-size:46px;
  line-height:1.12;
  font-weight:700;
  color:#111322;
}
.fj-why-content p{
  margin:0 0 20px;
  font-family:"Source Sans 3", sans-serif;
  font-size:18px;
  line-height:1.7;
  color:#6f6668;
}
.fj-why-content p:last-child{margin-bottom:0;}
.fj-why-content em{font-style:italic;}
@media (max-width:1180px){
  .fj-nav-inner{gap:14px}
  .fj-menu{gap:18px}
  .fj-menu a{font-size:14px}
}
@media (max-width:980px){
  .fj-nav{
    padding:16px 18px;
  }
  .fj-nav-inner{
    flex-wrap:wrap;
    justify-content:center;
  }
  .fj-logo{width:100%; justify-content:center;}
  .fj-menu{gap:14px}
  .fj-why-grid{grid-template-columns:1fr; gap:28px;}
  .fj-why-image-card img{min-height:340px;}
  .hero-title,.fj-food-title,.sakura-title,.japan-tipps-intro h2,.fj-section-title{
    font-size:48px !important;
  }
}
@media (max-width:700px){
  .fj-hero-inner{padding-top:150px; padding-bottom:50px;}
  .fj-logo span{font-size:20px}
  .fj-menu{
    width:100%;
    justify-content:center;
    gap:10px 12px;
  }
  .fj-menu a{font-size:13px}
  .hero-title,.fj-food-title,.sakura-title,.japan-tipps-intro h2,.fj-section-title{
    font-size:38px !important;
  }
  .hero-sub,.fj-food-eyebrow,.sakura-sub,.japan-tipps-eyebrow,.fj-section-kicker{
    font-size:18px !important;
  }
  .hero-text,.fj-food-text,.sakura-text,.japan-tipps-intro p,.fj-section-desc,
  .fj-why-content p{font-size:16px !important;}
  .hero-line,.fj-food-line,.sakura-line,.japan-tipps-divider,.fj-section-line{
    width:180px !important;
  }
  .fj-why-japan{padding:54px 16px 42px}
  .fj-why-content h3{font-size:34px}
  .fj-why-badge{width:74px;height:90px;right:12px;bottom:12px;}
  .fj-why-badge-kanji{font-size:30px}
}

:root{
  --fj-nav-height: 96px;
  --fj-section-space: 113px;
}
html{scroll-padding-top:var(--fj-nav-height);}
body{overflow-x:hidden;background:#fff1f4;}
section, .page, .banner{
  scroll-margin-top:var(--fj-nav-height);
}
.fj-hero-stage{
  min-height:100vh;
  position:relative;
}
.fj-nav{
  position:fixed !important;
  top:0;left:0;right:0;
  width:100%;
  z-index:10000;
  padding:18px 26px;
  transition:background .28s ease, box-shadow .28s ease, padding .28s ease, backdrop-filter .28s ease;
  background:transparent;
}
.fj-nav::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,0));
  pointer-events:none;
  opacity:1;
  transition:opacity .25s ease;
}
.fj-nav-inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  position:relative;
  z-index:1;
}

.fj-logo{
  display:flex;
  align-items:center;
  gap:2px;
  min-width:0;
}

.fj-logo{
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
  padding:0 !important;
  margin:0 !important;
  width:auto !important;
  text-decoration:none !important;
}

.fj-logo:visited,
.fj-logo:hover,
.fj-logo:active{
  text-decoration:none !important;
}

.fj-logo img,
.fj-logo-mark,
.fj-logo-mark img{
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}

.fj-logo-text{
  margin:0 0 0 -6px !important;
  padding:0 !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  transform:none !important;
  text-decoration:none !important;
  border:none !important;
}

.fj-logo-text{
  margin-left:-8px !important;
}

.fj-logo-mark{
  width:140px !important;
  height:140px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  flex:none;
}

.fj-logo-mark img{
  width:128px !important;
  height:auto !important;
  display:block;
  object-fit:contain;
  max-width:none !important;
}
.fj-logo-text{
  font-family:"Alegreya", serif !important;
  font-weight:700;
  font-size:26px;
  color:#fff;
  letter-spacing:.01em;
  transition:color .25s ease;
  white-space:nowrap;
}
.fj-menu{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:30px;
}
.fj-menu a{
  color:rgba(255,255,255,.95);
  font-size:17px;
  font-weight:700;
  text-decoration:none;
  transition:color .22s ease, opacity .22s ease;
}
.fj-menu a:hover{color:#fff;opacity:.82}
.fj-nav-right{
  display:flex;align-items:center;gap:18px;
}
.fj-socials{
  display:flex; align-items:center; gap:18px;
}
.fj-socials a{
  color:#fff;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  opacity:.95;
  transition:color .2s ease, opacity .2s ease, transform .2s ease;
}
.fj-socials a{text-decoration:none !important; border-bottom:none !important; box-shadow:none !important;}
.fj-socials a i{display:block; line-height:1; text-decoration:none !important;}
.fj-socials a:hover{color:#b83257; opacity:1; transform:translateY(-1px);}
.fj-dropdown{position:relative;}
.fj-dots{
  width:44px; height:44px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;gap:4px;
  cursor:pointer;
  transition:background .22s ease, transform .22s ease;
}
.fj-dots span{
  width:4px;height:4px;border-radius:999px;background:#fff;display:block;
  transition:background .22s ease;
}
.fj-dots:hover{transform:translateY(-1px);}
.fj-dropdown-content{
  position:absolute;
  right:0; top:56px;
  min-width:190px;
  padding:10px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  display:none;
  flex-direction:column;
  gap:4px;
}
.fj-dropdown-content a{
  display:block;
  padding:12px 14px;
  border-radius:10px;
  color:#1f1a1c;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}
.fj-dropdown-content a:hover{background:#f8eef1;color:#b83257;}
.fj-dropdown.open .fj-dropdown-content{display:flex;}
.fj-nav.scrolled{
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 26px rgba(29,23,25,.08);
  backdrop-filter:blur(12px);
  padding:14px 24px;
}
.fj-nav.scrolled::before{opacity:0;}
.fj-nav.scrolled .fj-logo-text,
.fj-nav.scrolled .fj-menu a,
.fj-nav.scrolled .fj-socials a,
.fj-nav.scrolled .fj-socials a i{
  color:#2a2325 !important;
}
.fj-nav.scrolled .fj-dots{
  background:#f3e8ea;
}
.fj-nav.scrolled .fj-dots span{background:#2a2325;}
.fj-hero-inner{
  padding-top:var(--fj-nav-height);
}
.hero-textblock{
  padding:100px 20px 86px !important;
}
.hero-textblock .topline{
  font-family:"Source Sans 3", sans-serif !important;
  letter-spacing:.30em !important;
  font-size:14px !important;
}
.hero-textblock .description{
  font-family:"Source Sans 3", sans-serif !important;
  font-size:clamp(20px,2.2vw,26px) !important;
  max-width:880px !important;
}
.fj-section-head,
.hero-inner,
.fj-food-intro,
.sakura-hero,
.japan-tipps-intro{
  margin-bottom:34px !important;
}
.hero-title,
.fj-food-title,
.sakura-title,
.japan-tipps-intro h2,
.fj-section-title{
  font-size:clamp(40px, 4.8vw, 56px) !important;
}
.hero-sub,
.fj-food-eyebrow,
.sakura-sub,
.japan-tipps-eyebrow,
.fj-section-kicker{
  font-family:"Alegreya", serif !important;
  font-size:20px !important;
  font-weight:700 !important;
  color:#b83257 !important;
  margin-bottom:10px !important;
}
.hero-text,
.fj-food-text,
.sakura-text,
.japan-tipps-intro p,
.fj-section-desc{
  font-family:"Source Sans 3", sans-serif !important;
  font-size:18px !important;
  line-height:1.55 !important;
  color:#6f6668 !important;
}
.fj-why-japan,
.banner,
.page,
.fj-food-scope .fj-food-section,
.sakura-section,
.japan-tipps-section{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.fj-why-japan,
.banner,
.page,
.fj-food-scope .fj-food-section,
.sakura-section,
.japan-tipps-section{
  padding-top:var(--fj-section-space) !important;
  padding-bottom:var(--fj-section-space) !important;
}
.page .hero{padding-top:0 !important; padding-bottom:44px !important;}
.banner{
  max-width:1792px;
  margin:0 auto;
  padding:0 30px;
  background:#FFF1F4;
}
.fj-why-image-card{
  overflow:visible !important;
}
.fj-why-badge{
  right:26px !important;
  bottom:22px !important;
  width:86px !important;
  height:102px !important;
  z-index:4;
}
.japan-tipps-icon-box{
  overflow:visible !important;
}
.japan-tipps-card[data-title="Sprache & Etikette"] .japan-tipps-icon-box,
.japan-tipps-card[data-title="Internet & SIM"] .japan-tipps-icon-box{
  align-items:center !important;
  justify-content:center !important;
}
.japan-tipps-card[data-title="Sprache & Etikette"] .japan-tipps-icon-box::before{
  content:"\f1ab";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:18px;
  line-height:1;
}
.japan-tipps-card[data-title="Internet & SIM"] .japan-tipps-icon-box::before{
  content:"\f1eb";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:18px;
  line-height:1;
}
.japan-tipps-card[data-title="Sprache & Etikette"] .japan-tipps-icon,
.japan-tipps-card[data-title="Internet & SIM"] .japan-tipps-icon{
  display:none !important;
}
.fj-reveal,
.fj-scroll-section{
  opacity:0;
  transform:translateY(48px);
  transition:opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}
.fj-reveal.from-left{transform:translateX(-40px);}
.fj-reveal.from-right{transform:translateX(40px);}
.fj-reveal.is-visible,
.fj-scroll-section.is-visible{
  opacity:1;
  transform:translate(0,0);
}
@media (prefers-reduced-motion: reduce){
  .fj-reveal,
  .fj-scroll-section{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}
@media (max-width:1180px){
  .fj-nav-inner{
    grid-template-columns:1fr;
    justify-items:center;
    gap:14px;
  }
  .fj-menu{gap:18px;}
  .fj-nav-right{gap:14px;}
}
@media (max-width:780px){
  :root{--fj-nav-height: 146px; --fj-section-space:72px;}
  .fj-nav{padding:14px 16px;}
  .fj-menu{
    gap:14px;
    row-gap:10px;
  }
  .fj-menu a{font-size:16px;}
  .fj-logo-text{font-size:24px;}
  .fj-socials{gap:12px;}
  .hero-textblock{padding-top:120px !important;}
}
@media (max-width:560px){
  :root{--fj-nav-height: 176px; --fj-section-space:64px;}
  .fj-logo-mark{width:72px;height:72px;}
  .fj-logo-mark img{width:64px;}
  .fj-logo-text{font-size:20px;}
  .fj-menu{
    justify-content:center;
    gap:12px;
  }
  .fj-menu a{font-size:15px;}
  .fj-nav-right{flex-wrap:wrap; justify-content:center;}
  .fj-socials{order:2;}
  .fj-dropdown{order:1;}
}

.fj-footer{
  background:#0f0f13;
  color:#f6edf0;
  padding:64px 24px 34px;
}
.fj-footer-inner{
  max-width:1280px;
  margin:0 auto;
  text-align:center;
}
.fj-footer-brand{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  margin-bottom:24px;
}
.fj-footer-brand .fj-logo-mark{
  width:108px;
  height:108px;
}
.fj-footer-brand .fj-logo-mark img{
  width:96px;
}
.fj-footer-brand .fj-logo-text{
  color:#fff;
  font-size:36px;
}
.fj-footer-nav,
.fj-footer-meta{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px 28px;
  margin:0;
  padding:0;
  list-style:none;
}
.fj-footer-nav{
  margin-bottom:24px;
}
.fj-footer-nav a,
.fj-footer-meta a{
  color:#f6edf0;
  text-decoration:none;
  font-size:16px;
  font-weight:600;
  opacity:.9;
}
.fj-footer-nav a:hover,
.fj-footer-meta a:hover{
  color:#ffcad5;
}
.fj-footer-line{
  width:320px;
  max-width:90%;
  height:1px;
  background:rgba(255,255,255,.14);
  margin:0 auto 22px;
}
.fj-footer-copy{
  margin-top:18px;
  font-size:14px;
  color:rgba(255,255,255,.68);
}
@media (max-width:700px){
  .fj-footer{
    padding:56px 18px 28px;
  }
  .fj-footer-brand{
    flex-direction:column;
    gap:10px;
  }
  .fj-footer-brand .fj-logo-text{
    font-size:26px;
  }
  .fj-footer-nav a,
  .fj-footer-meta a{
    font-size:15px;
  }
}

/* Sauberer Dropdown-Übergang */
.nav-dropdown{
  position:relative !important;
  padding-bottom:18px !important;
  margin-bottom:-18px !important;
}
.nav-dropdown::after{
  content:"";
  position:absolute;
  left:0;
  top:100%;
  width:100%;
  height:18px;
}
.dropdown-menu{
  top:calc(100% + 6px) !important;
}

/* Sichtbarer, aber sauberer Shrink */
.fj-nav{
  padding:14px 24px !important;
  transition:
    background .28s ease,
    box-shadow .28s ease,
    padding .28s ease,
    backdrop-filter .28s ease !important;
}

.fj-logo-mark,
.fj-logo-mark img,
.fj-logo-text,
.fj-menu a,
.fj-socials a,
.fj-dots{
  transition:
    width .28s ease,
    height .28s ease,
    font-size .28s ease,
    color .25s ease,
    background .28s ease,
    transform .28s ease !important;
}

.fj-nav.scrolled{
  padding:8px 20px !important;
  background:rgba(255,255,255,.97) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  box-shadow:0 10px 26px rgba(29,23,25,.08) !important;
}

.fj-nav.scrolled .fj-logo-mark{
  width:122px !important;
  height:122px !important;
}
.fj-nav.scrolled .fj-logo-mark img{
  width:110px !important;
}
.fj-nav.scrolled .fj-logo-text{
  font-size:23px !important;
}
.fj-nav.scrolled .fj-menu a{
  font-size:16px !important;
}
.fj-nav.scrolled .fj-socials a{
  width:38px !important;
  height:38px !important;
  font-size:23px !important;
}
.fj-nav.scrolled .fj-dots{
  width:40px !important;
  height:40px !important;
}

@media (max-width:780px){
  .fj-nav{
    padding:12px 14px !important;
  }
  .fj-nav.scrolled{
    padding:8px 12px !important;
  }
}

/* Feinschliff: Logo enger + mittiger, Navbar schlanker, Shrink deutlich sichtbar */
.fj-nav{
  padding:10px 22px !important;
}

.fj-nav-inner{
  gap:18px !important;
  align-items:center !important;
}

.fj-logo{
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
}

.fj-logo-mark{
  width:126px !important;
  height:126px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.fj-logo-mark img{
  width:114px !important;
  height:auto !important;
  display:block !important;
  transform:translateY(2px) !important;
}

.fj-logo-text{
  margin-left:-12px !important;
  font-size:25px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
}

.fj-menu{
  gap:24px !important;
}

.fj-menu a,
.nav-link-trigger{
  font-size:16px !important;
}

.fj-socials{
  gap:14px !important;
}

.fj-socials a{
  width:38px !important;
  height:38px !important;
  font-size:24px !important;
}

.fj-dots{
  width:40px !important;
  height:40px !important;
}

/* Shrink klar sichtbar */
.fj-nav.scrolled{
  padding:4px 18px !important;
  background:rgba(255,255,255,.97) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  box-shadow:0 10px 26px rgba(29,23,25,.08) !important;
}

.fj-nav.scrolled .fj-nav-inner{
  gap:14px !important;
}

.fj-nav.scrolled .fj-logo-mark{
  width:98px !important;
  height:98px !important;
}

.fj-nav.scrolled .fj-logo-mark img{
  width:88px !important;
  transform:translateY(1px) !important;
}

.fj-nav.scrolled .fj-logo-text{
  font-size:21px !important;
  margin-left:-10px !important;
}

.fj-nav.scrolled .fj-menu a,
.fj-nav.scrolled .nav-link-trigger{
  font-size:15px !important;
}

.fj-nav.scrolled .fj-socials a{
  width:34px !important;
  height:34px !important;
  font-size:21px !important;
}

.fj-nav.scrolled .fj-dots{
  width:36px !important;
  height:36px !important;
}

@media (max-width:780px){
  .fj-nav{
    padding:8px 12px !important;
  }
  .fj-logo-mark{
    width:104px !important;
    height:104px !important;
  }
  .fj-logo-mark img{
    width:94px !important;
  }
  .fj-logo-text{
    font-size:22px !important;
    margin-left:-10px !important;
  }
  .fj-menu{
    gap:14px !important;
  }
  .fj-menu a,
  .nav-link-trigger{
    font-size:15px !important;
  }
  .fj-nav.scrolled{
    padding:4px 10px !important;
  }
  .fj-nav.scrolled .fj-logo-mark{
    width:84px !important;
    height:84px !important;
  }
  .fj-nav.scrolled .fj-logo-mark img{
    width:76px !important;
  }
  .fj-nav.scrolled .fj-logo-text{
    font-size:18px !important;
  }
}

@media (max-width: 900px){
  .banner{
    padding:20px !important;
    gap:16px !important;
  }
  .item{
    padding:22px 16px !important;
  }
  .modal{
    padding:120px 12px 18px !important;
  }
  .modal-box{
    max-height:calc(100vh - 130px) !important;
  }
}

@media (max-width: 700px){
  :root{
    --fj-nav-height: 132px !important;
    --fj-section-space: 52px !important;
  }

  .fj-nav,
  .fj-nav.scrolled{
    padding:8px 10px !important;
  }

  .fj-nav-inner,
  .fj-nav.scrolled .fj-nav-inner{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:8px !important;
  }

  .fj-logo-mark{
    width:82px !important;
    height:82px !important;
  }

  .fj-logo-mark img{
    width:72px !important;
    transform:none !important;
  }

  .fj-logo-text,
  .fj-nav.scrolled .fj-logo-text{
    margin-left:-6px !important;
    font-size:18px !important;
  }

  .fj-menu,
  .fj-nav.scrolled .fj-menu{
    width:100% !important;
    gap:8px 12px !important;
    justify-content:center !important;
  }

  .fj-menu a,
  .nav-link-trigger,
  .fj-nav.scrolled .fj-menu a,
  .fj-nav.scrolled .nav-link-trigger{
    font-size:14px !important;
    line-height:1.25 !important;
  }

  .fj-nav-right{
    gap:10px !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
  }

  .fj-socials a,
  .fj-nav.scrolled .fj-socials a{
    width:32px !important;
    height:32px !important;
    font-size:18px !important;
  }

  .fj-dots,
  .fj-nav.scrolled .fj-dots{
    width:34px !important;
    height:34px !important;
  }

  .fj-dropdown-content{
    right:50% !important;
    transform:translateX(50%) !important;
    top:44px !important;
    min-width:170px !important;
  }

  .fj-hero-inner{
    min-height:auto !important;
    padding:120px 14px 40px !important;
  }

  .hero-textblock{
    padding:40px 8px 24px !important;
  }

  .hero-textblock .topline{
    font-size:11px !important;
    letter-spacing:.18em !important;
    margin-bottom:12px !important;
  }

  .hero-textblock .title{
    font-size:clamp(40px, 14vw, 58px) !important;
    line-height:1.02 !important;
    margin-bottom:10px !important;
  }

  .hero-textblock .subtitle-jp{
    font-size:20px !important;
    letter-spacing:1px !important;
    margin-bottom:16px !important;
  }

  .hero-textblock .subtitle-jp::before,
  .hero-textblock .subtitle-jp::after{
    display:none !important;
  }

  .hero-textblock .description{
    font-size:17px !important;
    line-height:1.5 !important;
    margin-bottom:20px !important;
  }

  .hero-textblock .button-group{
    display:grid !important;
    grid-template-columns:1fr !important;
    max-width:100% !important;
    gap:10px !important;
  }

  .hero-textblock .hero-btn{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:46px !important;
    font-size:14px !important;
  }

  .hero-title,
  .fj-food-title,
  .sakura-title,
  .japan-tipps-intro h1,
  .japan-tipps-intro h2,
  .fj-section-title{
    font-size:34px !important;
    line-height:1.12 !important;
  }

  .hero-text,
  .fj-food-text,
  .sakura-text,
  .japan-tipps-intro p,
  .fj-section-desc,
  .fj-why-content p,
  .card-desc,
  .modal-text,
  .tip-text,
  .sakura-desc{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .fj-why-japan,
  .fj-food-scope .fj-food-section,
  .sakura-section,
  .japan-tipps-section,
  .page,
  .banner{
    padding-top:40px !important;
    padding-bottom:40px !important;
  }

  .page .hero,
  #sehenswuerdigkeiten .hero{
    padding:0 14px 24px !important;
  }

  .container,
  .sakura-section,
  .japan-tipps-section,
  .fj-food-scope .fj-food-section,
  .fj-why-japan{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .banner{
    padding:14px !important;
    gap:12px !important;
    border-radius:0 !important;
  }

  .item{
    padding:18px 14px !important;
    border-radius:14px !important;
  }

  .icon{
    width:48px !important;
    height:48px !important;
    margin-bottom:10px !important;
  }

  .title{
    font-size:14px !important;
  }

  .desc{
    font-size:12px !important;
  }

  .grid,
  .sakura-grid,
  .japan-tipps-grid,
  .fj-food-scope .fj-food-grid,
  .info-grid,
  .fj-why-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .card-media,
  .sakura-image,
  .fj-food-scope .fj-food-image{
    height:190px !important;
    min-height:190px !important;
  }

  .card-content,
  .sakura-content,
  .modal-body{
    padding:14px !important;
  }

  .card-title,
  .fj-food-scope .fj-food-title-wrap h3,
  .sakura-card-title,
  .modal-headline h2,
  .japan-tipps-card h3,
  .fj-why-content h3{
    font-size:24px !important;
    line-height:1.15 !important;
  }

  .modal{
    align-items:flex-start !important;
    padding:96px 10px 12px !important;
  }

  .modal-box{
    border-radius:18px !important;
    max-height:calc(100vh - 108px) !important;
  }

  .modal-hero img{
    height:220px !important;
  }

  .close{
    width:36px !important;
    height:36px !important;
    font-size:22px !important;
  }

  .japan-tipps-modal{
    padding:90px 10px 16px !important;
    align-items:flex-start !important;
  }

  .japan-tipps-modal-dialog{
    width:100% !important;
    border-radius:18px !important;
    max-height:calc(100vh - 106px) !important;
  }

  .japan-tipps-modal-content{
    padding:22px 16px 18px !important;
  }

  .japan-tipps-modal-content h3{
    font-size:28px !important;
  }

  .japan-tipps-modal-text,
  .japan-tipps-modal-extra-box p,
  .info-value,
  .fj-food-scope .fj-food-title-wrap p,
  .fj-food-scope .fj-food-info p{
    font-size:15px !important;
  }

  .fj-footer{
    padding:44px 16px 24px !important;
  }

  .fj-footer-brand .fj-logo-mark{
    width:78px !important;
    height:78px !important;
  }

  .fj-footer-brand .fj-logo-mark img{
    width:68px !important;
  }

  .fj-footer-brand .fj-logo-text{
    font-size:22px !important;
  }
}

@media (max-width: 420px){
  :root{
    --fj-nav-height: 124px !important;
  }

  .hero-textblock .title{
    font-size:clamp(34px, 12vw, 46px) !important;
  }

  .hero-title,
  .fj-food-title,
  .sakura-title,
  .japan-tipps-intro h1,
  .japan-tipps-intro h2,
  .fj-section-title{
    font-size:30px !important;
  }

  .hero-textblock .description,
  .hero-text,
  .fj-food-text,
  .sakura-text,
  .japan-tipps-intro p,
  .fj-section-desc,
  .fj-why-content p{
    font-size:14px !important;
  }

  .card-title,
  .fj-food-scope .fj-food-title-wrap h3,
  .sakura-card-title,
  .modal-headline h2,
  .japan-tipps-card h3,
  .fj-why-content h3{
    font-size:22px !important;
  }
}

.fj-food-scope,
    .fj-food-scope *,
    .fj-food-scope *::before,
    .fj-food-scope *::after{
      box-sizing:border-box;
    }

    .fj-food-scope{
      display:block;
      width:100%;
      background:transparent;
      isolation:isolate;
    }

    .fj-food-scope img{
      display:block;
      max-width:100%;
      border:0;
    }

    .fj-food-scope button{
      font:inherit;
    }

    .fj-food-scope .fj-food-section{
      background:#f5eeef;
      padding:72px 24px 50px;
      position:relative;
      z-index:1;
    }

    .fj-food-scope .fj-food-wrap{
      max-width:1220px;
      margin:0 auto;
    }

    .fj-food-scope .fj-food-intro{
      text-align:center;
      max-width:860px;
      margin:0 auto 42px;
    }

    .fj-food-scope .fj-food-eyebrow{
      display:block;
      font-family:"Source Sans 3", sans-serif;
      font-size:13px;
      font-weight:700;
      letter-spacing:.28em;
      color:#e24242;
      margin:0 0 10px;
      text-transform:uppercase;
    }

    .fj-food-scope .fj-food-title{
      margin:0 0 14px;
      font-family:"Alegreya", serif;
      font-size:56px;
      line-height:1.05;
      font-weight:800;
      letter-spacing:-0.5px;
      color:#111322;
    }

    .fj-food-scope .fj-food-line{
      width:250px;
      height:2px;
      background:#e7d6d9;
      margin:0 auto 20px;
      border-radius:999px;
    }

    .fj-food-scope .fj-food-text{
      margin:0 auto;
      max-width:760px;
      font-family:"Source Sans 3", sans-serif;
      font-size:18px;
      line-height:1.55;
      color:#6f6668;
    }

    .fj-food-scope .fj-food-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:20px;
    }

    .fj-food-scope .fj-food-card{
      display:grid;
      grid-template-columns:132px 1fr;
      background:#fcfbfb;
      border:1px solid #e7dddf;
      border-radius:18px;
      overflow:hidden;
      box-shadow:0 2px 10px rgba(36,20,24,.04);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .fj-food-scope .fj-food-card:hover{
      transform:translateY(-3px);
      box-shadow:0 10px 24px rgba(36,20,24,.07);
      border-color:#dfcfd3;
    }

    .fj-food-scope .fj-food-image{
      height:100%;
      min-height:130px;
      background:#ddd;
    }

    .fj-food-scope .fj-food-image img{
      width:100%;
      height:100%;
      object-fit:cover;
    }

    .fj-food-scope .fj-food-content{
      display:flex;
      flex-direction:column;
      min-width:0;
    }

    .fj-food-scope .fj-food-head{
      appearance:none;
      -webkit-appearance:none;
      border:none;
      outline:none;
      background:transparent;
      padding:16px 18px 14px;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      text-align:left;
      cursor:pointer;
      width:100%;
      color:inherit;
    }

    .fj-food-scope .fj-food-title-wrap{
      min-width:0;
    }

    .fj-food-scope .fj-food-title-wrap h3{
      margin:0 0 8px;
      font-family:"Alegreya", serif;
      font-size:20px;
      line-height:1.2;
      font-weight:700;
      color:#111322;
    }

    .fj-food-scope .fj-food-title-wrap h3 span{
      font-family:"Source Sans 3", sans-serif;
      font-size:15px;
      font-weight:500;
      color:#ee8c93;
      margin-left:4px;
    }

    .fj-food-scope .fj-food-title-wrap p{
      margin:0;
      font-family:"Source Sans 3", sans-serif;
      font-size:15px;
      line-height:1.55;
      color:#72696b;
    }

    .fj-food-scope .fj-food-arrow{
      flex:none;
      display:flex;
      align-items:center;
      justify-content:center;
      width:28px;
      height:28px;
      margin-top:2px;
      border-radius:50%;
      color:#7c7376;
      font-size:18px;
      line-height:1;
      transition:transform .22s ease, color .22s ease, background .22s ease;
    }

    .fj-food-scope .fj-food-head:hover .fj-food-arrow{
      color:#c33a5a;
      background:#f8eef1;
    }

    .fj-food-scope .fj-food-card.fj-active .fj-food-arrow{
      transform:rotate(180deg);
      color:#c33a5a;
      background:#f8eef1;
    }

    .fj-food-scope .fj-food-panel{
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .28s ease;
    }

    .fj-food-scope .fj-food-card.fj-active .fj-food-panel{
      grid-template-rows:1fr;
    }

    .fj-food-scope .fj-food-panel-inner{
      overflow:hidden;
      padding:0 18px 18px;
    }

    .fj-food-scope .fj-food-info{
      border-top:1px solid #eee4e6;
      padding-top:12px;
      margin-top:2px;
    }

    .fj-food-scope .fj-food-info + .fj-food-info{
      margin-top:12px;
    }

    .fj-food-scope .fj-food-info strong{
      display:block;
      margin:0 0 6px;
      font-family:"Source Sans 3", sans-serif;
      font-size:14px;
      font-weight:700;
      color:#c33a5a;
    }

    .fj-food-scope .fj-food-info p{
      margin:0;
      font-family:"Source Sans 3", sans-serif;
      font-size:14px;
      line-height:1.55;
      color:#6b6366;
    }

    @media (max-width:1000px){
      .fj-food-scope .fj-food-title{
        font-size:48px;
      }

      .fj-food-scope .fj-food-grid{
        grid-template-columns:1fr;
      }
    }

    @media (max-width:700px){
      .fj-food-scope .fj-food-section{
        padding:56px 16px 36px;
      }

      .fj-food-scope .fj-food-title{
        font-size:38px;
      }

      .fj-food-scope .fj-food-text{
        font-size:16px;
      }

      .fj-food-scope .fj-food-card{
        grid-template-columns:1fr;
      }

      .fj-food-scope .fj-food-image{
        min-height:210px;
      }

      .fj-food-scope .fj-food-head{
        padding:16px 16px 12px;
      }

      .fj-food-scope .fj-food-panel-inner{
        padding:0 16px 16px;
      }

      .fj-food-scope .fj-food-title-wrap h3{
        font-size:22px;
      }
    }
