/* ============================================================
   azuma-kaiji.com  Premium Design Layer v3
   Loads AFTER styles.css + styles-v2.css. Overrides the bright
   sky-blue / sunny-orange palette with a refined
   NAVY + GOLD + IVORY scheme for an authoritative law-firm feel.
   Reversible: remove this <link> to restore the previous look.
   ============================================================ */

:root {
    /* --- refined navy + gold palette (overrides v2 tokens) --- */
    --kaiji-sky:    #2f88c8;   /* primary navy-blue */
    --kaiji-sky-2:  #1e63a0;   /* deeper */
    --kaiji-sky-3:  #5aa6da;   /* lighter accent */
    --kaiji-deep:   #15476f;   /* deepest navy */
    --kaiji-navy:   #15476f;
    --kaiji-navy-2: #1e63a0;
    --kaiji-gold:   #c8a35b;   /* refined metallic gold */
    --kaiji-gold-2: #b0894c;   /* darker gold (hover) */
    --kaiji-gold-3: #dcc389;   /* light gold highlight */
    --kaiji-pale:   #f2f7fc;   /* soft cool neutral (bg-light) */
    --kaiji-cream:  #f8fafb;
    --kaiji-border: #dde5ee;
    --kaiji-text:   #1a2433;
    --kaiji-muted:  #5f6d80;

    /* --- base tokens (styles.css) re-pointed --- */
    --primary-color: #2f88c8;
    --primary-light: #5aa6da;
    --primary-dark:  #15476f;
    --secondary-color: #c8a35b;
    --accent-color:  #c8a35b;
    --bg-light:      #f2f7fc;
    --border-color:  #dde5ee;
    --shadow:        0 10px 34px rgba(12, 32, 54, 0.09);
    --hover-shadow:  0 18px 46px rgba(12, 32, 54, 0.16);
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--kaiji-text);
    background: #ffffff;
}
::selection { background: rgba(200, 163, 91, 0.28); }

/* ============================================================
   HEADER — translucent deep-navy glass over the hero
   ============================================================ */
