        .pd_wrapper {
            --pd-color-primary: #2c3e50;
            --pd-color-accent: #8e7e63;
            --pd-color-accent-light: #f4f1ea;
            --pd-color-text: #444444;
            --pd-color-bg: #fdfcfb;
            --pd-color-white: #ffffff;
            --pd-color-green: #556b2f;
            --pd-font-mincho: 'Zen Old Mincho', serif;
            --pd-font-gothic: 'Noto Sans JP', sans-serif;
            --pd-container-width: 960px;
        }

        /* Scope everything under pd_wrapper to avoid conflicts */
        .pd_wrapper {
            font-family: var(--pd-font-gothic);
            color: var(--pd-color-text);
            background-color: var(--pd-color-bg);
            line-height: 1.5;
            /* Compact line height */
            font-size: 15px !important;
            /* Slightly smaller base font */
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .pd_wrapper *,
        .pd_wrapper *::before,
        .pd_wrapper *::after {
            box-sizing: border-box;
        }

        .pd_container {
            max-width: var(--pd-container-width);
            margin: 0 auto;
            padding: 20px;
        }

        .pd_wrapper h1,
        .pd_wrapper h2,
        .pd_wrapper h3,
        .pd_wrapper h4,
        .pd_wrapper h5,
        .pd_wrapper h6 {
            margin: 0;
            padding: 0;
            border: none;
            background: none;
            font-weight: normal;
            box-shadow: none;
            text-shadow: none;
        }

        /* Reset pseudo-elements for headers to avoid theme interference */
        .pd_wrapper h1::before, .pd_wrapper h1::after,
        .pd_wrapper h2::before, .pd_wrapper h2::after,
        .pd_wrapper h3::before, .pd_wrapper h3::after,
        .pd_wrapper h4::before, .pd_wrapper h4::after {
            content: none;
            display: none;
            border: none;
            background: none;
        }

        .pd_wrapper h1 {
            font-family: var(--pd-font-mincho);
            color: var(--pd-color-primary);
            line-height: 1.3;
            font-size: 35px !important;
            margin-bottom: 50px;
            text-align: center;
            letter-spacing: 0.15em;
            position: relative;
            display: table;
            margin-left: auto;
            margin-right: auto;
        }

        /* Re-apply ::after for h1 specifically */
        .pd_wrapper h1::after {
            content: '';
            display: block;
            width: 40px;
            height: 1px;
            background-color: var(--pd-color-accent);
            margin: 15px auto 0;
        }

        .pd_wrapper h2,
        .pd_wrapper h3,
        .pd_wrapper h4 {
            font-family: var(--pd-font-mincho);
            color: var(--pd-color-primary);
            line-height: 1.3;
        }

        .pd_wrapper h2 {
            font-size: 28px !important;
            margin-top: 40px;
            margin-bottom: 20px;
            text-align: center;
            border-bottom: 2px solid var(--pd-color-accent);
            display: inline-block;
            padding-bottom: 8px;
            width: 100%;
        }

        .pd_wrapper h3 {
            font-size: 21px !important;
            margin-top: 25px;
            margin-bottom: 15px;
            color: var(--pd-color-accent);
            border-left: 4px solid var(--pd-color-accent);
            padding-left: 10px;
        }

        .pd_wrapper h4 {
            font-size: 17px !important;
            margin-top: 15px;
            margin-bottom: 8px;
            font-weight: bold;
        }

        .pd_wrapper p {
            margin-bottom: 1em;
            /* Reduced margin */
            text-align: justify;
        }

        .pd_wrapper ul {
            list-style: none;
            padding-left: 0;
            margin-bottom: 1.5em;
        }

        .pd_wrapper li {
            margin-bottom: 0.3em;
            padding-left: 1.2em;
            position: relative;
        }

        .pd_wrapper li::before {
            content: "・";
            position: absolute;
            left: 0;
            color: var(--pd-color-accent);
            font-weight: bold;
        }

        .pd_section {
            margin-bottom: 40px;
            /* Reduced section spacing */
        }

        .pd_box-feature {
            background-color: var(--pd-color-white);
            padding: 20px;
            border: 1px solid #eee;
            border-radius: 6px;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
        }

        .pd_grid-2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
        }

        .pd_card {
            background: var(--pd-color-accent-light);
            padding: 20px;
            border-radius: 6px;
        }

        .pd_card-title {
            font-family: var(--pd-font-mincho);
            font-size: 19px !important;
            color: var(--pd-color-primary);
            margin-bottom: 5px;
            text-align: center;
            font-weight: bold;
        }

        .pd_card-subtitle {
            text-align: center;
            display: block;
            margin-bottom: 15px;
            font-size: 14px !important;
            color: var(--pd-color-text);
        }

        .pd_laws-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
        }

        .pd_law-box {
            background: #fff;
            padding: 15px;
            border: 1px solid var(--pd-color-accent);
            text-align: center;
        }

        .pd_law-title {
            font-weight: bold;
            color: var(--pd-color-accent);
            display: block;
            margin-bottom: 8px;
            font-size: 16px !important;
        }

        .pd_specs-section {
            background-color: #f9f9f9;
            padding: 25px;
            border-radius: 6px;
        }

        .pd_spec-block {
            margin-bottom: 20px;
            background: white;
            padding: 25px;
            border: 1px solid #e0e0e0;
            border-radius: 6px;
        }

        /* Remove margin from last child in blocks to be tighter */
        .pd_spec-block *:last-child {
            margin-bottom: 0;
        }

        .pd_logo-placeholder {
            text-align: center;
            font-size: 29px !important;
            font-family: var(--pd-font-mincho);
            margin: 40px 0;
            color: var(--pd-color-primary);
            letter-spacing: 0.15rem;
        }

        .pd_pro-message {
            background-color: #f4f6f8;
            padding: 25px;
            border-radius: 6px;
        }

        .pd_pro-item-title {
            font-weight: bold;
            color: var(--pd-color-primary);
            display: block;
            margin-top: 1.2em;
            margin-bottom: 0.3em;
        }

        .pd_highlight-text {
            color: var(--pd-color-primary);
            font-weight: 500;
        }

        .pd_text-center {
            text-align: center;
        }

        .pd_text-right {
            text-align: right;
        }

        .pd_font-bold {
            font-weight: bold;
        }

        .pd_mt-20 {
            margin-top: 20px;
        }

        .pd_mt-40 {
            margin-top: 40px;
        }

        .pd_specs-grid-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
        }

        .pd_specs-grid-container .pd_spec-block {
            margin-bottom: 0;
            height: 100%;
        }

        .pd_spec-block h3 {
            margin-top: 0;
        }

        @media (max-width: 768px) {

            .pd_grid-2,
            .pd_laws-grid,
            .pd_specs-grid-container {
                grid-template-columns: 1fr;
            }

            .pd_laws-grid {
                width: 100%;
            }
        }

        .pd_message-large {
            font-family: var(--pd-font-mincho);
            font-size: 19px !important;
            font-weight: bold;
            text-align: center !important;
            color: var(--pd-color-primary);
            margin-top: 50px;
            margin-bottom: 40px;
            line-height: 1.6;
        }
