.tenmaru-hero-v2{position:relative;overflow:hidden}.tenmaru-hero-v2::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 80px),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 80px);pointer-events:none;z-index:0}.tenmaru-hero-v2::after{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border:1px solid rgba(255,255,255,.06);border-radius:50%;pointer-events:none}.tenmaru-hero-v2 .elementor-widget-wrap{position:relative;z-index:1}
.tenmaru-cta-footer-v2{position:relative}.tenmaru-cta-footer-v2::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 1px,transparent 1px,transparent 80px),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 1px,transparent 1px,transparent 80px);pointer-events:none;z-index:0}.tenmaru-cta-footer-v2 .elementor-widget-wrap{position:relative;z-index:1}
/* === Phase 0-1: Sticky CTA + Gold Accent + Mobile CTA === */
.tenmaru-sticky-cta{position:fixed;top:12px;right:20px;z-index:99999;background:#B8860B;color:#fff!important;padding:10px 24px;border-radius:2px;font-weight:700;font-size:13px;text-decoration:none;box-shadow:0 4px 12px rgba(184,134,11,0.3);transition:all 0.3s;font-family:"Noto Sans JP",sans-serif;letter-spacing:0.5px;animation:ctaPulse 3s infinite}
.tenmaru-sticky-cta:hover{background:#DAA520;transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,134,11,0.4);color:#fff!important}
@keyframes ctaPulse{0%,100%{box-shadow:0 4px 12px rgba(184,134,11,0.3)}50%{box-shadow:0 4px 20px rgba(184,134,11,0.5)}}
@media(max-width:768px){.tenmaru-sticky-cta{display:none}}

.tenmaru-mobile-cta-bar{position:fixed;bottom:0;left:0;right:0;background:#0D1B2A;padding:10px 12px;display:flex;gap:8px;z-index:99999;box-shadow:0 -4px 12px rgba(0,0,0,0.15)}
.tenmaru-mobile-cta-bar a{flex:1;padding:12px;text-align:center;font-size:13px;font-weight:700;text-decoration:none;border-radius:2px;font-family:"Noto Sans JP",sans-serif}
.tenmaru-mobile-cta-bar .btn-gold{background:#B8860B;color:#fff}
.tenmaru-mobile-cta-bar .btn-outline{border:1px solid rgba(255,255,255,0.3);color:#fff}
@media(min-width:769px){.tenmaru-mobile-cta-bar{display:none}}
@media(max-width:768px){body{padding-bottom:70px}}

/* === Phase 1: Color Palette + Typography Upgrade === */

/* Google Fonts - Shippori Mincho B1 for display headings */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;700;800&display=swap');

/* Warm background instead of pure white */
body.page, body.single, body.archive, body.home {
  background-color: #FAFAF7 !important;
}

/* Gold accent for CTA buttons */
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg {
  background-color: #B8860B !important;
  border-color: #B8860B !important;
  transition: all 0.3s;
}
.elementor-button.elementor-size-md:hover,
.elementor-button.elementor-size-lg:hover {
  background-color: #DAA520 !important;
  border-color: #DAA520 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(184,134,11,0.3);
}

/* Shippori Mincho for page titles and section headings */
h1.elementor-heading-title,
h2.elementor-heading-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2 {
  font-family: 'Shippori Mincho B1', 'Noto Serif JP', serif !important;
}

/* Gold color for important numbers/stats */
.elementor-counter-number-wrapper .elementor-counter-number,
.elementor-widget-counter .elementor-counter-title {
  color: #B8860B !important;
}

/* Gold accent line for section dividers */
.elementor-divider-separator {
  border-color: #B8860B !important;
}

/* Card hover - gold border accent */
.elementor-widget-image-box:hover,
.elementor-widget-icon-box:hover {
  border-bottom: 3px solid #B8860B;
  transition: border-bottom 0.3s;
}

/* Warm card backgrounds */
.elementor-section.elementor-section-boxed > .elementor-container {
  background-color: transparent;
}

/* Section with light background - slightly warm */
.elementor-section[data-settings*="background_color"] {
  /* Let Elementor handle, but add subtle warmth where applicable */
}

/* Typography refinement */
.elementor-widget-text-editor {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 15px;
  line-height: 1.75;
  color: #2D3748;
}

/* Blog post headings */
.entry-title,
.elementor-post__title {
  font-family: 'Shippori Mincho B1', 'Noto Serif JP', serif !important;
}

/* Gold highlight for "free consultation" text */
.elementor-widget-text-editor strong {
  color: #8B6914;
}

/* Footer CTA section gold styling */
.tenmaru-cta-footer-v2 .elementor-button {
  background-color: #fff !important;
  color: #0D47A1 !important;
}
.tenmaru-cta-footer-v2 .elementor-button:hover {
  background-color: #B8860B !important;
  color: #fff !important;
}

/* Navigation - subtle gold hover */
.elementor-nav-menu a:hover {
  color: #B8860B !important;
}

/* Breadcrumb link color */
.tenmaru-breadcrumb a:hover {
  color: #B8860B !important;
}

/* Gold bullet points */
.elementor-icon-list-icon i {
  color: #B8860B !important;
}

/* Pill button alternative style */
.tenmaru-btn-outline {
  border: 2px solid #B8860B;
  color: #B8860B;
  background: transparent;
  padding: 12px 32px;
  font-weight: 700;
  border-radius: 2px;
  transition: all 0.3s;
}
.tenmaru-btn-outline:hover {
  background: #B8860B;
  color: #fff;
}

/* Gold menu item for simulator */
.menu-sim-gold > a {
  background: #B8860B !important;
  color: #fff !important;
  padding: 8px 18px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  transition: all 0.3s !important;
}
.menu-sim-gold > a:hover {
  background: #DAA520 !important;
  transform: translateY(-1px);
}
@media(max-width:768px) {
  .menu-sim-gold > a {
    display: block;
    text-align: center;
    margin: 8px 16px;
  }
}
