/* MAIKAI subpage palette — loaded after the existing page styles.
   Color-only layer: preserve content, dimensions, layouts and interactions.
   Top page uses home.css and is intentionally not affected. */
:root {
    --maikai-navy: #292624;
    --maikai-ink: #3d342f;
    --maikai-muted: #62574f;
    --maikai-green: #514139;
    --maikai-mint: #c6b9aa;
    --maikai-tint: #f3efe6;
    --maikai-line: #d0c4b7;
    --color-black: #292624;
    --color-gray-100: #f3efe6;
    --color-gray-200: #d0c4b7;
    --color-gray-300: #c7b9aa;
    --color-gray-400: #8e8074;
    --color-gray-500: #62574f;
    --color-gray-600: #3d342f;
    --color-gray-700: #3d342f;
    --color-gray-800: #332c27;
    --color-gray-900: #292624;
    --accent: #514139;
    --accent-dark: #3f332d;
    --accent-light: #a89582;
    --accent-dim: rgba(198,185,170,.24);
    --accent-dim2: rgba(198,185,170,.12);
}
body.mint-theme { background: #fff; color: var(--maikai-ink); }
.mint-theme ::selection { background: var(--maikai-mint); color: var(--maikai-navy); }
.mint-theme :is(h1,h2,h3,h4,h5,h6) { color: var(--maikai-navy); }
.mint-theme :is(.section-title,.section-title-large) { color: var(--maikai-navy); }
.mint-theme :is(.section-subtitle,.page-hero-subtitle) { color: var(--maikai-muted); }
.mint-theme :is(a,button,input,select,textarea):focus-visible { outline-color: var(--maikai-green); }

/* Shared header / mobile navigation / footer */
.mint-theme .nav,
.mint-theme .nav.scrolled {
    background: rgba(255,255,255,.96);
    color: var(--maikai-navy);
    box-shadow: 0 2px 18px rgba(41,38,36,.07);
    border-bottom: 1px solid var(--maikai-line);
}
.mint-theme :is(.nav-link,.nav-dropdown-link) { color: var(--maikai-navy); }
.mint-theme .nav-link:hover { color: var(--maikai-green); }
.mint-theme .nav-dropdown { background: #fff; box-shadow: 0 8px 25px rgba(41,38,36,.12); }
.mint-theme .nav-dropdown-link { border-color: var(--maikai-line); }
.mint-theme .nav-dropdown-link:hover { background: var(--maikai-tint); color: var(--maikai-green); }
.mint-theme .hamburger,
.mint-theme .nav.scrolled .hamburger { background: var(--maikai-navy); }
.mint-theme .mobile-menu { background: rgba(243,239,230,.98); box-shadow: -8px 0 30px rgba(41,38,36,.1); }
.mint-theme .mobile-menu::before { background: none; }
.mint-theme .mobile-menu-link { color: var(--maikai-navy); border-color: var(--maikai-line); }
.mint-theme .mobile-menu-link:hover { color: var(--maikai-green); }
.mint-theme .footer { background: #fff; color: var(--maikai-muted); border-top: 1px solid var(--maikai-line); }
.mint-theme .footer :is(.footer-brand,.footer-links) { color: var(--maikai-navy); }
.mint-theme .footer :is(.footer-copy,a,span) { color: var(--maikai-muted) !important; }
.mint-theme .footer a:hover { color: var(--maikai-green) !important; }

/* White/mint page titles. Retain existing image assets under the light overlay. */
.mint-theme :is(.page-hero,.service-hero,.svc-hero,.fly-hero) {
    background: linear-gradient(135deg,#fff 0%,#f3efe6 55%,#e9e1d5 100%);
    color: var(--maikai-navy);
}
.mint-theme .page-hero::before {
    background: radial-gradient(circle at 20% 50%,rgba(198,185,170,.18),transparent 55%);
}
.mint-theme .page-hero-title::after {
    background: linear-gradient(90deg,transparent,var(--maikai-green),transparent);
}
.mint-theme :is(.svc-hero-overlay,.fly-hero-overlay) {
    background: linear-gradient(135deg,rgba(255,255,255,.94),rgba(243,239,230,.9),rgba(233,225,213,.93));
}
.mint-theme :is(.svc-hero-title,.fly-hero-title) { color: var(--maikai-navy); }
.mint-theme :is(.svc-hero-title .accent,.fly-hero-title .accent-a) {
    background: none;
    -webkit-text-fill-color: var(--maikai-green);
    color: var(--maikai-green);
}
.mint-theme :is(.svc-hero-lead,.fly-hero-lead,.service-hero-subtitle,.service-hero-tagline) { color: var(--maikai-ink); }
.mint-theme :is(.svc-hero-eyebrow,.fly-hero-eyebrow) { background: #fff; color: var(--maikai-green); border-color: #cbbdaa; }
.mint-theme :is(.svc-hero-eyebrow,.fly-hero-eyebrow)::before { background: var(--maikai-green); }
.mint-theme :is(.svc-hero-tag,.fly-hero-tag) { color: var(--maikai-navy); background: rgba(255,255,255,.85); border-color: #d4c9ba; }
.mint-theme :is(.svc-hero-scroll,.fly-hero-scroll) { color: var(--maikai-green); }
.mint-theme :is(.svc-hero-scroll-line,.fly-hero-scroll-line) { background: linear-gradient(to bottom,var(--maikai-green),transparent); }

/* HP / flyer details: formerly dark sections */
.detail-theme :is(.pain-section,.feature-section,.works-section,.why-section,.compare-section,.ba-section) { background: #fff; }
.detail-theme :is(.stats-strip,.fly-stats-strip,.process-section,.fly-process-section,.plans-section,.fly-plans-section,.faq-section,.fly-faq-section,.crosslink-banner) {
    background: var(--maikai-tint); border-color: var(--maikai-line);
}
.detail-theme :is(.stat-item,.fly-stat-item) { border-color: #d4c9ba; }
.detail-theme :is(.stat-num,.fly-stat-num) { color: var(--maikai-green); }
.detail-theme :is(.stat-unit,.fly-stat-unit) { color: var(--maikai-navy); }
.detail-theme :is(.stat-label,.fly-stat-label) { color: var(--maikai-muted); }
.detail-theme :is(.svc-eyebrow,.fly-eyebrow,.feature-tag,.work-type) { color: var(--maikai-green); }
.detail-theme :is(.svc-section-title,.fly-section-title,.feature-title,.pain-title,.work-name,.why-title,.ba-title,.process-label,.fly-process-label) { color: var(--maikai-navy); }
.detail-theme :is(.svc-section-lead,.fly-section-lead,.pain-text,.feature-body,.work-desc,.why-text,.process-text,.fly-process-text,.crosslink-text) { color: var(--maikai-muted); }
.detail-theme .crosslink-text strong { color: var(--maikai-navy); }
.detail-theme :is(.pain-grid,.why-grid) { background: var(--maikai-line); border-color: var(--maikai-line); }
.detail-theme :is(.pain-card,.why-card,.work-card) { background: #fff; border-color: var(--maikai-line); }
.detail-theme :is(.pain-card:hover,.why-card:hover) { background: #f8f4ec; }
.detail-theme .work-card:hover { border-color: #b19c85; }
.detail-theme .pain-card::before { background: linear-gradient(to bottom,var(--maikai-green),transparent); }
.detail-theme .pain-num { color: #d6c8b6; }
.detail-theme .pain-icon { color: var(--maikai-green); }
.detail-theme .feature-list li { color: var(--maikai-ink); }
.detail-theme .feature-list li::before {
    background-color: var(--maikai-tint); border-color: var(--maikai-green);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23514139' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.detail-theme :is(.feature-visual-inner,.work-visual) { background: linear-gradient(135deg,#e9e1d5,#f6f1e8) !important; border-color: var(--maikai-line); }
.detail-theme .feature-visual-inner::before { background: radial-gradient(circle at 30% 40%,rgba(198,185,170,.35),transparent 60%); }
.detail-theme .mockup-browser { background: #fff; box-shadow: 0 20px 60px rgba(41,38,36,.14); }
.detail-theme .mockup-bar { background: var(--maikai-navy); }
.detail-theme .mockup-hero-line { background: #b5a38f; }
.detail-theme .mockup-line { background: #d7cbbb; }
.detail-theme .mockup-card { background: var(--maikai-tint); }
.detail-theme .card-mockup { background: var(--maikai-navy); }
.detail-theme :is(.fl-top,.p-top-bar,.poster-top,.dl-left) { background: linear-gradient(135deg,var(--maikai-green),#a89582) !important; }
.detail-theme .why-icon-wrap,
.detail-theme :is(.process-icon-wrap,.fly-process-icon-wrap) { color: var(--maikai-green); background: #eee7dd; border-color: #c6b5a1; }
.detail-theme :is(.process-flow,.fly-process-flow)::before { background: #c6b5a1; }
.detail-theme :is(.process-step-num,.fly-process-step-num) { background: var(--maikai-navy); color: #fff; }
.detail-theme :is(.compare-table-wrap,.compare-table th,.compare-table td) { border-color: var(--maikai-line); }
.detail-theme .compare-table thead tr { background: var(--maikai-tint); }
.detail-theme .compare-table th { color: var(--maikai-navy); }
.detail-theme .compare-table td { color: var(--maikai-ink); }
.detail-theme .compare-table td:first-child { color: var(--maikai-navy); }
.detail-theme .compare-table :is(th,td).col-us { color: var(--maikai-green); background: #eee7dd; }
.detail-theme .compare-table tbody tr:hover td { background: #f8f4ec; }
.detail-theme .compare-table tbody tr:hover td.col-us { background: #e6dacb; }
.detail-theme .check-yes { color: var(--maikai-green); }
.detail-theme :is(.check-no,.check-tri) { color: #72665c; }
.detail-theme :is(.plan-card,.fly-plan-card) { background: #fff; border-color: var(--maikai-line); }
.detail-theme :is(.plan-card,.fly-plan-card).featured { background: linear-gradient(160deg,#fff,#eee7dd); border-color: #b49e86; }
.detail-theme :is(.plan-card,.fly-plan-card):hover { border-color: #b49e86; }
.detail-theme :is(.plan-card,.fly-plan-card)::after { background: var(--maikai-line); }
.detail-theme :is(.plan-card,.fly-plan-card):is(.featured,:hover)::after { background: linear-gradient(to right,var(--maikai-green),var(--maikai-mint)); }
.detail-theme :is(.plan-name,.fly-plan-name,.plan-price,.fly-plan-price) { color: var(--maikai-navy); }
.detail-theme :is(.plan-type,.fly-plan-type,.plan-price-init,.plan-price-unit,.fly-plan-price-unit,.plan-price-note,.fly-plan-price-note,.plan-recommend,.fly-plan-recommend,.plan-note,.fly-plan-note,.fly-plan-sub,.plans-footnote,.fly-plans-footnote) { color: var(--maikai-muted); }
.detail-theme :is(.plan-recommend,.fly-plan-recommend,.plans-footnote,.fly-plans-footnote) { background: #f6f1e8; border-color: #cdbdab; }
.detail-theme :is(.plan-divider,.fly-plan-divider) { background: var(--maikai-line); }
.detail-theme :is(.plan-features,.fly-plan-features) li { color: var(--maikai-ink); border-color: var(--maikai-line); }
.detail-theme :is(.plan-features,.fly-plan-features) li strong { color: var(--maikai-navy); }
.detail-theme :is(.plan-features,.fly-plan-features) li i { color: var(--maikai-green); }
.detail-theme :is(.plan-badge,.plan-badge.rec,.fly-plan-badge) { background: var(--maikai-navy) !important; color: #fff !important; }
.detail-theme :is(.ba-col,.ba-list li) { border-color: var(--maikai-line); }
.detail-theme .ba-col.after { background: var(--maikai-tint); border-color: #cdbdab; }
.detail-theme .ba-label.before { background: #eee9e2; color: var(--maikai-muted); }
.detail-theme .ba-label.after { background: var(--maikai-mint); color: var(--maikai-navy); }
.detail-theme .ba-list li,
.detail-theme .ba-list.after li { color: var(--maikai-ink); }
.detail-theme .ba-list.before li i { color: #8d8073; }
.detail-theme .ba-list.after li i { color: var(--maikai-green); }
.detail-theme :is(.faq-list,.fly-faq-list,.faq-item,.fly-faq-item) { border-color: var(--maikai-line); }
.detail-theme :is(.faq-q-text,.fly-faq-q-text) { color: var(--maikai-navy); }
.detail-theme :is(.faq-q-label,.fly-faq-q-label) { color: var(--maikai-green); }
.detail-theme :is(.faq-q-icon,.fly-faq-q-icon) { color: var(--maikai-green); border-color: #c2b29f; }
.detail-theme :is(.faq-item.active .faq-q-icon,.fly-faq-item.active .fly-faq-q-icon) { color: #fff; border-color: var(--maikai-green); background: var(--maikai-green); }
.detail-theme :is(.faq-a-inner,.fly-faq-a-inner) { color: var(--maikai-ink); }

/* Legacy inline typography is normalized without altering a single content node. */
.mint-theme :is([style*="color:#fff" i],[style*="color: #fff" i],[style*="color:white" i],[style*="color: white" i],[style*="color:rgba(255,255,255" i],[style*="color: rgba(255,255,255" i],[style*="color: rgba(255, 255, 255" i]) { color: var(--maikai-ink) !important; }
.mint-theme :is([style*="color:#3b82f6" i],[style*="color: #3b82f6" i],[style*="color:#f59e0b" i],[style*="color: #f59e0b" i],[style*="color: #dc2626" i],[style*="color:#60a5fa" i],[style*="color:#93c5fd" i],[style*="color: #1e40af" i],[style*="color: #10b981" i],[style*="color: #22c55e" i],[style*="color: #FFD700" i],[style*="color: #FFFF00" i]) { color: var(--maikai-green) !important; text-shadow: none !important; }
.mint-theme :is([style*="color: #000" i],[style*="color:#000" i],[style*="color: #1a1a1a" i]) { color: var(--maikai-navy) !important; }
.mint-theme :is([style*="color: #525252" i],[style*="color: #737373" i],[style*="color:#737373" i]) { color: var(--maikai-muted) !important; }
.mint-theme :is([style*="background: #f0f9ff" i],[style*="background: #f5f5f5" i],[style*="background:#f5f5f5" i],[style*="background: #fef3c7" i]) { background: var(--maikai-tint) !important; border-color: #cdbdab !important; }
.detail-theme :is([style*="background:rgba(59,130,246" i],[style*="background: rgba(59,130,246" i],[style*="background:rgba(255,255,255" i]) { background-color: #eee7dd !important; }

/* Existing company, CEO, form and legal layouts */
.info-theme :is(.company-label,.policy-date,.contact-card-text,.form-note) { color: var(--maikai-muted); }
.info-theme :is(.company-value,.company-value a,.contact-card-value,.contact-card-value a,.ceo-catchphrase,.form-label) { color: var(--maikai-navy); }
.info-theme :is(.company-row,.ceo-signature,.tokusho-section,.tokusho-table th,.tokusho-table td) { border-color: var(--maikai-line); }
.info-theme .company-row:hover { background: linear-gradient(90deg,var(--maikai-tint),transparent); }
.info-theme .company-row::before { background: linear-gradient(180deg,var(--maikai-green),transparent); }
.info-theme :is(.company-value a::after,.ceo-text h3::after) { background: var(--maikai-green); }
.info-theme :is(.map-title::before,.map-title::after,.ceo-signature::before) { background: linear-gradient(90deg,transparent,var(--maikai-green)); }
.info-theme .business-list li::before { color: var(--maikai-green); }
.info-theme .ceo-content { background: linear-gradient(180deg,#f8f4ec,transparent); }
.info-theme :is(.ceo-text h3,.policy-section h2) { border-color: #baa68f; }
.info-theme :is(.ceo-text p,.policy-section p,.policy-section ul,.tokusho-table td,.plan-info li,.form-notice p) { color: var(--maikai-ink); }
.info-theme .policy-section a,
.info-theme .tokusho-heading i,
.info-theme .plan-info li i { color: var(--maikai-green); }
.info-theme :is(.contact-card,.form-container) { background: #fff; box-shadow: 0 4px 24px rgba(41,38,36,.08); }
.info-theme .contact-card:hover { box-shadow: 0 8px 30px rgba(41,38,36,.12); }
.info-theme .contact-card-icon { background: var(--maikai-tint); color: var(--maikai-green); }
.info-theme :is(.form-input,.form-select,.form-textarea) { color: var(--maikai-navy); background: #fff; border-color: #c7b9aa; accent-color: var(--maikai-green); }
.info-theme :is(.form-input,.form-select,.form-textarea):focus { border-color: var(--maikai-green); box-shadow: 0 0 0 3px rgba(198,185,170,.3); }
/* Required/error colors retain their semantic distinction. */
.info-theme .form-required { color: #a83f49; }
.info-theme :is(.form-notice,.map-container,.tokusho-table th,.plan-info) { background: var(--maikai-tint); }
.info-theme :is(.tokusho-note,.tokusho-warning) { background: var(--maikai-tint); border-color: var(--maikai-green); }
.info-theme :is(.tokusho-note p,.tokusho-warning p) { color: var(--maikai-ink); }

/* Existing recruitment/marketing components */
.legacy-service :is(.solution-section,.strategy-section,.flow-section,.plan-initial) { background: var(--maikai-tint); }
.legacy-service :is(.problem-card,.problem-item,.step-card) { border-color: #baa68f; }
.legacy-service :is(.problem-card,.problem-item,.step-card,.strategy-card,.plan-card,.flow-step,.faq-item) { background: #fff; box-shadow: 0 4px 20px rgba(41,38,36,.06); }
.legacy-service :is(.plan-card,.faq-item,.plan-features li,.comparison-table th,.comparison-table td) { border-color: var(--maikai-line); }
.legacy-service .plan-card.featured { background: #f5f0e7; border-color: var(--maikai-green); box-shadow: 0 10px 35px rgba(41,38,36,.1); }
.legacy-service :is(.feature-icon,.strategy-item-icon) { background: var(--maikai-tint); color: var(--maikai-green); }
.legacy-service :is(.step-number,.flow-number,.strategy-icon-lg,.faq-q,.plan-badge) { background: var(--maikai-navy); color: #fff; }
.legacy-service :is(.plan-initial-new,.plan-features i) { color: var(--maikai-green); }
.legacy-service :is(.problem-text,.problem-desc,.step-subtitle,.strategy-subtitle,.strategy-item-text,.plan-price-note,.flow-text,.faq-answer) { color: var(--maikai-muted); }
.legacy-service .comparison-table thead { background: var(--maikai-navy); color: #fff; }
.legacy-service .comparison-table tbody tr:nth-child(even),
.legacy-service .faq-question:hover { background: var(--maikai-tint); }
.legacy-service .comparison-winner { background: #e9e1d5 !important; color: var(--maikai-green); }

/* Navy emphasis areas replace old black/gold banners. */
.mint-theme :is(.section-dark,.svc-cta,.fly-cta,.result-box,.solution-hero,.set-plan-banner,.campaign-banner,#kiwami-plan) {
    background: var(--maikai-navy) !important;
    color: #fff;
    border-color: var(--maikai-green) !important;
}
.mint-theme :is(.svc-cta,.fly-cta)::before { background: radial-gradient(circle,rgba(198,185,170,.12),transparent 65%); }
.mint-theme :is(.section-dark,.svc-cta,.fly-cta,.result-box,.solution-hero,.set-plan-banner,.campaign-banner,#kiwami-plan) :is(h1,h2,h3,h4,p,span,strong,small,li,.solution-label,.solution-text,.plan-name,.plan-price) { color: #f3efe6 !important; text-shadow: none !important; }
.mint-theme :is(.svc-cta-eyebrow,.fly-cta-eyebrow,.campaign-price-new,.result-highlight,.set-plan-price-new) { color: var(--maikai-mint) !important; }
.mint-theme :is(.svc-cta-lead,.fly-cta-lead,.svc-cta-note,.fly-cta-note,.campaign-note) { color: #dacfc2 !important; }
.mint-theme :is(.campaign-badge,.set-plan-badge,.set-plan-save) { background: var(--maikai-mint); color: var(--maikai-navy); }
.mint-theme .solution-card { background: rgba(255,255,255,.06); border-color: rgba(198,185,170,.3); }
.mint-theme #kiwami-plan { box-shadow: 0 8px 32px rgba(41,38,36,.14) !important; }
.mint-theme #kiwami-plan [style] { text-shadow: none !important; box-shadow: none !important; }
.mint-theme #kiwami-plan [style*="background"] { background: rgba(198,185,170,.1) !important; border-color: rgba(198,185,170,.35) !important; }
.mint-theme #kiwami-plan :is([style*="#FFFF00" i],[style*="#FFD700" i]) { color: var(--maikai-mint) !important; }
.mint-theme #kiwami-plan :is(.plan-badge,.btn) { background: var(--maikai-mint) !important; color: var(--maikai-navy) !important; border-color: var(--maikai-mint) !important; }

/* Button color pairs come last so both normal and hover text stay legible. */
.mint-theme :is(.btn-primary,.btn-secondary,.btn-primary-blue,.btn-primary-amber,.btn-plan.primary,.btn-plan-amber.primary) { color: #fff !important; background: var(--maikai-navy) !important; border-color: var(--maikai-navy) !important; }
.mint-theme :is(.btn-primary,.btn-secondary,.btn-primary-blue,.btn-primary-amber,.btn-plan.primary,.btn-plan-amber.primary):hover { color: #fff !important; background: var(--maikai-green) !important; border-color: var(--maikai-green) !important; }
.mint-theme :is(.btn-outline,.btn-outline-white,.btn-plan:not(.primary),.btn-plan-amber:not(.primary),.btn-link) { color: var(--maikai-navy) !important; background: transparent; border-color: #bca994; }
.mint-theme :is(.btn-outline,.btn-outline-white,.btn-plan:not(.primary),.btn-plan-amber:not(.primary)):hover { color: var(--maikai-green) !important; background: var(--maikai-tint); border-color: var(--maikai-green); }
.mint-theme .btn-white { background: var(--maikai-mint); color: var(--maikai-navy); }
.mint-theme .btn-white:hover { background: #e9dfd0; }
.mint-theme :is(.section-dark,.svc-cta,.fly-cta) :is(.btn-primary,.btn-primary-blue,.btn-primary-amber,.btn-white) { color: var(--maikai-navy) !important; background: var(--maikai-mint) !important; border-color: var(--maikai-mint) !important; }
.mint-theme :is(.section-dark,.svc-cta,.fly-cta) :is(.btn-primary,.btn-primary-blue,.btn-primary-amber,.btn-white):hover { background: #e9dfd0 !important; border-color: #e9dfd0 !important; }
.mint-theme :is(.section-dark,.svc-cta,.fly-cta) .btn-outline-white { color: #f3efe6 !important; background: transparent; border-color: #a79583; }
.mint-theme :is(.section-dark,.svc-cta,.fly-cta) .btn-outline-white:hover { color: var(--maikai-navy) !important; background: #f3efe6; }

/* Existing bottom bar: change palette, not placement or sizing. */
.mint-theme .fixed-bottom-buttons { background: #fff; border-color: var(--maikai-line); box-shadow: 0 -4px 22px rgba(41,38,36,.1); }
.mint-theme .fixed-bottom-btn,
.mint-theme .fixed-bottom-btn:first-child { background: var(--maikai-tint); color: var(--maikai-navy); border-color: var(--maikai-line); }
.mint-theme .fixed-bottom-btn:nth-child(2) { background: #f1ebe1; color: var(--maikai-navy); }
.mint-theme .fixed-bottom-btn:last-child { background: var(--maikai-navy); color: #fff; }
.mint-theme .fixed-bottom-btn :is(.fixed-btn-text,.fixed-btn-title,.fixed-btn-service,.fixed-btn-price,.fixed-btn-icon,strong) { color: inherit; }
.mint-theme .fixed-bottom-btn:hover { background: #e6dacb; }
.mint-theme .fixed-bottom-btn:last-child:hover { background: var(--maikai-green); }
