
    /* ============================================================
       2-1. ネットワーク帯ラベルの 1 行強制 (specificity 強化)
       compliance plugin が出力する .wn-network-card__label を、
       カード内のどの位置でも 1 行に収める。 ellipsis で末尾省略。
       ============================================================ */
    .wn-network-card__label,
    .entry-content .wn-network-card__label,
    body .entry-content .wn-network-card__label {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: clamp(.74rem, 1.4vw, .82rem);
        line-height: 1.55;
        max-width: 100%;
        letter-spacing: -.01em;
    }
    /* 1 行化のためカード本体の padding-right を確保 */
    .wn-network-card,
    .wn-network__card,
    .entry-content .wp-block-column:has(.wn-network-card__label) {
        min-width: 0;
    }

    /* ============================================================
       2-2. トップ「公式（このサイト）」カードのリンク末尾 → の重複対策。
       テキスト末尾の "→" 文字は OB で除去済み。さらに ::after が "→" を付与する。
       wn-svc-link / btn の content:"→" は既存 main.css にあり、重複は OB で吸収する。
       ============================================================ */

    /* ============================================================
       2-3. /contact/ ページの H1 → 3 カード columns 間の過大空白を縮小。
       原因候補: パターン由来の空 spacer / reveal-init の transform。
       ============================================================ */
    /* spacer はテーマ標準の height 属性を尊重しつつ、
       /contact/ ページに限って max-height で上限を絞る。 */
    body.page-id-contact .entry-content > .wp-block-spacer,
    body.page.page-id-contact .entry-content > .wp-block-spacer,
    body .entry-content > .wp-block-spacer[style*="height"] {
        max-height: clamp(1rem, 2vw, 1.75rem);
    }
    body.page .entry-content .wn-section + .wp-block-columns,
    body.page .entry-content > p + .wp-block-columns,
    body.page .entry-content > h1 + .wp-block-columns,
    body.page .entry-content > h2 + .wp-block-columns {
        margin-top: clamp(1.25rem, 2.5vw, 2rem);
    }
    /* 大空白の主犯と思われる空 paragraph を視覚的に詰める */
    body.page .entry-content > p:empty,
    body.page .entry-content > p:has(br:only-child) {
        margin: 0;
        line-height: 0;
        height: 0;
    }

    /* ============================================================
       2-4. プロフィール写真の表示保証（300x300 サムネ利用時の品質補正）
       ============================================================ */
    .wn-pwe-profile .wn-pwe-intro__portrait {
        position: relative;
        max-width: 320px;
        margin: 0 auto;
    }
    .wn-pwe-profile .wn-pwe-intro__portrait img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        border-radius: 12px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
        background: transparent;
        min-height: 0;
        image-rendering: -webkit-optimize-contrast;
    }
    /* 既存 design-polish.php で min-height:240px と background gradient を当てているが、
       実画像表示時は不要なので打ち消し。 */
    .wn-pwe-profile .wn-pwe-intro__portrait:not(.is-fallback) img {
        background-image: none;
        background-color: transparent;
        min-height: 0;
    }
    /* fallback クラスが付いている場合のみ SVG プレースホルダーを表示 */

    /* ============================================================
       2-5. トップ「PROFILE」カード — 見出し直前に直接挿入された
            <figure class="wn-top-profile-photo"> のレイアウト。
            親カードの構造を問わず確実に表示。
       ============================================================ */
    .wn-top-profile-photo {
        display: block;
        width: 96px;
        height: 96px;
        margin: 0 0 1rem;
        padding: 0;
        flex-shrink: 0;
    }
    .wn-top-profile-photo img {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
        object-position: center top;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
        border: 2px solid var(--c-paper, #fff);
    }
    /* タブレット以上では、見出しと写真を横並びにする */
    @media (min-width: 760px) {
        .wn-top-profile-photo {
            float: right;
            width: 110px;
            height: 110px;
            margin: 0 0 .75rem 1.25rem;
            shape-outside: circle(50%);
        }
        /* 写真直後の見出しと本文は折り返し対応 */
        .wn-top-profile-photo + h3,
        .wn-top-profile-photo + h2,
        .wn-top-profile-photo + h1 {
            margin-top: .25rem;
        }
    }
    