.header,
.header.blur-background {
    background: rgba(10, 26, 46, 0.55) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(200, 163, 91, 0.18);
}
.header.scrolled { background: rgba(10, 26, 46, 0.95) !important; }
.header .logo a { color: #fff !important; letter-spacing: 0.03em; }
.header .logo-icon { color: var(--kaiji-gold) !important; }
.main-nav a { color: rgba(255,255,255,0.9) !important; letter-spacing: 0.06em; font-weight: 500; }
.main-nav a::after { background: var(--kaiji-gold) !important; }

/* Buttons: navy primary, gold header CTA */
.btn { border-radius: 3px; letter-spacing: 0.03em; }
.btn-primary {
    background: var(--kaiji-sky) !important;
    border-color: var(--kaiji-sky) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(12, 32, 54, 0.22);
}
.btn-primary:hover {
    background: var(--kaiji-deep) !important;
    border-color: var(--kaiji-deep) !important;
    box-shadow: 0 7px 20px rgba(12, 32, 54, 0.3);
}
.header-actions .btn-primary {
    background: var(--kaiji-gold) !important;
    border-color: var(--kaiji-gold) !important;
    color: #123a5c !important;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(200, 163, 91, 0.4);
}
.header-actions .btn-primary:hover {
    background: var(--kaiji-gold-2) !important;
    border-color: var(--kaiji-gold-2) !important;
    color: #fff !important;
}
.btn-secondary {
    background: var(--kaiji-gold) !important;
    border-color: var(--kaiji-gold) !important;
    color: #123a5c !important;
    font-weight: 700;
}
.btn-secondary:hover { background: var(--kaiji-gold-2) !important; color:#fff !important; }
.btn-outline-primary { color: var(--kaiji-sky) !important; border-color: var(--kaiji-sky) !important; background: transparent !important; font-weight: 600; }
.btn-outline-primary:hover { background: var(--kaiji-sky) !important; color: #fff !important; }
.header-line-btn { border-radius: 3px; }

/* ============================================================
   HERO + PAGE-HEADER — deep navy with a gold aurora
   ============================================================ */
.hero {
    background: linear-gradient(160deg, #15476f 0%, #1e63a0 55%, #2f88c8 100%) !important;
}
.page-header {
    background: linear-gradient(160deg, #15476f 0%, #1e63a0 60%, #2f88c8 100%) !important;
}
.hero::before,
.page-header::before {
    background-image:
        radial-gradient(circle at 18% 28%, rgba(200, 163, 91, 0.22) 0, transparent 42%),
        radial-gradient(circle at 82% 72%, rgba(47, 107, 163, 0.35) 0, transparent 45%) !important;
}
/* gold hairline under hero / page titles */
.hero .hero-title::after,
.page-header .hero-title::before {
    background: var(--kaiji-gold) !important;
    width: 64px !important;
    height: 2px !important;
    opacity: 1 !important;
}
.hero-content::before,
.page-header-eyebrow {
    color: var(--kaiji-gold-3) !important;
    border-color: rgba(200, 163, 91, 0.5) !important;
    background: rgba(200, 163, 91, 0.1) !important;
    letter-spacing: 0.4em !important;
}
.hero .btn-light { color: var(--kaiji-deep) !important; }

/* ============================================================
   SECTIONS + TITLES
   ============================================================ */
.bg-light { background-color: var(--kaiji-pale) !important; }
.bg-primary-dark { background: linear-gradient(135deg, #15476f 0%, #1e63a0 100%) !important; }
.section-title { color: var(--kaiji-navy) !important; letter-spacing: 0.05em; }
.section-title::after { background: var(--kaiji-gold) !important; height: 2px; width: 56px; }
.section-desc { color: var(--kaiji-muted) !important; }
.eyebrow, .page-header-eyebrow { font-family: 'Noto Serif JP', serif; }

/* ============================================================
   CARDS — white, thin border, gold top accent, refined shadow
   ============================================================ */
.card, .core-card, .service-detail-card {
    border: 1px solid var(--kaiji-border) !important;
    border-top: 3px solid var(--kaiji-gold) !important;
    box-shadow: 0 6px 26px rgba(12, 32, 54, 0.07) !important;
    border-radius: 10px !important;
}
.card:hover, .core-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 46px rgba(12, 32, 54, 0.16) !important;
    border-top-color: var(--kaiji-gold) !important;
}
.core-card .card-icon {
    background: linear-gradient(135deg, #1e63a0 0%, #15476f 100%) !important;
    color: var(--kaiji-gold) !important;
    box-shadow: 0 6px 16px rgba(12, 32, 54, 0.22);
}
.card h3, .core-card h3, .card-icon + h3 { color: var(--kaiji-navy) !important; }
.card-icon { color: var(--kaiji-sky) !important; }
.feature-list i, .feature-list li .fa-check { color: var(--kaiji-gold) !important; }
.link-arrow { color: var(--kaiji-gold-2) !important; }
.link-arrow:hover { color: var(--kaiji-navy) !important; }

/* ============================================================
   STATS — deep navy with gold numerals
   ============================================================ */
.stats-section { background: linear-gradient(135deg, #15476f 0%, #1e63a0 100%) !important; }
.stats-section::before { background: rgba(8, 20, 35, 0.55) !important; }
.stat-number { color: var(--kaiji-gold) !important; }
.stat-plus { color: var(--kaiji-gold-3) !important; }
.stat-label { color: rgba(255,255,255,0.9) !important; letter-spacing: 0.08em; }

/* ============================================================
   COLUMN CARDS — navy gradient thumbs + gold anchor
   ============================================================ */
.column-img,
.column-card:nth-child(3n+1) .column-img { background: linear-gradient(135deg, #1e63a0 0%, #15476f 100%) !important; }
.column-card:nth-child(3n+2) .column-img { background: linear-gradient(135deg, #2f88c8 0%, #1e63a0 100%) !important; }
.column-card:nth-child(3n+3) .column-img { background: linear-gradient(135deg, #15476f 0%, #2f88c8 100%) !important; }
.column-img::after { color: rgba(200, 163, 91, 0.5) !important; }
.column-title a { color: var(--kaiji-navy) !important; }
.column-title a:hover { color: var(--kaiji-gold-2) !important; }
.badge { background: var(--kaiji-gold) !important; color: #123a5c !important; }

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.service-card-icon,
.service-card-header .section-title,
.service-detail-card h4 { color: var(--kaiji-navy) !important; }
.service-card-icon { color: var(--kaiji-gold) !important; }
.service-detail-card h4 .fa-angle-right { color: var(--kaiji-gold) !important; }
.service-nav .btn-outline-primary { color: var(--kaiji-navy) !important; border-color: var(--kaiji-navy) !important; }
.service-nav .btn-outline-primary:hover { background: var(--kaiji-navy) !important; color: #fff !important; }

/* ============================================================
   GLOBAL CTA — navy field, gold accents
   ============================================================ */
.global-cta {
    background: linear-gradient(135deg, #15476f 0%, #1e63a0 100%) !important;
    color: #fff !important;
    position: relative;
}
.global-cta::before {
    content: "";
    position: absolute; inset: 0;
    background-image: radial-gradient(circle at 80% 20%, rgba(200,163,91,0.16) 0, transparent 45%);
    pointer-events: none;
}
.global-cta .container { position: relative; z-index: 1; }
.global-cta .cta-title { color: #fff; }
.global-cta .btn-light { background: #fff !important; color: var(--kaiji-deep) !important; }
.global-cta .btn-primary { background: var(--kaiji-gold) !important; border-color: var(--kaiji-gold) !important; color:#123a5c !important; font-weight:700; }
.global-cta .btn-primary:hover { background: var(--kaiji-gold-2) !important; color:#fff !important; }

/* ============================================================
   FORMS + FOOTER accents
   ============================================================ */
.contact-form-card { border-top-color: var(--kaiji-gold) !important; }
.contact-form-card .section-title,
.phone-contact-box .phone-number,
.form-label { color: var(--kaiji-navy) !important; }
.phone-contact-box { border-left-color: var(--kaiji-gold) !important; }
.phone-contact-box .icon-primary { color: var(--kaiji-gold) !important; }
.form-input:focus, .form-textarea:focus, .form-select:focus {
    border-color: var(--kaiji-gold) !important;
    box-shadow: 0 0 0 3px rgba(200, 163, 91, 0.18) !important;
}
.footer { background: linear-gradient(180deg, #1e63a0 0%, #15476f 100%) !important; }
.footer::before { background: linear-gradient(90deg, var(--kaiji-gold) 0%, var(--kaiji-gold-3) 50%, var(--kaiji-gold) 100%) !important; }
.footer-links a:hover { color: var(--kaiji-gold) !important; }
.footer-links h4 { border-bottom-color: rgba(200, 163, 91, 0.35) !important; }
.footer-contact { border-left-color: var(--kaiji-gold) !important; background: rgba(200, 163, 91, 0.12) !important; }

/* ============================================================
   MOBILE CTA BAR
   ============================================================ */
.mobile-cta-tel  { background: var(--kaiji-sky) !important; }
.mobile-cta-mail { background: var(--kaiji-gold) !important; color:#123a5c !important; }
#ai-chat-btn { background: var(--kaiji-gold) !important; color:#123a5c !important; }
#ai-chat-btn:hover { background: var(--kaiji-gold-2) !important; color:#fff !important; }

/* ============================================================
   fune-kounyu.html scoped (.fk-*) — align to navy/gold
   ============================================================ */
.fk-step-no { background: linear-gradient(135deg, #1e63a0 0%, #15476f 100%) !important; }
.fk-note { background: rgba(200,163,91,0.09) !important; border-left-color: var(--kaiji-gold) !important; }
.fk-tag { background: rgba(28,76,124,0.10) !important; color: var(--kaiji-sky) !important; }
.fk-price thead th { background: var(--kaiji-navy) !important; }
.fk-price .amt, .fk-aud-card h3, .fk-step h3, .fk-linkcard strong, .fk-faq summary { color: var(--kaiji-navy) !important; }
.fk-aud-card h3 i, .fk-linkcard i, .fk-faq summary::after { color: var(--kaiji-gold) !important; }
