/* TRB Kyoto Hero v2: scoped, independent of Divi builder CSS */
#trb-kyoto-hero-v2{position:relative;isolation:isolate;width:100%;min-height:620px;height:min(780px,calc(100svh - 86px));overflow:hidden;background:#17242c;color:#fff;font-family:Arial,'Helvetica Neue',sans-serif}
#trb-kyoto-hero-v2 *{box-sizing:border-box}
#trb-kyoto-hero-v2 .trbk-hero__slides,#trb-kyoto-hero-v2 .trbk-hero__shade{position:absolute;inset:0}
#trb-kyoto-hero-v2 .trbk-hero__slide{position:absolute;inset:0;background-size:cover;background-position:var(--hero-pos,center);opacity:0;transform:scale(1.045);transition:opacity 1.35s ease,transform 7s linear;will-change:opacity}
#trb-kyoto-hero-v2 .trbk-hero__slide.is-active{opacity:1;transform:scale(1)}
#trb-kyoto-hero-v2 .trbk-hero__shade{background:linear-gradient(90deg,rgba(14,24,30,.56),rgba(14,24,30,.21) 60%,rgba(14,24,30,.17)),linear-gradient(0deg,rgba(14,24,30,.48),transparent 32%);pointer-events:none}
#trb-kyoto-hero-v2 .trbk-hero__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;max-width:1000px;height:100%;margin:auto;padding:88px 24px 110px}
#trb-kyoto-hero-v2 .trbk-hero__eyebrow{color:#fff;font-size:12px;font-weight:800;letter-spacing:.25em;margin:0 0 28px;text-shadow:0 1px 6px #17242c}
#trb-kyoto-hero-v2 h1{font-size:clamp(58px,7.2vw,118px);line-height:.99;font-weight:900;letter-spacing:-.055em;color:#fff;margin:0;text-shadow:0 3px 18px rgba(0,0,0,.2)}
#trb-kyoto-hero-v2 h1 span{display:block}
#trb-kyoto-hero-v2 .trbk-hero__intro{font-size:clamp(16px,1.55vw,21px);line-height:1.7;color:#fff;max-width:680px;margin:28px 0 32px;text-shadow:0 1px 9px rgba(0,0,0,.5)}
#trb-kyoto-hero-v2 .trbk-hero__actions{display:flex;gap:26px;align-items:center;justify-content:center;flex-wrap:wrap}
#trb-kyoto-hero-v2 .trbk-hero__button{display:inline-flex;align-items:center;gap:20px;padding:17px 27px;border-radius:999px;background:#d96a31;color:#fff;font-size:12px;letter-spacing:.1em;font-weight:800;text-decoration:none;transition:background .2s,transform .2s}
#trb-kyoto-hero-v2 .trbk-hero__button:hover{background:#b9501e;transform:translateY(-2px)}
#trb-kyoto-hero-v2 .trbk-hero__link{color:#fff;font-size:12px;letter-spacing:.12em;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.75);padding:10px 0}
#trb-kyoto-hero-v2 .trbk-hero__footer{position:absolute;bottom:35px;left:clamp(24px,4vw,80px);right:clamp(24px,4vw,80px);z-index:2;display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:.12em;font-weight:700}
#trb-kyoto-hero-v2 .trbk-hero__progress{display:flex;gap:7px}
#trb-kyoto-hero-v2 .trbk-hero__progress span{display:block;width:30px;height:3px;background:rgba(255,255,255,.4);transition:background .4s}
#trb-kyoto-hero-v2 .trbk-hero__progress span.is-active{background:#d96a31}
#trb-kyoto-hero-v2 .trbk-hero__scroll{margin-left:auto;color:#fff;text-decoration:none}
@media(max-width:767px){#trb-kyoto-hero-v2{height:calc(100svh - 70px);min-height:540px;max-height:760px}#trb-kyoto-hero-v2 .trbk-hero__slide{background-position:center}#trb-kyoto-hero-v2 .trbk-hero__shade{background:linear-gradient(90deg,rgba(14,24,30,.48),rgba(14,24,30,.3)),linear-gradient(0deg,rgba(14,24,30,.48),transparent 35%)}#trb-kyoto-hero-v2 .trbk-hero__content{padding:80px 22px 110px}#trb-kyoto-hero-v2 h1{font-size:clamp(52px,13vw,84px)}#trb-kyoto-hero-v2 .trbk-hero__intro{margin:23px 0 26px;font-size:16px}#trb-kyoto-hero-v2 .trbk-hero__actions{gap:14px}#trb-kyoto-hero-v2 .trbk-hero__scroll{display:none}#trb-kyoto-hero-v2 .trbk-hero__footer{bottom:25px}}
@media(prefers-reduced-motion:reduce){#trb-kyoto-hero-v2 .trbk-hero__slide,#trb-kyoto-hero-v2 .trbk-hero__button{transition:none!important;transform:none!important}}

/* =========================================
   TRB KYOTO HERO — BRAND COLORS
   Primary: Cyan / Secondary: Yellow
   ========================================= */

/* Main booking button */
#trb-kyoto-hero-v2 .trbk-hero__button {
  background: #FFD400;
  color: #17242C;
  border: 1px solid #FFD400;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

/* Button hover */
#trb-kyoto-hero-v2 .trbk-hero__button:hover {
  background: #29B1E1;
  border-color: #29B1E1;
  color: #17242C;
  transform: translateY(-2px);
}

/* Active slideshow progress */
#trb-kyoto-hero-v2 .trbk-hero__progress span.is-active {
  background: #29B1E1;
}

/* Secondary text link hover */
#trb-kyoto-hero-v2 .trbk-hero__link:hover,
#trb-kyoto-hero-v2 .trbk-hero__scroll:hover {
  color: #FFD400;
}

/* Keyboard accessibility */
#trb-kyoto-hero-v2 a:focus-visible {
  outline: 3px solid #FFD400;
  outline-offset: 4px;
}
