.pseo-hero {text-align:center;padding:80px 24px 48px;border-bottom:0px solid #e8e8e8;}
.pseo-hero-jp {font-size:12px;color:#BC002D;letter-spacing:0.2em;font-weight:700;text-transform:uppercase;margin-bottom:14px;}
.pseo-hero h1{font-size:clamp(32px,6vw,52px);font-weight:700;color:#111;margin-bottom:12px;line-height:1.1;}
.pseo-hero h1 em {font-style:normal;color:#BC002D;}
.pseo-wrap {max-width:720px;margin:0 auto;padding:48px 24px 32px;}
.pseo-section {margin-bottom:48px;}
.pseo-section h2 {font-size:28px;font-weight:700;color:#111;margin-bottom:20px;line-height:1.2;}
.pseo-section h3 {font-size:20px;font-weight:700;color:#111;margin-bottom:16px;line-height:1.3;}
.pseo-section p {font-size:16px;color:#444;line-height:1.7;margin-bottom:16px;}
.pseo-card {background:#fafafa;border:1.5px solid #e8e8e8;border-radius:10px;padding:28px;margin-bottom:24px;}
.pseo-card .jp-big {font-size:48px;color:#BC002D;font-weight:700;margin-bottom:8px;}
.pseo-card .romaji {font-size:20px;color:#666;font-style:italic;margin-bottom:4px;}
.pseo-card .english {font-size:16px;color:#444;}
.sentence-box {background:#fff;border:1.5px solid #e8e8e8;border-radius:8px;padding:20px;margin-bottom:16px;}
.sentence-box .jp {font-size:18px;color:#111;font-weight:600;margin-bottom:6px;}
.sentence-box .rom {font-size:14px;color:#666;font-style:italic;margin-bottom:4px;}
.sentence-box .eng {font-size:14px;color:#555;}
.pseo-img {text-align:center;margin-bottom:32px;}
.pseo-img img {max-width:100%;height:auto;border-radius:10px;}
.pseo-cta {max-width:700px;margin:0 auto;padding:0 24px 80px;text-align:center;}
.pseo-cta-box {background:#fafafa;border:1.5px solid #e8e8e8;border-radius:10px;padding:40px 28px;}
.pseo-cta-box h3{font-size:22px;font-weight:700;color:#111;margin:0 0 8px;}
.pseo-cta-box p {font-size:16px;color:#555;margin:0 0 24px;line-height:1.6;}
.pseo-cta-btn {display:inline-block;padding:16px 48px;background:#BC002D;color:#fff;font-size:15px;font-weight:700;border-radius:8px;text-decoration:none;text-transform:uppercase;letter-spacing:0.05em;transition:background 0.15s;}
.pseo-cta-btn:hover {background:#8f0020;}
.internal-link {color:#BC002D;text-decoration:none;font-weight:600;}
.internal-link:hover {text-decoration:underline;}
.nofollow-link {color:#666;text-decoration:none;}
.nofollow-link:hover {text-decoration:underline;}
@media(max-width:600px){
.pseo-hero {padding:60px 16px 36px;}
.pseo-wrap {padding:36px 16px 24px;}
.pseo-card .jp-big {font-size:36px;}
}

/* === EMBEDDED TRANSLATOR DEMO (PSEO pages) === */
.demo-cta { max-width:700px;margin:48px auto;padding:40px 32px;background:#fafafa;border:1.5px solid #e8e8e8;border-radius:10px;text-align:center; }
.demo-cta h3 { font-size:24px;font-weight:700;color:#111;margin:0 0 10px; }
.demo-cta > p { font-size:16px;color:#555;margin:0 0 28px;line-height:1.6; }
.demo-input-wrap { position:relative;margin-bottom:12px;text-align:left; }
.demo-input-wrap .flag { position:absolute;top:14px;left:14px;font-size:20px;line-height:1; }
.demo-input-wrap textarea { width:100%;padding:14px 14px 14px 44px;border:1.5px solid #e8e8e8;border-radius:8px;font-size:16px;font-family:inherit;min-height:70px;resize:vertical;background:#fff;box-sizing:border-box; }
.demo-input-wrap textarea:focus { outline:none;border-color:#BC002D; }
.demo-foot { display:flex;justify-content:space-between;align-items:center;padding:0 4px 20px;font-size:13px;color:#888;font-weight:600;text-align:left; }
.demo-output { border:1.5px solid #e8e8e8;border-radius:8px;padding:20px;background:#fff;text-align:left;position:relative;min-height:60px; }
.demo-output .flag { font-size:20px;margin-bottom:12px;display:block;line-height:1; }
.demo-row { display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f0f0f0;position:relative; }
.demo-row:last-child { border-bottom:none; }
.demo-label { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#BC002D;min-width:70px;padding-top:2px;flex-shrink:0; }
.demo-text { flex:1;font-size:18px;font-weight:700;color:#111;line-height:1.4; }
.demo-text.rom { font-size:15px;font-weight:400;color:#BC002D; }
.demo-blur { filter:blur(5px);opacity:0.35;pointer-events:none;user-select:none; }
.demo-wrap { position:relative;flex:1; }
.demo-badge { position:absolute;top:50%;right:0;transform:translateY(-50%);background:#BC002D;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:7px 14px;border-radius:6px;white-space:nowrap;z-index:2;box-shadow:0 2px 12px rgba(188,0,45,0.25);cursor:pointer;text-decoration:none;transition:background 0.15s;display:inline-block; }
.demo-badge:hover { background:#8f0020; }
.demo-spinner { display:none;text-align:center;padding:20px; }
.demo-spinner.on { display:block; }
.demo-spinner .dot { width:6px;height:6px;background:#BC002D;border-radius:50%;display:inline-block;margin:0 3px;animation:demoBounce 1.4s infinite ease-in-out both; }
.demo-spinner .dot:nth-child(1){animation-delay:-0.32s;}
.demo-spinner .dot:nth-child(2){animation-delay:-0.16s;}
@keyframes demoBounce{0%,80%,100%{transform:scale(0);}40%{transform:scale(1);} }