:root{
  --jitsu-primary:#6B4C8C;
  --jitsu-dark:#3F2D55;
  --jitsu-light:#EEE8F4;
  --jitsu-accent:#A17BB8;
  --jitsu-bg:#FBF9FC;
  --jitsu-text:#292624;
  --nudge-brand:#3d6a85;
  --nudge-brand-dark:#294a5e;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif;
  color:var(--jitsu-text);
  background:var(--jitsu-bg);
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

/* ===== Header (common) ===== */
.toi-header{background:#fff;border-bottom:1px solid rgba(41,38,36,0.08);position:sticky;top:0;z-index:100;}
.toi-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;max-width:1200px;margin:0 auto;}
.toi-header-logo{font-size:1.15rem;font-weight:700;letter-spacing:0.02em;flex:0 0 auto;}
.toi-brand{color:#22242a;}
.nudge-brand{color:var(--nudge-brand);}
.toi-header-breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.85rem;flex-wrap:wrap;justify-content:center;flex:1 1 auto;}
.toi-breadcrumb-link{color:#55595f;text-decoration:none;}
.toi-breadcrumb-link:hover{text-decoration:underline;}
.toi-breadcrumb-sep{color:#aab0b6;}
.toi-header-contact{flex:0 0 auto;}
.toi-header-contact-btn{display:inline-block;background:var(--nudge-brand);color:#fff;padding:10px 20px;border-radius:999px;font-size:0.85rem;font-weight:700;text-decoration:none;white-space:nowrap;}
.toi-header-contact-btn:hover{background:var(--nudge-brand-dark);}
@media(max-width:760px){
  .toi-header-inner{flex-wrap:wrap;justify-content:center;padding:12px 16px;}
  .toi-header-logo{order:1;}
  .toi-header-contact{order:2;}
  .toi-header-breadcrumb{order:3;width:100%;justify-content:center;padding-top:8px;margin-top:8px;border-top:1px solid rgba(41,38,36,0.06);}
}

/* ===== FV ===== */
.fv{padding:64px 0 56px;background:linear-gradient(180deg,#fff 0%,var(--jitsu-bg) 100%);}
.fv-badge{display:inline-block;background:var(--jitsu-light);color:var(--jitsu-dark);border-radius:999px;padding:7px 18px;font-size:0.85rem;font-weight:700;margin-bottom:22px;}
.fv h1{font-size:2.6rem;line-height:1.6;font-weight:800;color:var(--jitsu-dark);margin:0 0 26px;}
.fv-sub{font-size:1.05rem;line-height:2;margin:0 0 20px;max-width:760px;}
.fv-supplement{font-size:0.95rem;line-height:1.9;color:#5a5750;border-left:4px solid var(--jitsu-accent);padding-left:16px;max-width:700px;margin:0 0 40px;}
.fv-visual{margin-top:20px;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(63,45,85,0.18);}
@media(max-width:640px){.fv h1{font-size:1.9rem;}}

/* ===== Section shell ===== */
.sec{padding:64px 0;}
.sec-alt{background:#fff;}
.section-label{display:inline-block;font-size:0.8rem;font-weight:700;letter-spacing:0.08em;color:var(--jitsu-primary);text-transform:uppercase;margin-bottom:14px;}
.sec-title{font-size:1.5rem;line-height:1.7;font-weight:800;color:var(--jitsu-dark);margin:0 0 30px;}
.sec-lead{font-size:1rem;line-height:2;margin:0 0 24px;}
@media(max-width:640px){.sec{padding:48px 0;}.sec-title{font-size:1.25rem;}}

/* ===== issue / check lists ===== */
.issue-list{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;}
.issue-list li{background:#fff;border-radius:8px;padding:13px 16px 13px 36px;position:relative;border:1px solid rgba(41,38,36,0.08);font-size:0.95rem;}
.issue-list li::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--jitsu-primary);}
.sec-alt .issue-list li{background:var(--jitsu-bg);}
.check-list li{padding-left:38px;}
.check-list li::before{content:"✓";background:none;width:auto;height:auto;top:14px;left:14px;transform:none;color:var(--jitsu-primary);font-weight:700;font-size:1rem;}

/* ===== core message ===== */
.core-message{background:var(--jitsu-dark);color:#fff;border-radius:14px;padding:22px 26px;font-weight:700;font-size:1.05rem;line-height:1.9;margin-top:32px;}

/* ===== vertical flow ===== */
.flow-vertical{display:flex;flex-direction:column;align-items:center;gap:0;max-width:520px;margin:32px auto 8px;}
.flow-vertical .flow-chip{width:100%;text-align:center;background:#fff;border:1px solid rgba(41,38,36,0.1);border-radius:10px;padding:13px 18px;font-weight:700;color:var(--jitsu-text);font-size:0.95rem;}
.flow-vertical .flow-arrow-down{color:var(--jitsu-primary);font-size:1.3rem;line-height:1;margin:4px 0;}

/* ===== section visual (replaced diagram image) ===== */
.sec-visual{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 8px 30px rgba(63,45,85,0.18);margin:32px auto 8px;}
.sec-visual-scroll{margin:32px auto 8px;}
@media(max-width:640px){
  .sec-visual-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .sec-visual-scroll .sec-visual{width:auto;max-width:none;margin:0;}
}

/* ===== horizontal chip flow / chip rows ===== */
.flow-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:center;margin:28px 0 6px;}
.flow-chip{background:var(--jitsu-light);color:var(--jitsu-dark);border-radius:999px;padding:10px 18px;font-weight:700;font-size:0.9rem;white-space:nowrap;}
.flow-arrow{color:var(--jitsu-primary);font-size:1.2rem;font-weight:700;}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:26px 0 6px;}
.chip-row .chip{background:var(--jitsu-light);color:var(--jitsu-dark);border-radius:999px;padding:9px 16px;font-weight:600;font-size:0.88rem;}

/* ===== qa grid ===== */
.qa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0;}
.qa-card{background:#fff;border:1px solid rgba(107,76,140,0.18);border-left:4px solid var(--jitsu-accent);border-radius:10px;padding:16px 18px;font-weight:600;color:var(--jitsu-text);font-size:0.95rem;}
.sec-alt .qa-card{background:var(--jitsu-bg);}

/* ===== question lead (highlighted question above options) ===== */
.question-lead{background:var(--jitsu-light);border-radius:12px;padding:18px 22px;font-weight:700;color:var(--jitsu-dark);font-size:1.05rem;margin:0 0 8px;display:inline-block;}

/* ===== transform pairs (Before/After) ===== */
.pair-list{display:flex;flex-direction:column;gap:14px;margin:28px 0 6px;max-width:760px;}
.pair-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border-radius:12px;padding:16px 20px;border:1px solid rgba(41,38,36,0.08);}
.pair-before{flex:1 1 260px;color:#6b6a5f;font-size:0.92rem;}
.pair-before .tag{display:inline-block;background:#efece3;color:#6b6a5f;border-radius:6px;padding:2px 10px;font-size:0.72rem;font-weight:700;margin-right:8px;vertical-align:middle;}
.pair-arrow{flex:0 0 auto;color:var(--jitsu-primary);font-size:1.2rem;font-weight:700;}
.pair-after{flex:1 1 260px;color:var(--jitsu-dark);font-weight:700;font-size:0.98rem;}
.pair-after .tag{display:inline-block;background:var(--jitsu-primary);color:#fff;border-radius:6px;padding:2px 10px;font-size:0.72rem;font-weight:700;margin-right:8px;vertical-align:middle;}

/* ===== category + question cards ===== */
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0 6px;}
.category-card{background:#fff;border-left:4px solid var(--jitsu-accent);border-radius:10px;padding:16px 18px;border:1px solid rgba(41,38,36,0.08);}
.category-card .cat-label{display:inline-block;font-size:0.72rem;font-weight:700;color:var(--jitsu-primary);background:var(--jitsu-light);border-radius:999px;padding:3px 12px;margin-bottom:10px;}
.category-card .cat-question{font-weight:700;color:var(--jitsu-text);font-size:0.95rem;}

/* ===== compare grid (2 col) ===== */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 6px;}
.compare-col{background:#fff;border-radius:14px;padding:24px;border:1px solid rgba(41,38,36,0.08);}
.compare-col.is-highlight{border:2px solid var(--jitsu-primary);box-shadow:0 6px 18px rgba(107,76,140,0.16);}
.compare-col h3{color:var(--jitsu-dark);font-size:1rem;margin:0 0 16px;}
.compare-col ul{margin:0;padding-left:1.2em;font-size:0.92rem;}
.compare-col ul li{margin-bottom:8px;}
.compare-field-label{font-weight:700;color:var(--jitsu-primary);font-size:0.78rem;letter-spacing:0.04em;margin:16px 0 8px;}
.compare-field-label:first-of-type{margin-top:0;}
.compare-quote{background:var(--jitsu-light);border-radius:8px;padding:10px 14px;font-weight:700;color:var(--jitsu-dark);font-size:0.92rem;margin:0 0 4px;}
.compare-note{margin:12px 0 0;font-size:0.86rem;color:#6b6a5f;}
@media(max-width:700px){.compare-grid{grid-template-columns:1fr;}}

/* ===== info cards (examples) ===== */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:28px 0 6px;}
.info-card{background:#fff;border-radius:14px;padding:24px;border-top:4px solid var(--jitsu-accent);}
.info-card h3{color:var(--jitsu-dark);margin:0 0 12px;font-size:1.02rem;}
.info-card p{margin:0;font-size:0.92rem;}

/* ===== implementation cards ===== */
.impl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:28px 0 6px;}
.impl-card{background:#fff;border-radius:14px;padding:24px;border-top:4px solid var(--jitsu-primary);}
.impl-card h3{color:var(--jitsu-dark);margin:0 0 12px;font-size:1.05rem;}
.impl-card p{margin:0 0 10px;font-size:0.92rem;}

/* ===== tier flow (toi -> nudge -> toi-nudge) ===== */
.tier-flow{display:flex;flex-direction:column;align-items:center;gap:0;max-width:640px;margin:32px auto 8px;}
.tier-card{width:100%;background:#fff;border:1px solid rgba(41,38,36,0.08);border-left:6px solid var(--jitsu-primary);border-radius:12px;padding:20px 24px;}
.tier-card .tier-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--jitsu-primary);color:#fff;font-weight:700;font-size:0.85rem;margin-right:10px;vertical-align:middle;}
.tier-card h3{display:inline;color:var(--jitsu-dark);font-size:1.05rem;margin:0;vertical-align:middle;}
.tier-card p{margin:12px 0 0;font-size:0.92rem;}
.tier-flow .flow-arrow-down{color:var(--jitsu-primary);font-size:1.3rem;line-height:1;margin:4px 0;}

/* ===== mind steps (question -> thought process, 5 steps) ===== */
.mind-steps{display:flex;flex-direction:column;align-items:stretch;gap:0;max-width:640px;margin:32px auto 8px;}
.mind-step{display:flex;gap:16px;background:#fff;border:1px solid rgba(41,38,36,0.08);border-radius:12px;padding:20px 22px;align-items:flex-start;}
.mind-step-num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--jitsu-primary);color:#fff;font-weight:700;font-size:0.95rem;}
.mind-step-body{flex:1 1 auto;}
.mind-step-body h3{margin:0 0 10px;font-size:1rem;color:var(--jitsu-dark);}
.mind-step-q{background:var(--jitsu-light);display:inline-block;border-radius:8px;padding:6px 14px;font-weight:700;color:var(--jitsu-dark);font-size:0.92rem;margin:0 0 8px;}
.mind-step-effect{margin:0;font-size:0.88rem;color:#6b6a5f;}
.mind-steps .flow-arrow-down{color:var(--jitsu-primary);font-size:1.3rem;line-height:1;margin:2px 0;text-align:center;}

/* ===== badge ===== */
.badge{display:inline-block;background:var(--jitsu-light);color:var(--jitsu-dark);border-radius:999px;padding:7px 18px;font-size:0.82rem;font-weight:700;margin-bottom:16px;}

/* ===== note ===== */
.note-text{font-size:0.86rem;color:#6b6a5f;margin-top:18px;line-height:2;}

/* ===== summary lines ===== */
.summary-lines{max-width:640px;margin:28px auto 0;background:var(--jitsu-light);border-radius:14px;padding:24px 28px;}
.summary-lines p{margin:0 0 10px;font-weight:700;color:var(--jitsu-dark);font-size:0.98rem;line-height:1.9;}
.summary-lines p:last-child{margin-bottom:0;}

/* ===== mothership banner ===== */
.banner{padding:56px 0;}
.banner-box{background:#fff;border:2px dashed var(--jitsu-primary);border-radius:18px;padding:44px 32px;text-align:center;}
.banner-box h2{font-size:1.3rem;color:var(--jitsu-dark);margin:0 0 14px;line-height:1.7;}
.banner-box .sec-lead{margin:0 auto 22px;max-width:640px;}
.banner-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:10px;}

/* ===== buttons ===== */
.btn-primary{display:inline-block;background:var(--jitsu-primary);color:#fff;padding:16px 38px;border-radius:999px;font-weight:700;text-decoration:none;font-size:1.02rem;}
.btn-primary:hover{background:var(--jitsu-dark);}
.btn-outline{display:inline-block;background:#fff;color:var(--jitsu-primary);border:2px solid var(--jitsu-primary);padding:14px 34px;border-radius:999px;font-weight:700;text-decoration:none;font-size:0.98rem;}
.btn-outline:hover{background:var(--jitsu-light);}

/* ===== final CTA ===== */
.final-cta{background:var(--jitsu-dark);color:#fff;padding:70px 0;text-align:center;}
.final-cta h2{font-size:1.5rem;line-height:1.7;margin:0 0 28px;}
.final-cta .btn-primary{background:#fff;color:var(--jitsu-dark);}
.final-cta .btn-primary:hover{background:var(--jitsu-light);}
.final-cta .btn-secondary-link{display:block;margin-top:18px;color:#dcc9e6;text-decoration:underline;font-size:0.92rem;}
.final-cta .cta-note{max-width:640px;margin:28px auto 0;font-size:0.9rem;line-height:2;color:#e3d4ea;}

/* ===== theme nav ===== */
.jitsu-theme-nav{padding:60px 0 70px;background:#fff;border-top:1px solid rgba(41,38,36,0.08);}
.jitsu-theme-nav-inner{max-width:1000px;margin:0 auto;text-align:center;}
.jitsu-theme-nav-title{font-size:1.3rem;color:var(--jitsu-dark);margin:0 0 12px;font-weight:800;}
.jitsu-theme-nav-lead{color:#6b6a5f;margin:0 0 30px;line-height:1.9;font-size:0.95rem;}
.jitsu-theme-nav-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0;margin:0;text-align:left;}
.jitsu-theme-nav-list li a{display:block;background:var(--jitsu-bg);border:1px solid rgba(41,38,36,0.1);border-radius:8px;padding:13px 14px;color:var(--jitsu-text);text-decoration:none;font-size:0.88rem;font-weight:600;}
.jitsu-theme-nav-list li a:hover{background:var(--jitsu-light);}
.jitsu-theme-nav-list li a.is-current{background:var(--jitsu-primary);color:#fff;border-color:var(--jitsu-primary);}
@media(max-width:880px){.jitsu-theme-nav-list{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.jitsu-theme-nav-list{grid-template-columns:repeat(2,1fr);}}

/* ===== footer (common) ===== */
.toi-footer{background:#f5f4f0;border-top:1px solid rgba(41,38,36,0.08);padding:30px 24px;color:#44484c;}
.toi-footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.toi-footer-copy{font-size:0.85rem;color:#6b6f74;margin:0;}
.toi-footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:0.85rem;}
.toi-footer-links a{text-decoration:none;color:#44484c;}
.toi-footer-links a:hover{text-decoration:underline;}
.toi-footer .toi-brand{color:#44484c;}
@media(max-width:640px){.toi-footer-inner{flex-direction:column;text-align:center;}}
