

.yakai-hero{position:relative;min-height:86vh;display:flex;align-items:center;overflow:hidden;background:var(--paper)}
.yakai-hero-photo{position:absolute;inset:0 0 0 34%;overflow:hidden;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}
.yakai-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.06);animation:yakaiDrift 18s ease-in-out infinite alternate}
@keyframes yakaiDrift{from{transform:scale(1.06) translateX(0)}to{transform:scale(1.06) translateX(-1.8%)}}
.yakai-hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(248,245,238,.55) 0%,rgba(248,245,238,0) 45%);z-index:2}
.yakai-hero-film{position:absolute;inset:0;z-index:2;opacity:0;transition:opacity 1.8s ease;pointer-events:none}
.yakai-hero-film.play{opacity:1}
.yakai-hero-film video{width:100%;height:100%;object-fit:cover;object-position:right center;display:block;transform:translateX(-6.5%) scale(1.14);transform-origin:center}
.yakai-hero-film::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(248,245,238,.88) 0%,rgba(248,245,238,.5) 40%,rgba(248,245,238,.06) 70%)}
.yakai-hero-slash{position:absolute;top:-12%;bottom:-12%;left:calc(34% + 16% * 0.66 - 90px);width:2px;background:linear-gradient(var(--silver),var(--navy),var(--silver));transform:rotate(9.2deg);transform-origin:top;opacity:.85;z-index:2}
.yakai-hero .wrap{position:relative;z-index:3;width:100%}
.yakai-hero-inner{max-width:560px;padding:90px 0}
.yakai-hero-en{font-family:var(--fontEn);font-style:italic;color:var(--navy);font-size:17px;letter-spacing:.32em;margin-bottom:20px}
.yakai-hero h1{font-family:var(--fontDisplay);font-weight:600;font-size:clamp(34px,5.4vw,56px);line-height:1.5;letter-spacing:.06em;color:var(--ink)}
.yakai-hero h1 em{font-style:normal;color:var(--navy)}
.yakai-hero-lead{margin-top:24px;color:var(--inkSoft);font-size:17px;letter-spacing:.05em;max-width:30em;line-height:1.9}
.yakai-hero-btns{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}
.yakai-btn{display:inline-block;padding:15px 34px;background:var(--navy);color:#fff;font-size:15px;letter-spacing:.14em;text-decoration:none;border-radius:2px;transition:opacity .3s}
.yakai-btn:hover{opacity:.85}
.yakai-btn-ghost{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.yakai-hero-flourish{position:absolute;right:34px;bottom:26px;z-index:3;font-family:var(--fontEn);font-style:italic;color:#fff;font-size:14px;letter-spacing:.3em;text-shadow:0 1px 12px rgba(30,25,35,.5)}
@media(max-width:760px){
  .yakai-hero{min-height:72vh}
  .yakai-hero-photo{inset:0}
  .yakai-hero-photo::after{background:linear-gradient(105deg,rgba(248,245,238,.86) 0%,rgba(248,245,238,.55) 55%,rgba(248,245,238,.25) 100%)}
  .yakai-hero-slash{display:none}
  .yakai-hero-inner{padding:70px 0}
}

.yakai-figures{background:var(--navyDeep);color:#efe9dc;position:relative}
.yakai-figures::before,.yakai-figures::after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--silver),transparent)}
.yakai-figures::before{top:0}
.yakai-figures::after{bottom:0}
.yakai-figures .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0;padding-top:54px;padding-bottom:54px}
.yakai-figures-item{text-align:center;padding:10px 18px;position:relative}
.yakai-figures-item+.yakai-figures-item::before{content:'';position:absolute;left:0;top:18%;bottom:18%;width:1px;background:rgba(201,171,107,.35)}
.yakai-figures-num{font-family:var(--fontEn);font-size:52px;line-height:1.1;color:var(--silver);font-weight:500}
.yakai-figures-num small{font-size:22px;letter-spacing:.06em}
.yakai-figures-label{font-family:var(--fontDisplay);font-size:15px;letter-spacing:.14em;margin-top:8px;color:#f2ecdf}
.yakai-figures-en{font-family:var(--fontEn);font-style:italic;font-size:11.5px;letter-spacing:.28em;color:rgba(201,171,107,.8);margin-top:5px}

.yakai-programme{max-width:820px;margin:0 auto;padding:0}
.yakai-programme li{list-style:none;display:grid;grid-template-columns:64px 1fr;gap:22px;padding:30px 6px;border-bottom:1px solid rgba(168,133,62,.28);align-items:baseline}
.yakai-programme .yakai-no{font-family:var(--fontEn);font-style:italic;font-size:30px;color:var(--navy);line-height:1}
.yakai-programme h3{font-family:var(--fontDisplay);font-size:21px;letter-spacing:.1em;font-weight:600;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0}
.yakai-programme h3 .yakai-prog-en{font-family:var(--fontEn);font-style:italic;font-size:14px;color:var(--navy);letter-spacing:.2em;font-weight:400}
.yakai-programme p{color:var(--inkSoft);font-size:15px;margin-top:8px;line-height:1.9}
.yakai-prog-link{display:inline-block;margin-top:10px;font-size:14px;color:var(--navy);text-decoration:none;letter-spacing:.08em}
.yakai-prog-link:hover{text-decoration:underline}
@media(max-width:560px){.yakai-programme li{grid-template-columns:44px 1fr;gap:14px}.yakai-programme .yakai-no{font-size:24px}}

.yakai-marquee{overflow:hidden;position:relative;padding:6px 0}
.yakai-marquee::before,.yakai-marquee::after{content:'';position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.yakai-marquee::before{left:0;background:linear-gradient(90deg,var(--paper),transparent)}
.yakai-marquee::after{right:0;background:linear-gradient(-90deg,var(--paper),transparent)}
.yakai-marquee-track{display:flex;gap:18px;width:max-content;animation:yakaiFlow 46s linear infinite}
.yakai-marquee-track figure{margin:0;width:300px;height:210px;flex:0 0 auto;overflow:hidden;border-radius:2px}
.yakai-marquee-track img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes yakaiFlow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:560px){.yakai-marquee-track figure{width:220px;height:160px}}
@media(prefers-reduced-motion:reduce){.yakai-marquee-track{animation:none}}

.craft-serve[data-design="yakai"] {
  --paper:     #FBF9F5;
  --paper-2:   #F5F1EA;
  --ink:       #241C1E;
  --ink-soft:  #574E52;
  --navy:      #5A2233;
  --navy-deep: #3A161F;
  --silver:    #8F6E36;
  --silver-2:  #B08B54;
  --display:   'Shippori Mincho B1', 'Noto Serif JP', serif;
  --sans:      'Noto Sans JP', sans-serif;
  --en:        'Cormorant Garamond', 'EB Garamond', serif;

  --navyDeep:    var(--navy-deep);
  --inkSoft:     var(--ink-soft);
  --fontDisplay: var(--display);
  --fontSans:    var(--sans);
  --fontEn:      var(--en);
}

.craft-serve[data-design="yakai"] .section-title,
.craft-serve[data-design="yakai"] .pricing-card-name,
.craft-serve[data-design="yakai"] blockquote {
  font-family: var(--display);
}

.craft-serve[data-design="yakai"] blockquote {
  position: relative;
  color: var(--ink);
  letter-spacing: 0.06em;
  line-height: 2.05;
}
.craft-serve[data-design="yakai"] blockquote::before {
  content: '\201C';
  font-family: var(--en);
  font-size: 72px;
  line-height: 1;
  color: var(--silver-2);
  display: block;
  margin-bottom: -8px;
}

.craft-serve[data-design="yakai"] .trial-cta { background: var(--navy-deep); }
.craft-serve[data-design="yakai"] .trial-cta h2 { font-family: var(--display); color: #FBF9F5; }
.craft-serve[data-design="yakai"] .trial-cta p { color: #E8DFD2; }
.craft-serve[data-design="yakai"] .btn-primary {
  background: var(--navy); color: #FBF9F5; border: 1px solid var(--silver-2);
}
.craft-serve[data-design="yakai"] .btn-outline { border-color: var(--silver-2); color: var(--navy); }
.craft-serve[data-design="yakai"] .btn-outline:hover { background: var(--navy); color: #FBF9F5; }

.craft-serve[data-design="yakai"] .anav-bar { background: rgba(251, 249, 245, 0.96); }

.craft-serve[data-design="yakai"] {
  --color-primary: #5A2233;
  --color-border:  #E2D8C7;
}
.craft-serve[data-design="yakai"] .craft-doc-btn {
  border: 1px solid #B08B54;
  letter-spacing: .08em;
  transition: opacity .3s ease, transform .3s ease;
}
.craft-serve[data-design="yakai"] .craft-doc-btn:hover { opacity: .88; transform: translateY(-1px); }
.craft-serve[data-design="yakai"] .craft-serve-menu a { transition: color .3s ease; }

.craft-gate[data-design="yakai"] .craft-gate-bg {
  animation: yakaiGateZoom 3.6s ease-out both;
}
.craft-gate[data-design="yakai"] .craft-gate-en {
  animation: yakaiGateIn 1.5s cubic-bezier(.22,.61,.36,1) .15s both;
}
.craft-gate[data-design="yakai"] .craft-gate-title {
  animation: yakaiGateIn 1.7s cubic-bezier(.22,.61,.36,1) .45s both;
}
.craft-gate[data-design="yakai"] .craft-gate-line {
  animation: yakaiGateLine 1.4s cubic-bezier(.22,.61,.36,1) .95s both;
}
@keyframes yakaiGateZoom { from { transform: scale(1.10); } to { transform: scale(1.02); } }
@keyframes yakaiGateIn   { from { opacity: 0; transform: translateY(14px); letter-spacing: .34em; }
                           to   { opacity: 1; transform: none; } }
@keyframes yakaiGateLine { from { opacity: 0; transform: scaleY(0); } to { opacity: 1; transform: scaleY(1); } }

@media (prefers-reduced-motion: no-preference) {
  .never-enable-until-verified {
  .craft-serve[data-design="yakai"].anim-on .craft-doc-h2,
  .craft-serve[data-design="yakai"].anim-on .craft-doc-p,
  .craft-serve[data-design="yakai"].anim-on .craft-doc-img,
  .craft-serve[data-design="yakai"].anim-on .craft-doc-btn,
  .craft-serve[data-design="yakai"].anim-on .craft-design > * {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 1.05s cubic-bezier(.22,.61,.36,1), transform 1.05s cubic-bezier(.22,.61,.36,1);
  }
  .craft-serve[data-design="yakai"].anim-on .is-inview,
  .craft-serve[data-design="yakai"].anim-on .is-inview > * {
    opacity: 1 !important;
    transform: none !important;
  }

  .craft-serve[data-design="yakai"].anim-on .craft-doc-h2 { position: relative; padding-bottom: 14px; }
  .craft-serve[data-design="yakai"].anim-on .craft-doc-h2::after {
    content: ''; position: absolute; left: 0; bottom: 0; width: 44px; height: 1px;
    background: #B08B54; transform: scaleX(0); transform-origin: left;
    transition: transform 1.1s cubic-bezier(.22,.61,.36,1) .25s;
  }
  .craft-serve[data-design="yakai"].anim-on .craft-doc-h2.is-inview::after { transform: scaleX(1); }
  }
}

.yakai-prog-split{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:44px;align-items:center;max-width:1040px;margin:0 auto}
.yakai-prog-figure{margin:0}
.yakai-prog-figure img{display:block;width:100%;height:auto}
.yakai-prog-split .yakai-programme{max-width:none;margin:0}
@media (max-width:820px){
  .yakai-prog-split{grid-template-columns:1fr;gap:28px}
  .yakai-prog-figure img{max-width:340px;margin:0 auto}
}
