/* =========================================================
   psny-base.css
   psling.net → psny.jp 継承用 共通CSSベース
   ブレークポイント: 900px（max=SP / min:901px=PC）
   フォント: Times New Roman（英語ラベル） + Noto Serif JP（日本語）
   クラスプレフィックス: ps-（psling互換のまま継承）
   ========================================================= */

/* --- Webフォント ------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;700&display=swap');

/* =========================================================
   [1] カラートークン（CSS変数）
   ========================================================= */
:root {
    /* テキスト・基調色 */
    --ps-color-ink:          #2c302e;   /* 見出し・本文（淡色背景） */
    --ps-color-text-dark:    #333333;   /* カバー文字・ホバー反転文字 */
    --ps-color-text-muted-1: #555555;   /* CTA説明文 */
    --ps-color-text-muted-2: #686868;   /* カード日本語ラベル（淡色） */
    --ps-color-text-muted-3: #444444;   /* カード説明文（淡色） */

    /* ラベル・補助グレー */
    --ps-color-label:        #888888;   /* section-label, cta-label */
    --ps-color-label-light:  #999999;   /* breadcrumb, サブラベル */

    /* 白・透過白（濃色背景用） */
    --ps-color-white:        #ffffff;
    --ps-color-white-85:     rgba(255,255,255,0.85);
    --ps-color-white-70:     rgba(255,255,255,0.70);
    --ps-color-white-65:     rgba(255,255,255,0.65);
    --ps-color-white-50:     rgba(255,255,255,0.50);
    --ps-color-white-15:     rgba(255,255,255,0.15);
    --ps-color-white-12:     rgba(255,255,255,0.12);

    /* 背景色 */
    --ps-bg-ivory:           #fdfaf5;

    /* アクセント */
    --ps-color-line-green:       #78c46a;
    --ps-color-line-green-hover: #69b35b;

    /* フォント */
    --ps-font-en:    'Times New Roman', serif;
    --ps-font-jp:    'Noto Serif JP', serif;
    --ps-font-mixed: 'Times New Roman', 'Noto Serif JP', serif;

    /* トランジション */
    --ps-ease:         cubic-bezier(0.25, 0.8, 0.25, 1);
    --ps-duration-ui:  0.4s;
    --ps-duration-img: 0.7s;
}

/* =========================================================
   [2] ベースリセット・スクロール制御
   ========================================================= */
html {
    scroll-behavior: smooth !important;
}
[id] {
    scroll-margin-top: 140px !important;
}
@media (max-width: 900px) {
    [id] { scroll-margin-top: 110px !important; }
    html, body { overflow-x: hidden !important; }
}

/* =========================================================
   [3] Sticky ヘッダー
   ========================================================= */
header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
body.admin-bar header {
    top: 32px !important;
}

/* =========================================================
   [4] コンテナ
   ========================================================= */
.ps-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 5% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* =========================================================
   [5] PC/SP 表示切替ユーティリティ
   ========================================================= */
@media (max-width: 900px) {
    .ps-pc-text-only    { display: none !important; }
    .ps-sp-text-only    { display: block !important; }
    .ps-cover-overlay-pc { display: none !important; }
    .ps-cover-overlay-sp { display: block !important; }
}
@media (min-width: 901px) {
    .ps-pc-text-only    { display: block !important; }
    .ps-sp-text-only    { display: none !important; }
    .ps-cover-overlay-pc { display: flex !important; }
    .ps-cover-overlay-sp { display: none !important; }
}

/* =========================================================
   [6] 2カラム レイアウト（画像＋テキスト）
   ========================================================= */
@media (min-width: 901px) {
    .ps-height-center {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    .ps-height-center > .wp-block-column {
        flex: 0 0 46% !important;
        max-width: 46% !important;
    }
}
@media (max-width: 900px) {
    .ps-height-center,
    .ps-column-reverse-sp {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    .ps-column-reverse-sp > .wp-block-column:nth-child(2) {
        order: 1 !important;
        margin-top: 0 !important;
        margin-bottom: 40px !important;
    }
    .ps-column-reverse-sp > .wp-block-column:nth-child(1) {
        order: 2 !important;
        margin-top: 0 !important;
    }
}

/* SP時テキストカラム幅制御 */
@media (max-width: 900px) {
    .ps-2column-text-control {
        width: 85% !important;
        max-width: 500px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
        flex: none !important;
        text-align: left !important;
    }
    .ps-sp-gap-target {
        margin-top: 0 !important;
        padding-top: 0 !important;
        display: block !important;
    }
}
@media (min-width: 901px) {
    .ps-sp-gap-target { margin-top: 0 !important; padding-top: 0 !important; }
}

/* =========================================================
   [7] セクション見出しシステム（淡色背景用）
   ========================================================= */
.ps-section-label {
    font-family: var(--ps-font-en) !important;
    font-size: 0.625rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.35em !important;
    text-transform: uppercase !important;
    color: var(--ps-color-label) !important;
    margin-top: 0 !important;
    margin-bottom: 0.75rem !important;
    display: block !important;
}
.ps-section-title {
    font-family: var(--ps-font-mixed) !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    color: var(--ps-color-ink) !important;
    margin-top: 0 !important;
    margin-bottom: 1.875rem !important;
    font-size: clamp(2.4rem, 1.6rem + 2.15vw, 3.2rem) !important;
}
@media (min-width: 901px) {
    .ps-section-label { text-align: left !important; }
    .ps-section-title { text-align: left !important; }
}
@media (max-width: 900px) {
    .ps-section-label { text-align: center !important; }
    .ps-section-title {
        text-align: center !important;
        font-size: clamp(1.8rem, 1.4rem + 2vw, 2.2rem) !important;
        letter-spacing: 0.06em !important;
    }
}

/* =========================================================
   [8] マニュアル・ステップ見出しシステム（濃色背景用）
   ========================================================= */
.ps-step-label {
    font-family: var(--ps-font-en) !important;
    font-weight: 300 !important;
    letter-spacing: 0.35em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    opacity: 0.85 !important;
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 1.0rem !important;
}
.ps-step-title {
    font-family: var(--ps-font-mixed) !important;
    font-weight: 400 !important;
    letter-spacing: 0.06em !important;
    color: #ffffff !important;
    margin-top: 0 !important;
    margin-bottom: 2.8125rem !important;
}
@media (min-width: 901px) {
    .ps-step-label { font-size: 0.75rem !important; margin-top: 0.9375rem !important; text-align: left !important; }
    .ps-step-title { font-size: 2.1rem !important; text-align: left !important; }
}
@media (max-width: 900px) {
    .ps-step-label { font-size: 0.6875rem !important; margin-top: 2.625rem !important; text-align: center !important; }
    .ps-step-title { font-size: 1.7rem !important; text-align: center !important; }
}

/* =========================================================
   [9] ステップ番号バッジ
   ========================================================= */
.ps-step-badge {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    background: rgba(255,255,255,0.12) !important;
    padding: 0.75rem 0 !important;
    border-radius: 0 !important;
    font-family: var(--ps-font-en) !important;
    font-size: clamp(1.8rem, 4vw, 2.4rem) !important;
    font-weight: 300 !important;
    letter-spacing: 0.45em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    line-height: 1.0 !important;
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
}
@media (max-width: 900px) {
    .ps-step-badge { font-size: 1.8rem !important; }
    .ps-column-reverse-sp .ps-step-badge { margin-top: -2.5rem !important; }
}

/* =========================================================
   [10] 商品カード（濃色背景）
   ========================================================= */
a.ps-card-meta-jp,
.ps-card-meta-jp {
    display: block !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: transparent !important;
    text-decoration: none !important;
    margin: 0 0 2.0rem 0 !important;
}
.ps-card-meta-jp img,
.ps-card-meta-jp .wp-block-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    transition: transform var(--ps-duration-img) var(--ps-ease) !important;
    will-change: transform !important;
}
@media (min-width: 901px) {
    a.ps-card-meta-jp:hover img { transform: scale(0.975) !important; }
}
p.ps-card-meta-jp,
span.ps-card-meta-jp {
    font-family: var(--ps-font-jp) !important;
    font-size: 0.6875rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.16em !important;
    color: var(--ps-color-white-70) !important;
    text-align: left !important;
    margin: 0 auto 0.5rem 0 !important;
    line-height: 1.2 !important;
    display: block !important;
}
.ps-card-title-en {
    font-family: var(--ps-font-en) !important;
    font-size: 1.85rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.05em !important;
    color: #ffffff !important;
    text-align: left !important;
    margin: 0 auto 1.25rem 0 !important;
    line-height: 1.2 !important;
    display: block !important;
}
.ps-card-desc {
    font-family: var(--ps-font-jp) !important;
    font-size: 0.85rem !important;
    line-height: 2.1 !important;
    font-weight: 300 !important;
    letter-spacing: 0.04em !important;
    color: var(--ps-color-white-85) !important;
    margin: 0 auto 2.1875rem 0 !important;
    display: block !important;
}
.ps-card-action {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 13.75rem !important;
    height: 2.625rem !important;
    padding-left: 1.5rem !important;
    position: relative !important;
    background: transparent !important;
    border: 1px solid var(--ps-color-white-50) !important;
    color: #ffffff !important;
    font-family: var(--ps-font-en) !important;
    font-size: 0.6875rem !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    transition: all var(--ps-duration-ui) var(--ps-ease) !important;
    text-decoration: none !important;
    border-radius: 0 !important;
}
.ps-card-action::after {
    content: "" !important;
    position: absolute !important;
    right: 1.25rem !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(45deg) !important;
    width: 0.3125rem !important;
    height: 0.3125rem !important;
    border-top: 1px solid #ffffff !important;
    border-right: 1px solid #ffffff !important;
    transition: all var(--ps-duration-ui) var(--ps-ease) !important;
}
.ps-card-action:hover {
    background: #ffffff !important;
    color: var(--ps-color-text-dark) !important;
}
.ps-card-action:hover::after {
    border-top-color: var(--ps-color-text-dark) !important;
    border-right-color: var(--ps-color-text-dark) !important;
    right: 1.0625rem !important;
}
@media (max-width: 900px) {
    .ps-card-action {
        width: 100% !important;
        max-width: 18.125rem !important;
        justify-content: center !important;
        padding-left: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* =========================================================
   [11] 商品カード（淡色背景）
   ========================================================= */
a.ps-card-meta-jp-dark,
.ps-card-meta-jp-dark {
    display: block !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: transparent !important;
    text-decoration: none !important;
    margin: 0 0 2.0rem 0 !important;
}
.ps-card-meta-jp-dark img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    transition: transform var(--ps-duration-img) var(--ps-ease) !important;
    will-change: transform !important;
}
@media (min-width: 901px) {
    a.ps-card-meta-jp-dark:hover img { transform: scale(0.975) !important; }
}
p.ps-card-meta-jp-dark { color: var(--ps-color-text-muted-2) !important; }
.ps-card-title-en-dark {
    font-family: var(--ps-font-en) !important;
    font-size: 1.85rem !important;
    font-weight: 300 !important;
    color: var(--ps-color-ink) !important;
}
.ps-card-desc-dark {
    font-size: 0.85rem !important;
    line-height: 2.1 !important;
    color: var(--ps-color-text-muted-3) !important;
}
.ps-card-action-dark {
    display: flex !important;
    align-items: center !important;
    width: 13.75rem !important;
    height: 2.625rem !important;
    border: 1px solid rgba(44,48,46,0.4) !important;
    color: var(--ps-color-ink) !important;
    font-family: var(--ps-font-en) !important;
    font-size: 0.6875rem !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    background: transparent !important;
    transition: all var(--ps-duration-ui) var(--ps-ease) !important;
    border-radius: 0 !important;
}
.ps-card-action-dark:hover {
    background: var(--ps-color-ink) !important;
    color: #ffffff !important;
}
@media (max-width: 900px) {
    .ps-card-action-dark { width: 100% !important; max-width: 18.125rem !important; justify-content: center !important; margin: 0 auto !important; }
}

/* =========================================================
   [12] LINE公式CTAセクション
   ========================================================= */
.ps-cta-line {
    background-color: var(--ps-bg-ivory) !important;
    text-align: center !important;
    width: 100% !important;
    padding: 5.0rem 0 !important;
    box-sizing: border-box !important;
}
.ps-cta-label {
    display: block !important;
    font-family: var(--ps-font-en) !important;
    font-size: 0.6875rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.35em !important;
    text-transform: uppercase !important;
    color: var(--ps-color-label) !important;
    margin-bottom: 0.5rem !important;
}
.ps-cta-title {
    font-family: var(--ps-font-jp) !important;
    font-size: 2.0rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.15em !important;
    line-height: 1.4 !important;
    color: var(--ps-color-ink) !important;
    margin-bottom: 2.1875rem !important;
}
.ps-cta-text p {
    font-family: var(--ps-font-jp) !important;
    font-size: 0.875rem !important;
    font-weight: 300 !important;
    line-height: 2.1 !important;
    color: var(--ps-color-text-muted-1) !important;
    margin: 0 !important;
}
.ps-cta-text { margin-bottom: 3.125rem !important; }
a.ps-btn-line,
.ps-btn-line {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 15.0rem !important;
    height: 3.0rem !important;
    background-color: var(--ps-color-line-green) !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    font-family: var(--ps-font-jp) !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.12em !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: all var(--ps-duration-ui) var(--ps-ease) !important;
}
.ps-btn-line:hover {
    background-color: var(--ps-color-line-green-hover) !important;
    opacity: 0.95 !important;
}
@media (max-width: 900px) {
    .ps-cta-line { padding: 3.75rem 1.25rem !important; }
    .ps-cta-title { font-size: 1.5rem !important; margin-bottom: 1.5rem !important; }
    .ps-cta-text p { font-size: 0.8125rem !important; max-width: 17.5rem !important; margin: 0 auto !important; text-align: center !important; }
    .ps-cta-text { margin-bottom: 2.1875rem !important; }
}

/* =========================================================
   [13] FAQアコーディオン
   ========================================================= */
.psl-faq-container {
    max-width: 840px !important;
    margin-inline: auto !important;
    padding: clamp(60px, 10vw, 100px) 24px !important;
}
.psl-faq-container details {
    border-bottom: 1px solid rgba(247,253,239,0.15) !important;
}
.psl-faq-container summary {
    padding: 38px 0 !important;
    list-style: none !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: clamp(1.1rem, 1.4vw, 1.4rem) !important;
    font-weight: 300 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.5 !important;
}
.psl-faq-container summary::after { content: "+"; font-size: 28px; font-weight: 200; opacity: 0.6; transition: transform 0.4s ease; }
.psl-faq-container details[open] summary::after { transform: rotate(45deg); }
.psl-faq-container .psl-faq-answer {
    padding: 10px 0 60px 0 !important;
    line-height: 1.9 !important;
    font-size: 0.98rem !important;
    opacity: 0.8 !important;
    max-width: 92% !important;
}
.psl-faq-container details[open] .psl-faq-answer {
    animation: pslSlideDown 0.6s cubic-bezier(0.4,0,0.2,1) forwards;
}
@keyframes pslSlideDown {
    0%   { opacity: 0; max-height: 0; transform: translateY(-10px); }
    100% { opacity: 1; max-height: 1000px; transform: translateY(0); }
}
@media (max-width: 900px) {
    .psl-faq-container { padding: 40px 20px !important; }
    .psl-faq-container summary { padding: 28px 0 !important; font-size: 1.05rem !important; }
}

/* =========================================================
   [14] パンくずナビ
   ========================================================= */
.ps-custom-breadcrumb { margin: 10px 0 30px; text-align: left; line-height: 1; }
.ps-custom-breadcrumb a { font-family: var(--ps-font-en); font-size: 0.7rem; letter-spacing: 0.18em; color: var(--ps-color-label-light) !important; text-decoration: none; text-transform: uppercase; transition: color 0.3s ease; }
.ps-custom-breadcrumb a:hover { color: var(--ps-color-text-dark) !important; border-bottom: 1px solid var(--ps-color-text-dark); }
.ps-custom-breadcrumb .ps-bc-separator { font-family: var(--ps-font-en); font-size: 0.7rem; color: #cccccc; margin: 0 12px; }
.ps-custom-breadcrumb .ps-bc-current { font-family: var(--ps-font-mixed); font-size: 0.7rem; letter-spacing: 0.15em; color: var(--ps-color-text-dark); text-transform: uppercase; }

/* =========================================================
   [15] トップへ戻るボタン
   ========================================================= */
a.ps-to-top-btn {
    position: fixed !important; bottom: 30px !important; right: 30px !important;
    width: 44px !important; height: 44px !important;
    background-color: rgba(255,255,255,0.9) !important;
    border: 1px solid #e0e0e0 !important; border-radius: 0 !important;
    z-index: 9999 !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    text-decoration: none !important;
    transition: transform var(--ps-duration-ui) ease, opacity var(--ps-duration-ui) ease, background-color var(--ps-duration-ui) ease !important;
}
.ps-to-top-btn.ps-to-top-hidden { opacity: 0 !important; visibility: hidden !important; transform: translateY(15px) !important; }
.ps-to-top-btn::after { content: "" !important; width: 8px !important; height: 8px !important; border-top: 1px solid #333 !important; border-left: 1px solid #333 !important; transform: rotate(45deg) translateY(2px) !important; }
.ps-to-top-btn:hover { background-color: #333333 !important; border-color: #333333 !important; }
.ps-to-top-btn:hover::after { border-top-color: #ffffff !important; border-left-color: #ffffff !important; }
@media (max-width: 900px) { .ps-to-top-btn { bottom: 24px !important; right: 24px !important; width: 40px !important; height: 40px !important; } }

/* =========================================================
   [16] グローバルヘッダー・ナビ
   ========================================================= */
header.ps-global-header {
    padding: 25px 0 !important;
    width: 100% !important; max-width: 100% !important;
}
.ps-global-header nav a,
.ps-global-header .wp-block-navigation-item__content {
    font-family: var(--ps-font-jp) !important;
    font-size: 0.6875rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.18em !important;
    color: rgba(255,255,255,0.6) !important;
    text-decoration: none !important;
    transition: color var(--ps-duration-ui) ease !important;
}
.ps-global-header nav a:hover { color: #ffffff !important; }
@media (max-width: 900px) { header.ps-global-header { padding: 10px 0 !important; } }

/* SP ハンバーガー */
@media (max-width: 781px) {
    .ps-global-header .wp-block-navigation-toggle { display: flex !important; visibility: visible !important; opacity: 1 !important; background: transparent !important; border: none !important; padding: 0 !important; width: 24px !important; height: 24px !important; }
    .ps-global-header .wp-block-navigation-toggle svg { fill: rgba(255,255,255,0.8) !important; }
    .ps-global-header .wp-block-navigation__responsive-container.is-menu-open { background-color: #000 !important; }
    .ps-global-header .wp-block-navigation__responsive-container.is-menu-open nav a { color: rgba(255,255,255,0.8) !important; font-size: 14px !important; }
}
@media (min-width: 782px) {
    .ps-global-header .wp-block-navigation-toggle { display: none !important; }
}


/* PSNY.JP common header / footer / home */
.psny-site-header{position:relative;z-index:20;padding:18px clamp(20px,4vw,64px)!important;background:#202724;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.psny-header-inner{max-width:1440px!important;margin:auto!important;gap:32px!important}.psny-header-logo{flex:0 0 auto;margin:0!important;line-height:0}.psny-header-logo img{display:block;width:clamp(76px,7vw,100px)!important;height:auto!important}.psny-primary-nav{flex:1;color:#fff}.psny-primary-nav .wp-block-navigation-item__content{color:inherit!important;font-family:var(--ps-font-jp)!important;font-size:.75rem!important;letter-spacing:.08em!important;text-decoration:none!important;white-space:nowrap}.psny-nav-cta{padding:9px 16px!important;border:1px solid currentColor}
.psny-site-footer{padding:clamp(64px,8vw,112px) clamp(20px,5vw,72px) 28px!important;background:#202724;color:#fff}.psny-footer-inner{max-width:1200px!important}.psny-footer-logo{margin:0!important;line-height:0}.psny-footer-logo img{display:block;width:clamp(120px,14vw,160px)!important;height:auto!important}.psny-site-footer a{color:inherit!important;text-decoration:none!important}.psny-footer-statement{margin-top:36px!important;font-family:var(--ps-font-jp)!important;font-size:clamp(1.35rem,2.5vw,2.15rem)!important;line-height:1.75!important}.psny-footer-en{color:rgba(255,255,255,.55)!important;font-family:var(--ps-font-en)!important;letter-spacing:.16em!important}.psny-footer-nav{align-items:flex-start!important;gap:14px!important}.psny-footer-nav a{font-size:.78rem!important;letter-spacing:.08em!important}.psny-footer-bottom{margin-top:72px!important;padding-top:22px!important;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.5);font-size:.7rem;letter-spacing:.08em}
.psny-footer-inner{width:100%!important;max-width:1440px!important}.psny-footer-main{gap:clamp(48px,7vw,112px)!important}.psny-footer-main>.wp-block-column:first-child{flex-basis:34%!important}.psny-footer-main>.wp-block-column:last-child{flex-basis:66%!important}.psny-footer-sitemap-columns{gap:clamp(40px,6vw,96px)!important}
.psny-page-top{position:fixed;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,42px);z-index:50;display:grid;width:52px;height:52px;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#202724;color:#fff!important;font-family:Arial,sans-serif;font-size:22px;line-height:1;text-decoration:none!important;box-shadow:0 8px 28px rgba(32,39,36,.22);transition:transform .2s ease,background-color .2s ease}.psny-page-top:hover,.psny-page-top:focus-visible{background:#29362f;transform:translateY(-3px)}
.psny-home-main{margin-top:0!important}.psny-home-hero{min-height:min(82vh,820px)!important;padding:90px clamp(20px,6vw,90px)!important;background:linear-gradient(135deg,#ede5d9 0%,#fdfaf5 48%,#b6c8bd 100%)!important}.psny-home-hero-title{max-width:1000px;width:100%;font-family:var(--ps-font-mixed)!important;font-size:clamp(2.6rem,5.35vw,4.8rem)!important;font-weight:400!important;line-height:1.42!important;letter-spacing:.055em!important;color:var(--ps-color-ink)!important}.psny-home-lead,.psny-home-copy{max-width:720px;font-family:var(--ps-font-jp)!important;font-size:.98rem!important;line-height:2.2!important;color:var(--ps-color-text-muted-3)!important}.psny-home-section{padding:clamp(72px,10vw,140px) clamp(20px,6vw,88px)!important}.psny-home-intro{background:var(--ps-bg-ivory)}.psny-home-intro .psny-home-copy{margin-inline:auto!important}.psny-home-remake{background:#fff}.psny-home-split{gap:clamp(40px,7vw,100px)!important}.psny-image-placeholder{aspect-ratio:4/5;display:grid;place-items:center;background:linear-gradient(145deg,#dfd8cc,#b9c8be);color:rgba(44,48,46,.55);font-family:var(--ps-font-en);letter-spacing:.18em}.psny-image-placeholder small{font-size:.65rem}.psny-home-cards{background:#eef0eb}.psny-home-card-grid{gap:1px!important;background:rgba(44,48,46,.16)}.psny-home-card{height:100%;min-height:320px;padding:clamp(28px,4vw,48px)!important;background:#fff}.psny-home-card h3{font-family:var(--ps-font-mixed)!important;font-size:1.65rem!important;font-weight:400!important}.psny-home-card p{line-height:1.9}.psny-home-card a{text-decoration:none;border-bottom:1px solid currentColor}.psny-home-consultation{background:#26352e;color:#fff}.psny-home-consultation .ps-section-label,.psny-home-consultation .ps-section-title,.psny-home-consultation .psny-home-copy{color:#fff!important}.psny-home-consultation .psny-home-copy{margin-inline:auto!important;color:rgba(255,255,255,.76)!important}
body.home .wp-block-post-title{display:none!important}
@media(max-width:1000px){.psny-header-inner{align-items:center!important}.psny-primary-nav .wp-block-navigation__responsive-container-open{display:flex!important}.psny-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}}
@media(max-width:781px){.psny-site-header{padding:14px 20px!important}.psny-header-logo img{width:76px!important}.psny-primary-nav .wp-block-navigation__responsive-container.is-menu-open{padding:28px!important;background:#202724!important;color:#fff!important}.psny-primary-nav .wp-block-navigation__responsive-container-close,.psny-primary-nav .wp-block-navigation__responsive-container-open{color:#fff!important}.psny-site-footer .wp-block-columns{gap:46px}.psny-footer-bottom{margin-top:50px!important}.psny-home-hero{min-height:auto!important;padding:76px 20px 68px!important}.psny-home-hero-title{max-width:none!important;font-size:clamp(2.15rem,10.3vw,2.55rem)!important;line-height:1.55!important;letter-spacing:.035em!important}.psny-home-section{padding:64px 20px!important}.psny-home-split{gap:36px!important}.psny-home-card{min-height:auto}.psny-home-consultation .ps-section-title br{display:none}}
@media(max-width:781px){.psny-footer-main>.wp-block-column:first-child,.psny-footer-main>.wp-block-column:last-child{flex-basis:100%!important}.psny-page-top{width:46px;height:46px;right:16px;bottom:16px;font-size:20px}}

/* PSNY refinement — 2026-08-10 */
.psny-site-footer{padding-left:clamp(24px,3vw,48px)!important;padding-right:clamp(24px,3vw,48px)!important}.psny-footer-inner{max-width:1600px!important}.psny-footer-main{gap:clamp(36px,4vw,72px)!important}.psny-footer-main>.wp-block-column:first-child{flex-basis:28%!important}.psny-footer-main>.wp-block-column:last-child{flex-basis:72%!important}.psny-footer-sitemap-columns{gap:clamp(56px,7vw,120px)!important}
.psny-page-top{width:50px;height:50px;border:0!important;background:#202724!important;color:transparent!important;font-size:0!important;box-shadow:inset 0 0 0 .75px rgba(255,255,255,.66),0 8px 24px rgba(32,39,36,.18)!important;-webkit-font-smoothing:antialiased}.psny-page-top:before{content:"";position:absolute;left:50%;top:17px;width:1px;height:17px;background:#fff;transform:translateX(-50%)}.psny-page-top:after{content:"";position:absolute;left:50%;top:16px;width:7px;height:7px;border-top:1px solid #fff;border-left:1px solid #fff;transform:translateX(-50%) rotate(45deg)}
@media(max-width:781px){.psny-site-footer{padding-left:20px!important;padding-right:20px!important}.psny-page-top{width:46px;height:46px}.psny-page-top:before{top:15px;height:16px}.psny-page-top:after{top:14px}}

/* Remove WordPress constrained content width inside the full-width footer. */
.psny-footer-inner>.psny-footer-main,.psny-footer-inner>.psny-footer-bottom{width:100%!important;max-width:none!important}.psny-footer-sitemap,.psny-footer-sitemap-columns{width:100%!important;max-width:none!important}
.psny-page-top{border:0!important;outline:0!important;box-shadow:0 10px 30px rgba(32,39,36,.24)!important}.psny-page-top:hover,.psny-page-top:focus-visible{box-shadow:0 12px 34px rgba(32,39,36,.28)!important}

/* Align footer hierarchy and grid with the site header. */
.psny-site-footer{padding:clamp(64px,7vw,96px) clamp(20px,4vw,64px) 28px!important}.psny-footer-inner{max-width:1440px!important}.psny-footer-main{gap:clamp(48px,6vw,96px)!important}.psny-footer-main>.wp-block-column:first-child{flex-basis:32%!important}.psny-footer-main>.wp-block-column:last-child{flex-basis:68%!important}.psny-footer-logo img{width:clamp(88px,8vw,112px)!important}.psny-footer-statement{max-width:360px;margin-top:28px!important;font-size:clamp(1rem,1.25vw,1.12rem)!important;line-height:1.9!important;letter-spacing:.025em!important}.psny-footer-en{margin-top:18px!important;font-size:.76rem!important;letter-spacing:.14em!important}.psny-footer-sitemap .ps-section-label{font-size:.62rem!important;letter-spacing:.24em!important}.psny-footer-sitemap-title{margin-top:8px!important;margin-bottom:26px!important;font-size:clamp(1.08rem,1.5vw,1.32rem)!important;font-weight:400!important;line-height:1.45!important}.psny-footer-sitemap-columns{gap:clamp(48px,6vw,96px)!important}.psny-footer-bottom{margin-top:60px!important}
@media(max-width:781px){.psny-site-footer{padding:56px 20px 24px!important}.psny-footer-logo img{width:92px!important}.psny-footer-statement{font-size:1rem!important}.psny-footer-sitemap-title{font-size:1.12rem!important}.psny-footer-bottom{margin-top:44px!important}}

/* PSNY mobile navigation, inheriting the psling.net visual language. */
.psny-primary-nav .psny-mobile-only{display:none!important}
@media(max-width:1000px){.psny-primary-nav .wp-block-navigation__responsive-container.is-menu-open{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;padding:0!important;background:#181d1b!important;color:rgba(255,255,255,.72)!important}.psny-primary-nav .wp-block-navigation__responsive-dialog{width:100%!important;height:100%!important;margin:0!important}.psny-primary-nav .wp-block-navigation__responsive-container-content{position:relative!important;display:block!important;width:100%!important;height:100%!important;padding:94px 28px 46px!important;box-sizing:border-box!important}.psny-primary-nav .wp-block-navigation__responsive-container-content:before,.psny-primary-nav .wp-block-navigation__responsive-container-content:after{position:absolute;top:60px;width:calc(50% - 40px);padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.48);font-family:var(--ps-font-en);font-size:.61rem;line-height:1;letter-spacing:.24em;text-transform:uppercase}.psny-primary-nav .wp-block-navigation__responsive-container-content:before{content:"PSNY.JP";left:28px}.psny-primary-nav .wp-block-navigation__responsive-container-content:after{content:"GUIDE / SHOP";right:28px}.psny-primary-nav .wp-block-navigation__container{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:repeat(4,auto)!important;grid-auto-flow:column!important;align-content:start!important;align-items:start!important;gap:0 24px!important;width:100%!important}.psny-primary-nav .wp-block-navigation-item{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:none!important}.psny-primary-nav .wp-block-navigation-item__content{display:block!important;padding:8px 0!important;color:rgba(255,255,255,.72)!important;font-size:.78rem!important;line-height:1.55!important;letter-spacing:.055em!important;text-align:left!important;border:0!important}.psny-primary-nav .wp-block-navigation-item:first-child>.wp-block-navigation-item__content:before,.psny-primary-nav .wp-block-navigation-item:nth-child(5)>.wp-block-navigation-item__content:before{content:"";display:inline-block;width:4px;height:4px;margin:0 8px 2px 0;border-radius:50%;background:#42cfc0}.psny-primary-nav .psny-nav-cta{padding:0!important;border:0!important}.psny-primary-nav .wp-block-navigation__responsive-container-close{top:24px!important;right:27px!important;width:24px!important;height:24px!important;color:rgba(255,255,255,.72)!important}.psny-primary-nav .wp-block-navigation__responsive-container-close svg{width:20px!important;height:20px!important;stroke-width:1!important}body.admin-bar .psny-primary-nav .wp-block-navigation__responsive-container-close{top:56px!important}}

/* PSNY Top hero image: focal point and text readability */
.psny-home-hero .wp-block-cover__image-background{object-position:58% 50%!important}
.psny-home-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(247,243,237,.94) 0%,rgba(247,243,237,.82) 34%,rgba(247,243,237,.34) 55%,rgba(247,243,237,0) 73%)!important;opacity:1!important}
@media(max-width:781px){.psny-home-hero .wp-block-cover__image-background{object-position:61% 50%!important}.psny-home-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(247,243,237,.94) 0%,rgba(247,243,237,.84) 52%,rgba(247,243,237,.38) 78%,rgba(247,243,237,.08) 100%)!important}}

/* Top hero legibility and PSNY square CTA alignment — 2026-08-10 */
.psny-home-hero .psny-home-lead{max-width:600px!important;margin-left:0!important;margin-right:auto!important;padding:12px 16px!important;background:rgba(247,243,237,.82)!important;color:var(--ps-color-ink)!important}
.psny-home-main .wp-block-button__link{border-radius:0!important}
@media(max-width:781px){.psny-home-hero .psny-home-lead{max-width:100%!important;padding:12px 14px!important;background:rgba(247,243,237,.88)!important;font-size:.9rem!important;line-height:1.9!important}}

/* Wide hero alignment and psling.net-inspired CTA motion — 2026-08-10 */
@media(min-width:782px){.psny-home-hero .psny-home-lead{margin-left:auto!important;margin-right:auto!important}}
.psny-home-main .wp-block-button__link{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;min-width:220px;gap:28px;padding:15px 20px!important;text-align:left;text-indent:0;transition:background-color .55s ease,color .55s ease,border-color .55s ease,text-indent .55s ease!important}
.psny-home-main .wp-block-button__link::after{content:"\2192";flex:0 0 auto;margin-left:auto;font-family:Arial,sans-serif;font-size:1rem;line-height:1;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.psny-home-main .wp-block-button__link:hover,.psny-home-main .wp-block-button__link:focus-visible{text-indent:5px}
.psny-home-main .wp-block-button__link:hover::after,.psny-home-main .wp-block-button__link:focus-visible::after{transform:translateX(5px)}
.psny-home-main .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,.psny-home-main .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible{background:#f7f3ed!important;border-color:#202724!important;color:#202724!important}
.psny-home-main .wp-block-button.is-style-outline .wp-block-button__link:hover,.psny-home-main .wp-block-button.is-style-outline .wp-block-button__link:focus-visible{background:#202724!important;border-color:#202724!important;color:#fff!important}
@media(prefers-reduced-motion:reduce){.psny-home-main .wp-block-button__link,.psny-home-main .wp-block-button__link::after{transition:none!important}}

/* Brand-first hero and sticky navigation — 2026-08-10 */
.psny-site-header{position:sticky!important;top:0;z-index:1000;width:100%}
body.admin-bar .psny-site-header{top:32px}
.psny-home-hero .psny-home-lead{display:none!important}
@media(max-width:781px){body.admin-bar .psny-site-header{top:46px}.psny-home-hero{min-height:calc(100svh - 68px)!important;padding:72px 20px 56px!important}.psny-home-hero .ps-section-label{display:none!important}.psny-home-hero-title{max-width:350px!important;font-size:clamp(1.72rem,7.6vw,1.95rem)!important;line-height:1.52!important;letter-spacing:.01em!important}.psny-home-hero .wp-block-button.is-style-outline{display:none!important}.psny-home-hero .wp-block-buttons{margin-top:30px!important}.psny-home-hero .wp-block-button__link{min-width:210px}}
@media(max-width:600px){#wpadminbar{position:fixed!important}}

/* Robust fixed header and two-line mobile hero title */
body{padding-top:80px!important}
.psny-site-header{position:fixed!important;top:0;left:0;right:0}
body.admin-bar .psny-site-header{top:32px}
@media(max-width:781px){body{padding-top:64px!important}body.admin-bar .psny-site-header{top:46px}.psny-home-hero-title{max-width:330px!important;font-size:clamp(1.42rem,6.1vw,1.62rem)!important;line-height:1.6!important;letter-spacing:0!important}}

/* Mobile split hero: image above, PSNY Ivory message panel below */
@media(max-width:781px){.psny-home-hero{position:relative!important;display:block!important;min-height:calc(100svh - 64px)!important;padding:0!important;background:#f7f3ed!important;overflow:hidden}.psny-home-hero .wp-block-cover__image-background{inset:0 0 auto 0!important;width:100%!important;height:64%!important;object-position:57% 42%!important}.psny-home-hero .wp-block-cover__background{inset:0 0 auto 0!important;width:100%!important;height:64%!important;background:linear-gradient(180deg,rgba(247,243,237,.02),rgba(247,243,237,.12))!important}.psny-home-hero .wp-block-cover__inner-container{position:absolute!important;inset:auto 0 0 0!important;width:100%!important;height:36%!important;padding:26px 24px 30px!important;box-sizing:border-box!important;background:#f7f3ed!important}.psny-home-hero .wp-block-cover__inner-container>.wp-block-group{display:flex!important;height:100%!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important}.psny-home-hero-title{max-width:none!important;margin:0!important;font-size:clamp(1.75rem,7.5vw,2rem)!important;line-height:1.48!important;letter-spacing:.035em!important}.psny-home-hero .wp-block-buttons{margin-top:24px!important}}

/* Desktop split hero and scroll-triggered page-top visibility */
.psny-page-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(12px)!important;transition:opacity .35s ease,visibility .35s ease,transform .35s ease,background-color .2s ease!important}
body.psny-has-scrolled .psny-page-top{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}
@media(min-width:782px){.psny-home-hero{position:relative!important;display:block!important;min-height:min(78vh,780px)!important;padding:0!important;background:#f7f3ed!important;overflow:hidden}.psny-home-hero .wp-block-cover__image-background{inset:0 0 0 auto!important;width:58%!important;height:100%!important;object-position:57% 50%!important}.psny-home-hero .wp-block-cover__background{display:none!important}.psny-home-hero .wp-block-cover__inner-container{position:absolute!important;inset:0 auto 0 0!important;display:flex!important;width:42%!important;height:100%!important;align-items:center!important;padding:clamp(56px,7vw,112px) clamp(40px,5vw,84px)!important;box-sizing:border-box!important;background:#f7f3ed!important}.psny-home-hero .wp-block-cover__inner-container>.wp-block-group{width:100%!important}.psny-home-hero-title{max-width:520px!important;font-size:clamp(2.6rem,4.5vw,4.5rem)!important;line-height:1.42!important}.psny-home-hero .wp-block-buttons{flex-wrap:wrap!important}}
@media(min-width:782px){.psny-home-hero-title{font-size:clamp(2.35rem,3.3vw,3.5rem)!important;line-height:1.5!important;letter-spacing:.02em!important}.psny-home-hero .wp-block-buttons{width:100%!important;gap:12px!important}.psny-home-hero .wp-block-button{width:100%!important}.psny-home-hero .wp-block-button__link{width:100%!important;min-width:0!important;gap:12px!important;font-size:.88rem!important;box-sizing:border-box!important}}

/* Desktop editorial hero: large image above, quiet typography below */
@media(min-width:782px){.psny-home-hero{position:relative!important;display:block!important;min-height:clamp(900px,108vh,1120px)!important;padding:0!important;background:#f7f3ed!important;overflow:hidden}.psny-home-hero .wp-block-cover__image-background{inset:0 0 auto 0!important;width:100%!important;height:68%!important;object-position:50% 43%!important}.psny-home-hero .wp-block-cover__background{display:none!important}.psny-home-hero .wp-block-cover__inner-container{position:absolute!important;inset:auto 0 0 0!important;display:block!important;width:100%!important;height:32%!important;padding:clamp(60px,7vw,96px) clamp(48px,8vw,128px)!important;box-sizing:border-box!important;background:#f7f3ed!important}.psny-home-hero .wp-block-cover__inner-container>.wp-block-group{display:grid!important;width:100%!important;max-width:1440px!important;margin:0 auto!important;grid-template-columns:minmax(0,1fr) minmax(260px,340px)!important;grid-template-rows:auto auto!important;column-gap:clamp(72px,10vw,180px)!important;align-items:end!important}.psny-home-hero .ps-section-label{grid-column:1!important;margin:0 0 18px!important;font-size:.62rem!important;letter-spacing:.28em!important}.psny-home-hero-title{grid-column:1!important;margin:0!important;max-width:660px!important;font-size:clamp(2rem,2.7vw,2.75rem)!important;font-weight:300!important;line-height:1.72!important;letter-spacing:.09em!important}.psny-home-hero .wp-block-buttons{grid-column:2!important;grid-row:1/span 2!important;display:flex!important;width:100%!important;flex-direction:column!important;gap:12px!important;align-self:end!important;margin:0!important}.psny-home-hero .wp-block-button,.psny-home-hero .wp-block-button__link{width:100%!important}}

/* PC copy on the photographic negative space; CTA remains on Ivory */
@media (min-width: 782px) {
  .psny-home-hero { min-height: clamp(900px, 108vh, 1120px) !important; }
  .psny-home-hero::after { content: ""; position: absolute; inset: auto 0 0 0; z-index: 0; height: 24%; background: #f7f3ed; }
  .psny-home-hero .wp-block-cover__image-background { width: 100% !important; height: 76% !important; object-position: 54% 43% !important; }
  .psny-home-hero .wp-block-cover__inner-container { position: absolute !important; inset: 0 !important; z-index: 2 !important; display: block !important; width: 100% !important; height: 100% !important; padding: 0 !important; background: transparent !important; }
  .psny-home-hero .wp-block-cover__inner-container > .wp-block-group { position: static !important; display: block !important; width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; }
  .psny-home-hero .ps-section-label { position: absolute !important; top: 22% !important; left: clamp(56px, 8vw, 132px) !important; margin: 0 !important; color: #202724 !important; font-size: .6rem !important; letter-spacing: .3em !important; }
  .psny-home-hero-title { position: absolute !important; top: 27% !important; left: clamp(56px, 8vw, 132px) !important; margin: 0 !important; max-width: 520px !important; color: #202724 !important; font-size: clamp(2rem, 2.6vw, 2.7rem) !important; font-weight: 300 !important; line-height: 1.72 !important; letter-spacing: .09em !important; }
  .psny-home-hero .wp-block-buttons { position: absolute !important; right: clamp(56px, 8vw, 132px) !important; bottom: 5% !important; display: flex !important; width: min(340px, 32vw) !important; flex-direction: column !important; gap: 12px !important; margin: 0 !important; }
}

/* Consultation CTA: atelier image + calm PSNY Ink panel. */
.psny-home-consultation { padding: 0 !important; background: var(--ps-color-ink, #202724); }
.psny-consultation-columns { height: 540px; gap: 0 !important; margin: 0 !important; }
.psny-consultation-visual { overflow: hidden; }
.psny-consultation-visual figure { height: 100%; margin: 0 !important; }
.psny-consultation-visual img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: 58% center; }
.psny-consultation-panel { display: flex; align-items: center; background: var(--ps-color-ink, #202724); }
.psny-consultation-copy { width: 100%; max-width: 620px !important; margin: 0 !important; padding: clamp(72px, 6vw, 96px) clamp(42px, 5vw, 76px) !important; }
.psny-consultation-copy .ps-section-title { margin-top: 22px !important; font-size: clamp(1.55rem, 1.9vw, 2rem) !important; font-weight: 300 !important; line-height: 1.75 !important; letter-spacing: .07em !important; }
.psny-consultation-copy .psny-home-copy { max-width: 38em; margin: 28px 0 0 !important; }
.psny-consultation-copy .wp-block-buttons { margin-top: 34px !important; justify-content: flex-start !important; }
.psny-consultation-button .wp-block-button__link { min-width: 260px; padding: 17px 52px 17px 24px !important; border: 1px solid rgba(255,255,255,.82) !important; background: #f7f4ee !important; color: var(--ps-color-ink, #202724) !important; }
.psny-consultation-button .wp-block-button__link::after { right: 20px !important; }
@media (max-width: 781px) {
  .psny-consultation-columns { display: block !important; height: auto; }
  .psny-consultation-visual img { min-height: 0; aspect-ratio: 4 / 3; object-position: 58% center; }
  .psny-consultation-copy { padding: 64px 24px 72px !important; text-align: center; }
  .psny-consultation-copy .ps-section-title { font-size: clamp(1.55rem, 7vw, 1.9rem) !important; }
  .psny-consultation-copy .ps-section-title br { display: none; }
  .psny-consultation-copy .psny-home-copy { margin-inline: auto !important; text-align: left !important; }
  .psny-consultation-copy .wp-block-buttons { width: 100%; justify-content: center !important; }
}

/* Desktop brand navigation: restrained hierarchy and separated utility links */
@media (min-width: 1001px) {
  .psny-site-header { padding: 20px clamp(28px, 4vw, 64px) !important; background: #1b211e !important; }
  .psny-header-inner { max-width: 1440px !important; gap: clamp(40px, 5vw, 84px) !important; }
  .psny-header-logo img { width: clamp(92px, 7vw, 108px) !important; }
  .psny-primary-nav .wp-block-navigation__container { width: 100% !important; gap: clamp(22px, 2.25vw, 38px) !important; align-items: center !important; }
  .psny-primary-nav .wp-block-navigation-item { position: relative; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(2),
  .psny-primary-nav .wp-block-navigation-item:nth-child(6) { display: none !important; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(5) { order: 1; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(1) { order: 2; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(3) { order: 3; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(4) { order: 4; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(7) { order: 5; margin-left: auto !important; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(8) { order: 6; margin-left: 2px !important; padding-left: clamp(20px, 2vw, 32px) !important; border-left: 1px solid rgba(255,255,255,.22); }
  .psny-primary-nav .wp-block-navigation-item__content { position: relative; padding: 8px 0 !important; color: rgba(255,255,255,.74) !important; font-size: .69rem !important; font-weight: 400 !important; letter-spacing: .12em !important; }
  .psny-primary-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .45s cubic-bezier(.22,.61,.36,1); }
  .psny-primary-nav .wp-block-navigation-item__content:hover::after,
  .psny-primary-nav .wp-block-navigation-item__content:focus-visible::after { transform: scaleX(1); transform-origin: left; }
  .psny-primary-nav .psny-nav-cta { padding: 8px 0 !important; border: 0 !important; color: #fff !important; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(8) .wp-block-navigation-item__content { color: rgba(255,255,255,.88) !important; font-family: var(--ps-font-en) !important; letter-spacing: .1em !important; }
}

/* Desktop hero-to-philosophy handoff: image first, philosophy and CTA as one grid */
@media (min-width: 782px) {
  .psny-home-hero { min-height: clamp(700px, 78vh, 860px) !important; overflow: visible !important; }
  .psny-home-hero::after { display: none !important; }
  .psny-home-hero .wp-block-cover__image-background { height: 100% !important; }
  .psny-home-hero .wp-block-buttons { top: calc(100% + clamp(112px, 11vw, 164px)) !important; right: clamp(56px, 8vw, 132px) !important; bottom: auto !important; z-index: 5 !important; width: min(340px, 32vw) !important; }
  .psny-home-intro { position: relative; z-index: 1; min-height: 520px; padding: clamp(104px, 10vw, 144px) clamp(56px, 8vw, 132px) !important; box-sizing: border-box; }
  .psny-home-intro .ps-section-label,
  .psny-home-intro .ps-section-title,
  .psny-home-intro .psny-home-copy { width: calc(100% - 420px); max-width: 650px; margin-right: auto !important; margin-left: 0 !important; text-align: left !important; }
  .psny-home-intro .ps-section-title { font-size: clamp(2.15rem, 3.6vw, 3.45rem) !important; line-height: 1.55 !important; }
  .psny-home-intro .psny-home-copy { margin-top: 28px !important; font-size: .9rem !important; line-height: 2.15 !important; }
}

/* Philosophy hierarchy refinement */
@media (min-width: 782px) {
  .psny-home-hero .wp-block-buttons { top: calc(100% + clamp(148px, 14vw, 202px)) !important; gap: 20px !important; }
  .psny-home-intro .ps-section-title { max-width: 580px; font-size: clamp(1.75rem, 2.55vw, 2.4rem) !important; line-height: 1.72 !important; letter-spacing: .055em !important; }
  .psny-home-intro .psny-home-copy { max-width: 580px; }
}

/* Remove parent-theme block gaps only at template and full-section boundaries. */
.wp-site-blocks > :where(main, .wp-block-template-part) {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
main.wp-block-group.is-layout-flow > :where(.wp-block-group, .wp-block-cover, .alignfull, .alignwide),
.wp-block-post-content > :where(.wp-block-group, .wp-block-cover, .alignfull, .alignwide) {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Keep hero and first-section content on the same 1440px shell as header/footer. */
@media (min-width: 782px) {
  .psny-home-hero .ps-section-label,
  .psny-home-hero-title {
    left: max(64px, calc((100vw - 1440px) / 2)) !important;
  }
  .psny-home-hero .wp-block-buttons {
    right: max(64px, calc((100vw - 1440px) / 2)) !important;
  }
  .psny-home-intro {
    padding-right: max(64px, calc((100vw - 1440px) / 2)) !important;
    padding-left: max(64px, calc((100vw - 1440px) / 2)) !important;
  }
  .psny-home-intro .ps-section-title,
  .psny-home-intro .psny-home-copy {
    width: min(620px, calc(100% - 440px));
  }
}

/* Keep the philosophy handoff on the 1200px content measure, not the 1440px site shell. */
@media (min-width: 782px) {
  .psny-home-intro {
    padding-right: max(20px, calc((100vw - 1200px) / 2)) !important;
    padding-left: max(20px, calc((100vw - 1200px) / 2)) !important;
  }
}
@media (min-width: 1001px) {
  .psny-home-hero .wp-block-buttons {
    right: auto !important;
    left: max(651px, calc((100vw - 1200px) / 2 + 700px)) !important;
  }
}

/* Brand Story image treatment: portrait on PC, full square on mobile. */
.psny-home-remake-image { margin: 0 !important; overflow: hidden; }
.psny-home-remake-image img { display: block; width: 100% !important; aspect-ratio: 4 / 5; object-fit: cover; object-position: 46% 50%; }
.psny-home-remake .ps-section-title { max-width: 580px; font-size: clamp(2rem, 3vw, 3rem) !important; line-height: 1.55 !important; }
@media (max-width: 781px) {
  .psny-home-remake-image img { aspect-ratio: 1 / 1; object-position: 50% 50%; }
  .psny-home-remake .ps-section-title { font-size: clamp(1.75rem, 7.5vw, 2.1rem) !important; }
}

/* Final desktop alignment: use the same 1200px measure as the content sections. */
@media (min-width: 782px) {
  .psny-home-main > .psny-home-intro {
    padding-right: max(20px, calc((100vw - 1200px) * .5)) !important;
    padding-left: max(20px, calc((100vw - 1200px) * .5)) !important;
  }
}

/* Center the mobile hero message on the photographic axis. */
@media (max-width: 781px) {
  .psny-home-hero .wp-block-cover__inner-container > .wp-block-group { align-items: center !important; text-align: center !important; }
  .psny-home-hero-title { width: 100% !important; margin-inline: auto !important; text-align: center !important; }
  .psny-home-hero .wp-block-buttons { width: 100% !important; justify-content: center !important; align-items: center !important; }
}

/* Mobile hero: a quiet single-line brand statement. */
@media (max-width: 781px) {
  .psny-home-hero-title { max-width: none !important; white-space: nowrap; font-size: clamp(1.05rem, 5vw, 1.25rem) !important; font-weight: 300 !important; line-height: 1.5 !important; letter-spacing: .06em !important; }
  .psny-home-hero-title br { display: none !important; }
  .psny-home-hero .wp-block-buttons { margin-top: 30px !important; }
}

/* Mobile navigation hierarchy aligned with desktop header and footer sitemap. */
@media (max-width: 1000px) {
  .psny-primary-nav .wp-block-navigation__responsive-container-content::before { content: "BRAND" !important; }
  .psny-primary-nav .wp-block-navigation__responsive-container-content::after { content: "GUIDE / SHOP" !important; }
  .psny-primary-nav .wp-block-navigation__container { grid-template-rows: repeat(5, auto) !important; grid-auto-flow: unset !important; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(5) { grid-column: 1; grid-row: 1; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(3) { grid-column: 1; grid-row: 2; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(4) { grid-column: 1; grid-row: 3; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(1) { grid-column: 2; grid-row: 1; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(2) { grid-column: 2; grid-row: 2; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(6) { grid-column: 2; grid-row: 3; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(7) { grid-column: 2; grid-row: 4; margin-top: 12px !important; padding-top: 14px !important; border-top: 1px solid rgba(255,255,255,.12) !important; }
  .psny-primary-nav .wp-block-navigation-item:nth-child(8) { grid-column: 2; grid-row: 5; }
  .psny-primary-nav .wp-block-navigation__responsive-dialog::after { content: "One Textile, Many Lives."; position: absolute; right: 28px; bottom: 38px; left: 28px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.11); color: rgba(255,255,255,.38); font-family: var(--ps-font-en); font-size: .64rem; letter-spacing: .2em; }
}

/* Philosophy copy: concise hierarchy on PC, readable prose on mobile. */
@media (min-width: 782px) {
  .psny-home-intro .ps-section-title { width: min(640px, calc(100% - 400px)); max-width: 640px; font-size: clamp(1.7rem, 2.3vw, 2.2rem) !important; line-height: 1.7 !important; }
  .psny-home-intro .psny-home-copy { width: min(600px, calc(100% - 420px)); max-width: 600px; }
}
@media (max-width: 781px) {
  .psny-home-intro .ps-section-title { font-size: clamp(1.45rem, 6.2vw, 1.7rem) !important; line-height: 1.65 !important; letter-spacing: .035em !important; }
  .psny-home-intro .psny-home-copy { max-width: 34em; margin-inline: auto !important; text-align: left !important; font-size: .9rem !important; line-height: 2.05 !important; }
}

/* Shared brand-card interaction: media, title and CTA use one destination. */
.psny-card-media { overflow: hidden; }
.psny-card-media a { display: block; color: inherit; }
.psny-card-media img { transition: filter .55s cubic-bezier(.22,.61,.36,1); }
.psny-card-media a:hover img,
.psny-card-media a:focus-visible img { filter: brightness(.72); }
.psny-card-title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: opacity .55s cubic-bezier(.22,.61,.36,1);
}
.psny-card-title a:hover,
.psny-card-title a:focus-visible { opacity: .52; }
@media (prefers-reduced-motion: reduce) {
  .psny-card-media img,
  .psny-card-title a { transition: none !important; }
}

/* Mobile split cards: center the CTA without changing its intrinsic width. */
@media (max-width: 781px) {
  .psny-home-remake .psny-home-split .wp-block-buttons {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Three photographic expressions of PSNY's post-use value. */
.psny-home-lifecycle { background: var(--ps-bg-ivory); }
.psny-home-lifecycle > .psny-lifecycle-lead { width: 100% !important; max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-right: min(36vw, 520px); box-sizing: border-box; }
.psny-lifecycle-card-grid { margin-top: clamp(44px, 6vw, 76px) !important; gap: clamp(24px, 3vw, 42px) !important; }
.psny-lifecycle-card { height: 100%; }
.psny-lifecycle-card-image { aspect-ratio: 1; margin-bottom: 30px !important; }
.psny-lifecycle-card-image img { width: 100%; height: 100%; object-fit: cover; }
.psny-lifecycle-card .ps-section-label { margin-bottom: 12px !important; }
.psny-lifecycle-card h3 { margin-top: 0 !important; font-size: clamp(1.3rem, 1.8vw, 1.7rem) !important; font-weight: 400 !important; line-height: 1.55 !important; }
.psny-lifecycle-card > p:not(.ps-section-label) { min-height: 6.2em; font-size: .9rem; line-height: 2; }
.psny-lifecycle-card .wp-block-buttons { margin-top: 26px !important; }
@media (min-width: 782px) {
  .psny-home-lifecycle > .ps-section-title br { display: none; }
}
@media (max-width: 781px) {
  .psny-lifecycle-lead { padding-right: 0; }
  .psny-lifecycle-card-grid { gap: 64px !important; }
  .psny-lifecycle-card-image { margin-bottom: 24px !important; }
  .psny-lifecycle-card > p:not(.ps-section-label) { min-height: 0; }
  .psny-lifecycle-card .wp-block-buttons { width: 100%; justify-content: center !important; }
}

/* Two clear destinations: commerce and the PsLing information site. */
.psny-home-destinations { background: #eef0eb; }
.psny-destination-list { margin-top: clamp(44px, 6vw, 76px) !important; }
.psny-destination-card { position: relative; min-height: 0; margin-top: 28px !important; overflow: hidden; }
.psny-destination-image { aspect-ratio: 3 / 2; margin: 0 !important; }
.psny-destination-image a,
.psny-destination-image img { width: 100%; height: 100%; }
.psny-destination-image img { display: block; object-fit: cover; }
.psny-destination-copy { position: absolute; z-index: 2; top: 50%; right: clamp(34px, 5vw, 76px); width: min(39%, 440px); transform: translateY(-50%); }
.psny-destination-copy h3 { margin-top: 14px !important; font-size: clamp(1.55rem, 2.5vw, 2.35rem) !important; font-weight: 400 !important; line-height: 1.55 !important; }
.psny-destination-copy > p:not(.ps-section-label) { max-width: 34em; font-size: .9rem; line-height: 2; }
.psny-destination-copy .wp-block-buttons { margin-top: 28px !important; }
.psny-destination-store .psny-destination-copy,
.psny-destination-store .psny-destination-copy a { color: #fff !important; }
.psny-destination-store .psny-destination-copy .ps-section-label,
.psny-destination-store .psny-destination-copy > p { color: rgba(255,255,255,.78) !important; }
.psny-destination-store .wp-block-button__link { border-color: rgba(255,255,255,.72) !important; }
.psny-destination-psling .psny-destination-copy,
.psny-destination-psling .psny-destination-copy a { color: var(--ps-color-ink) !important; }
@media (max-width: 781px) {
  .psny-destination-list { margin-top: 38px !important; }
  .psny-destination-card { margin-top: 48px !important; overflow: visible; background: #fff; }
  .psny-destination-image { aspect-ratio: 3 / 2; }
  .psny-destination-image img { object-position: left center; }
  .psny-destination-copy { position: static; width: 100%; padding: 30px 22px 34px !important; transform: none; }
  .psny-destination-copy h3 { font-size: 1.45rem !important; }
  .psny-destination-copy .wp-block-buttons { width: 100%; justify-content: center !important; }
  .psny-destination-store .psny-destination-copy,
  .psny-destination-store .psny-destination-copy a,
  .psny-destination-store .psny-destination-copy .ps-section-label,
  .psny-destination-store .psny-destination-copy > p { color: var(--ps-color-ink) !important; }
  .psny-destination-store .wp-block-button__link { border-color: var(--ps-color-ink) !important; }
}

/* CTA IMAGE TONE — PSNY Ink 14% + saturation 90% */
.psny-consultation-visual { position: relative; overflow: hidden; background: var(--ps-color-ink, #202724); }
.psny-consultation-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: rgba(32,39,36,.14); }
.psny-consultation-visual img { filter: saturate(.9); }
/* /CTA IMAGE TONE */

/* FOOTER OTHER SHOPS */
.psny-footer-other-shops { margin-top: 38px !important; gap: 12px 22px !important; color: rgba(255,255,255,.46); font-size: .66rem !important; letter-spacing: .08em; }
.psny-footer-other-shops p { margin: 0 !important; }
.psny-footer-other-label { text-transform: uppercase; letter-spacing: .2em !important; }
.psny-footer-other-links { display: flex; flex-wrap: wrap; gap: 8px; }
.psny-footer-other-links span { opacity: .45; }
.psny-footer-other-links a { transition: color .3s ease; }
.psny-footer-other-links a:hover { color: #fff !important; }

/* Match footer text-link interaction to the desktop header underline. */
.psny-site-footer :is(.psny-footer-nav .wp-block-navigation-item__content,.psny-footer-other-links a,.psny-footer-bottom a){
  position:relative;
  display:inline-block;
  padding-bottom:4px;
  transition:color .3s ease;
}
.psny-site-footer :is(.psny-footer-nav .wp-block-navigation-item__content,.psny-footer-other-links a,.psny-footer-bottom a)::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.psny-site-footer :is(.psny-footer-nav .wp-block-navigation-item__content,.psny-footer-other-links a,.psny-footer-bottom a):is(:hover,:focus-visible){
  color:#fff!important;
}
.psny-site-footer :is(.psny-footer-nav .wp-block-navigation-item__content,.psny-footer-other-links a,.psny-footer-bottom a):is(:hover,:focus-visible)::after{
  transform:scaleX(1);
  transform-origin:left;
}
/* /FOOTER OTHER SHOPS */

/* MOBILE TYPOGRAPHY + FOOTER SITEMAP ALIGNMENT */
.psny-home-lifecycle > .psny-lifecycle-lead { width:100% !important; max-width:760px !important; margin-left:0 !important; margin-right:auto !important; padding-right:0 !important; box-sizing:border-box; }
.psny-lifecycle-card .ps-section-label,.psny-lifecycle-card h3 { text-align:center !important; }
.psny-footer-sitemap > .ps-section-label,
.psny-footer-sitemap-title {
  width:100%;
  max-width:none !important;
  margin-right:0 !important;
  margin-left:0 !important;
  text-align:left !important;
}
.psny-footer-sitemap-title {
  margin-bottom:30px !important;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
@media (max-width:781px){ .psny-home-lifecycle > .psny-lifecycle-lead { max-width:none !important; padding-right:0 !important; } }
/* /MOBILE TYPOGRAPHY + FOOTER SITEMAP ALIGNMENT */

/* CTA MOBILE INTENTIONAL BREAK */
@media (max-width:781px){ .psny-consultation-copy .ps-section-title br { display:block !important; } }
/* /CTA MOBILE INTENTIONAL BREAK */

/* =========================================================
   PSNY SHARED PAGE SYSTEM
   ========================================================= */
:root {
  --psny-width-wide: 1440px;
  --psny-width-content: 1200px;
  --psny-width-copy: 760px;
  --psny-gutter: clamp(20px, 4vw, 64px);
  --psny-section-space: clamp(80px, 9vw, 132px);
  --psny-section-space-compact: clamp(56px, 6vw, 88px);
  --psny-column-gap: clamp(36px, 6vw, 88px);
  --psny-card-gap: clamp(24px, 3vw, 42px);
  --psny-page-hero-height: clamp(420px, 34vw, 520px);
  --psny-transition: .45s cubic-bezier(.22,.61,.36,1);
}
.psny-shell-wide { width: min(calc(100% - (var(--psny-gutter) * 2)), var(--psny-width-wide)); margin-inline: auto !important; }
.psny-shell { width: min(calc(100% - (var(--psny-gutter) * 2)), var(--psny-width-content)); margin-inline: auto !important; }
.psny-copy-width { width: 100%; max-width: var(--psny-width-copy) !important; }
.psny-section { padding: var(--psny-section-space) var(--psny-gutter) !important; }
.psny-section--compact { padding-block: var(--psny-section-space-compact) !important; }
.psny-section--ivory { background: var(--ps-bg-ivory, #fdfaf5); }
.psny-section--mist { background: #eef0eb; }
.psny-section--ink { background: var(--ps-color-ink, #202724); color: #fff; }
.psny-heading-set { margin-bottom: clamp(36px, 5vw, 64px) !important; }
.psny-heading-set > .ps-section-label { margin-bottom: 14px !important; }
.psny-heading-set > .ps-section-title { margin: 0 !important; font-weight: 300 !important; line-height: 1.65 !important; letter-spacing: .06em !important; }
.psny-heading-set--center { text-align: center; }
.psny-heading-set--center > * { margin-inline: auto !important; }
.psny-page-hero { position: relative; min-height: var(--psny-page-hero-height); overflow: hidden; }
.psny-page-hero .wp-block-cover__image-background,
.psny-page-hero > img { width: 100%; height: 100%; object-fit: cover; }
.psny-page-hero .wp-block-cover__inner-container { width: min(calc(100% - (var(--psny-gutter) * 2)), var(--psny-width-content)); margin-inline: auto; }
.psny-page-hero-title { max-width: 18em; margin: 0 !important; font-size: clamp(2rem, 3.4vw, 3.35rem) !important; font-weight: 300 !important; line-height: 1.55 !important; letter-spacing: .065em !important; }
.psny-page-hero--text-below { min-height: 0; }
.psny-page-hero--text-below .psny-page-hero-media { height: var(--psny-page-hero-height); }
.psny-page-hero--text-below .psny-page-hero-copy { padding: clamp(42px, 5vw, 72px) var(--psny-gutter) !important; }
.psny-breadcrumb { width: min(calc(100% - (var(--psny-gutter) * 2)), var(--psny-width-content)); margin: 0 auto !important; padding-block: 18px !important; color: rgba(32,39,36,.58); font-size: .68rem !important; letter-spacing: .08em; }
.psny-breadcrumb a { color: inherit; text-decoration: none; }
.psny-columns-2 { gap: var(--psny-column-gap) !important; }
.psny-cards-3 { gap: var(--psny-card-gap) !important; }
.psny-card { height: 100%; }
.psny-card .psny-card-media { overflow: hidden; }
.psny-card .psny-card-media img { width: 100%; transition: filter var(--psny-transition); }
.psny-card .psny-card-media a:hover img,
.psny-card .psny-card-media a:focus-visible img { filter: brightness(.72); }
.psny-card .psny-card-title a { color: inherit; text-decoration: none; transition: opacity var(--psny-transition); }
.psny-card .psny-card-title a:hover,
.psny-card .psny-card-title a:focus-visible { opacity: .52; }
.psny-common-cta { padding: 0 !important; background: var(--ps-color-ink, #202724); color: #fff; }
/* FAQ ends with its own LINE/email support block, so avoid a duplicate contact CTA. */
body.page-id-304 .psny-common-cta { display: none; }
.psny-common-cta .psny-consultation-columns { height: 480px; }
.psny-common-cta .psny-consultation-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: rgba(32,39,36,.14); }
.psny-common-cta .psny-consultation-visual img { filter: saturate(.9); }
@media (max-width: 781px) {
  :root { --psny-gutter: 20px; --psny-section-space: 72px; --psny-section-space-compact: 52px; --psny-page-hero-height: clamp(300px, 92vw, 380px); }
  .psny-shell-wide, .psny-shell { width: calc(100% - 40px); }
  .psny-heading-set > .ps-section-title { font-size: clamp(1.65rem, 8vw, 2.15rem) !important; }
  .psny-page-hero-title { max-width: none; font-size: clamp(1.8rem, 8.5vw, 2.35rem) !important; }
  .psny-columns-2, .psny-cards-3 { gap: 52px !important; }
  .psny-common-cta .psny-consultation-columns { height: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .psny-card .psny-card-media img, .psny-card .psny-card-title a { transition: none !important; }
}

/* =========================================================
   FIXED PAGE SHARED APPLICATION
   ========================================================= */
body:is(.page-id-296, .page-id-306, .page-id-307, .page-id-303, .page-id-304)
  .wp-block-post-content > .wp-block-group.is-layout-constrained {
  width: min(calc(100% - (var(--psny-gutter) * 2)), var(--psny-width-content)) !important;
  max-width: var(--psny-width-content) !important;
  margin-inline: auto !important;
  box-sizing: border-box;
}
body:is(.page-id-296, .page-id-306, .page-id-307, .page-id-303, .page-id-304)
  .wp-block-post-content > .wp-block-group.is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--psny-width-content) !important;
}
.psny-common-cta .psny-consultation-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-radius: 0 !important;
}
.psny-common-cta .psny-consultation-button .wp-block-button__link::after {
  content: "→";
  transition: transform var(--psny-transition);
}
.psny-common-cta .psny-consultation-button .wp-block-button__link:hover::after,
.psny-common-cta .psny-consultation-button .wp-block-button__link:focus-visible::after {
  transform: translateX(5px);
}

/* Top: Three Possibilities lead alignment */
@media (min-width: 901px) {
  .page-id-346 .psny-home-lifecycle .psny-lifecycle-lead {
    margin-left: max(0px, calc(50% - 600px)) !important;
    margin-right: auto !important;
  }
}

/* =========================================================
   REMAKE MENU PAGE
   ========================================================= */
body:is(.page-id-279,.page-id-280,.page-id-281) .wp-block-post-content {
  color: var(--ps-color-ink, #202724);
}
body:is(.page-id-279,.page-id-280,.page-id-281) .wp-block-post-content > :is(.psny-menu-hero, .psny-menu-section, .psny-menu-cta) {
  width: 100vw !important;
  max-width: none !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
  padding: clamp(72px, 8vw, 118px) var(--psny-gutter) !important;
  box-sizing: border-box !important;
}
body:is(.page-id-279,.page-id-280,.page-id-281) .wp-block-post-content > :is(.psny-menu-hero, .psny-menu-section, .psny-menu-cta)
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  width: 100%;
  max-width: var(--psny-width-content) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box;
}
.psny-menu-hero {
  min-height: clamp(290px, 26vw, 340px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--ps-color-ink, #202724);
  color: #fff;
}
body:is(.page-id-279,.page-id-280,.page-id-281) .wp-block-post-content > .psny-menu-hero {
  padding-top: clamp(24px, 2.4vw, 32px) !important;
  padding-bottom: clamp(24px, 2.4vw, 32px) !important;
}
.psny-menu-hero .psny-eyebrow,
.psny-menu-cta .psny-eyebrow {
  color: rgba(255,255,255,.58) !important;
}
.psny-menu-hero h1 {
  max-width: 13em !important;
  margin-top: 10px !important;
  margin-bottom: 16px !important;
  font-size: clamp(2.05rem, 3.2vw, 3.25rem) !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
  letter-spacing: .055em !important;
}
.psny-menu-lead {
  max-width: 46em !important;
  margin-left: max(0px, calc(50% - 600px)) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: rgba(255,255,255,.76);
  line-height: 1.85;
}
.psny-menu-section:nth-of-type(odd) { background: #f4f1eb; }
.psny-menu-section > .psny-eyebrow,
.psny-menu-section > h2 {
  text-align: center;
}
.psny-menu-section > h2 {
  margin-top: 14px !important;
  margin-bottom: clamp(40px, 5vw, 68px) !important;
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  letter-spacing: .06em !important;
}
.psny-menu-grid {
  gap: clamp(18px, 2.6vw, 36px) !important;
}
.psny-menu-card {
  min-height: 330px;
  padding: clamp(28px, 3vw, 42px) !important;
  border: 1px solid rgba(32,39,36,.18);
  background: #fff;
  box-sizing: border-box;
}
.psny-menu-number {
  margin: 0 0 42px !important;
  color: rgba(32,39,36,.46);
  font-family: var(--ps-font-en) !important;
  font-size: .72rem !important;
  letter-spacing: .18em;
}
.psny-menu-card h3 {
  margin-bottom: 22px !important;
  font-size: clamp(1.25rem, 1.7vw, 1.55rem) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}
.psny-menu-card > p:not(.psny-menu-number):not(.psny-menu-price) {
  color: rgba(32,39,36,.72);
  font-size: .92rem;
  line-height: 1.95;
}
.psny-menu-price {
  margin-top: 32px !important;
  padding-top: 18px;
  border-top: 1px solid rgba(32,39,36,.14);
  font-size: .78rem !important;
  letter-spacing: .05em;
}
.psny-menu-note {
  margin-top: 36px !important;
  padding: 22px 26px;
  border-left: 2px solid var(--psny-ring-brass, #a8875f);
  background: rgba(255,255,255,.62);
  color: rgba(32,39,36,.72);
  font-size: .88rem !important;
  line-height: 1.9;
}
.psny-menu-estimate {
  background: var(--ps-color-ink, #202724) !important;
  color: #fff;
}
.psny-menu-estimate > .wp-block-columns {
  gap: clamp(48px, 8vw, 120px) !important;
  align-items: center !important;
}
.psny-menu-estimate h2 {
  margin-top: 14px !important;
  margin-bottom: 26px !important;
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  font-weight: 300 !important;
}
.psny-menu-estimate p { color: rgba(255,255,255,.72); line-height: 2; }
.psny-menu-estimate-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  border-top: 1px solid rgba(255,255,255,.2);
}
.psny-menu-estimate-list li {
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.72);
  line-height: 1.8;
}
.psny-menu-estimate-list strong { color: #fff; font-weight: 400; }
.psny-menu-points,
.psny-menu-safety-grid {
  gap: 0 !important;
  border-top: 1px solid rgba(32,39,36,.18);
  border-left: 1px solid rgba(32,39,36,.18);
}
.psny-menu-points > .wp-block-column,
.psny-menu-safety-grid > .wp-block-column {
  padding: clamp(24px, 3vw, 38px) !important;
  border-right: 1px solid rgba(32,39,36,.18);
  border-bottom: 1px solid rgba(32,39,36,.18);
  background: #fff;
}
.psny-menu-points h3,
.psny-menu-safety-grid h3 {
  margin-bottom: 18px !important;
  font-size: 1.12rem !important;
  font-weight: 400 !important;
}
.psny-menu-points p,
.psny-menu-safety-grid p {
  color: rgba(32,39,36,.7);
  font-size: .87rem;
  line-height: 1.9;
}
.psny-menu-safety > p:not(.psny-eyebrow) {
  max-width: 760px !important;
  margin-bottom: 46px !important;
  line-height: 2;
  text-align: center;
}
.psny-menu-cta {
  background: #e7e0d5;
  text-align: center;
}
.psny-menu-cta h2 {
  margin-top: 14px !important;
  margin-bottom: 24px !important;
  font-size: clamp(2rem, 3.3vw, 3.1rem) !important;
  font-weight: 300 !important;
}
.psny-menu-cta > p:not(.psny-eyebrow) {
  max-width: 720px !important;
  line-height: 2;
}
.psny-menu-cta .wp-block-buttons {
  margin-top: 36px !important;
  gap: 14px;
}
.psny-menu-cta .wp-block-button__link {
  min-width: 220px;
  padding: 16px 24px !important;
  border-radius: 0 !important;
}
@media (max-width: 781px) {
  body:is(.page-id-279,.page-id-280,.page-id-281) .wp-block-post-content > :is(.psny-menu-hero, .psny-menu-section, .psny-menu-cta) {
    padding: 64px 20px !important;
  }
  .psny-menu-hero { min-height: 280px; }
  body:is(.page-id-279,.page-id-280,.page-id-281) .wp-block-post-content > .psny-menu-hero {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
  .psny-menu-hero h1 { font-size: clamp(1.8rem, 8.3vw, 2.25rem) !important; }
  .psny-menu-hero h1 br { display: none; }
  .psny-menu-grid { gap: 18px !important; }
  .psny-menu-card { min-height: 0; }
  .psny-menu-number { margin-bottom: 24px !important; }
  .psny-menu-estimate > .wp-block-columns { gap: 44px !important; }
  .psny-menu-points,
  .psny-menu-safety-grid { border-left: 0; }
  .psny-menu-points > .wp-block-column,
  .psny-menu-safety-grid > .wp-block-column { border-left: 1px solid rgba(32,39,36,.18); }
  .psny-menu-cta .wp-block-buttons,
  .psny-menu-cta .wp-block-button,
  .psny-menu-cta .wp-block-button__link { width: 100%; }
}

/* =========================================================
   LEGAL / PRIVACY PAGES
   ========================================================= */
/* =========================================================
   CONTACT PAGE (moved from page 303 content)
   ========================================================= */
.psny-contact-page{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;--contact-ink:#1c2723;--contact-paper:#f4f2ec;--contact-line:#06c755;--contact-rule:rgba(28,39,35,.18)}
.psny-contact-page>section{box-sizing:border-box;padding:clamp(64px,8vw,112px) 24px}
.psny-contact-page>section>*{max-width:1152px;margin-left:auto;margin-right:auto}
.psny-contact-page .psny-contact-hero{padding-top:clamp(72px,9vw,128px);padding-bottom:clamp(64px,8vw,104px);background:var(--contact-paper)}
.psny-contact-page .psny-contact-hero h1{max-width:800px;margin-top:16px;font-family:"Times New Roman","Noto Serif JP",serif;font-size:clamp(34px,4.3vw,62px);font-weight:400;line-height:1.35;letter-spacing:.04em}
.psny-contact-page .psny-contact-lead{max-width:720px!important;margin-top:28px!important;line-height:2}
.psny-contact-page .psny-eyebrow{font-family:"Times New Roman",serif;font-size:10px;letter-spacing:.28em}
.psny-contact-page .psny-line-section{background:#fff}
.psny-contact-page .psny-line-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);max-width:1152px!important;background:var(--contact-ink);color:#fff}
.psny-contact-page .psny-line-main{padding:clamp(42px,6vw,76px)}
.psny-contact-page .psny-line-main h2{margin:14px 0 22px;font-family:"Times New Roman","Noto Serif JP",serif;font-size:clamp(30px,3.4vw,46px);font-weight:400;line-height:1.45}
.psny-contact-page .psny-line-main>p:not(.psny-eyebrow){max-width:650px;line-height:1.9;color:rgba(255,255,255,.82)}
.psny-contact-page .psny-line-button .wp-block-button__link{display:inline-flex;align-items:center;gap:18px;margin-top:24px;padding:18px 28px;border:1px solid var(--contact-line);border-radius:0;background:var(--contact-line);color:#071b0e;transition:background .25s,color .25s}
.psny-contact-page .psny-line-button .wp-block-button__link::after{content:"→";transition:transform .25s}
.psny-contact-page .psny-line-button .wp-block-button__link:hover{background:transparent;color:#fff}
.psny-contact-page .psny-line-button .wp-block-button__link:hover::after{transform:translateX(5px)}
.psny-contact-page .psny-line-meta{padding:clamp(42px,5vw,68px);background:rgba(255,255,255,.055);display:flex;flex-direction:column;justify-content:center}
.psny-contact-page .psny-line-meta ol{margin:20px 0 0;padding:0;list-style:none;counter-reset:lineflow}
.psny-contact-page .psny-line-meta li{counter-increment:lineflow;padding:18px 0;border-top:1px solid rgba(255,255,255,.18);line-height:1.7}
.psny-contact-page .psny-line-meta li::before{content:"0" counter(lineflow);display:block;margin-bottom:5px;font-family:"Times New Roman",serif;font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.55)}
.psny-contact-page .psny-contact-guide{background:var(--contact-paper)}
.psny-contact-page .psny-contact-guide h2,.psny-contact-page .psny-contact-form-section h2,.psny-contact-page .psny-contact-links h2{font-family:"Times New Roman","Noto Serif JP",serif;font-weight:400;line-height:1.5}
.psny-contact-page .psny-contact-points{gap:0;margin-top:42px}
.psny-contact-page .psny-contact-points>.wp-block-column{padding:30px;border-top:1px solid var(--contact-rule);border-bottom:1px solid var(--contact-rule)}
.psny-contact-page .psny-contact-points>.wp-block-column+.wp-block-column{border-left:1px solid var(--contact-rule)}
.psny-contact-page .psny-contact-number{font-family:"Times New Roman",serif;font-size:11px;letter-spacing:.18em}
.psny-contact-page .psny-contact-note{margin-top:28px!important;text-align:center}
.psny-contact-page .psny-contact-form-section{background:#fff}
.psny-contact-page .psny-contact-layout{gap:clamp(42px,7vw,92px);align-items:flex-start}
.psny-contact-page .psny-contact-form-intro{flex-basis:36%!important}
.psny-contact-page .psny-contact-form-wrap{flex-basis:64%!important;padding:clamp(28px,4vw,48px);background:var(--contact-paper)}
.psny-contact-page .psny-contact-form-wrap input:not([type=checkbox]):not([type=submit]),.psny-contact-page .psny-contact-form-wrap textarea{box-sizing:border-box;width:100%;border:0;border-bottom:1px solid #6d736f;border-radius:0;background:transparent;padding:10px 2px}
.psny-contact-page .psny-contact-form-wrap input[type=submit]{border:1px solid var(--contact-ink);border-radius:0;background:transparent;padding:15px 24px;transition:background .25s,color .25s}
.psny-contact-page .psny-contact-form-wrap input[type=submit]:hover{background:var(--contact-ink);color:#fff}
.psny-contact-page .psny-contact-links{text-align:center;background:var(--contact-paper)}
@media(max-width:781px){
.psny-contact-page>section{padding:58px 20px}
.psny-contact-page .psny-line-card{grid-template-columns:1fr}
.psny-contact-page .psny-line-main,.psny-contact-page .psny-line-meta{padding:34px 26px}
.psny-contact-page .psny-contact-points>.wp-block-column{padding:24px 0;border-left:0!important;border-bottom:0}
.psny-contact-page .psny-contact-points>.wp-block-column:last-child{border-bottom:1px solid var(--contact-rule)}
.psny-contact-page .psny-contact-form-wrap{padding:24px 18px}
}

/* =========================================================
   FAQ PAGE (moved from page 304 content)
   ========================================================= */
.psny-faq-page{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;--faq-ink:#1c2723;--faq-paper:#f4f2ec;--faq-line:rgba(28,39,35,.18)}
.psny-faq-page>section{box-sizing:border-box;padding:clamp(64px,8vw,112px) 24px}
.psny-faq-page>section>*{max-width:1080px;margin-left:auto;margin-right:auto}
.psny-faq-page .psny-faq-hero{background:var(--faq-ink);color:#fff;text-align:center}
.psny-faq-page .psny-faq-hero h1{margin:16px 0 20px;font-family:"Times New Roman","Noto Serif JP",serif;font-size:clamp(38px,4.5vw,62px);font-weight:400;letter-spacing:.08em}
.psny-faq-page .psny-faq-lead{max-width:720px!important;line-height:1.9;color:rgba(255,255,255,.78)}
.psny-faq-page .psny-eyebrow{font-family:"Times New Roman",serif;font-size:10px;letter-spacing:.28em}
.psny-faq-page .psny-faq-nav{background:var(--faq-paper)}
.psny-faq-page .psny-faq-nav h2{font-family:"Times New Roman","Noto Serif JP",serif;font-weight:400}
.psny-faq-page .psny-faq-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.psny-faq-page .psny-faq-nav-card{display:block;box-sizing:border-box;min-height:150px;padding:26px;border:1px solid var(--faq-line);background:#fff;color:inherit;text-decoration:none;transition:background .25s,color .25s,transform .25s}
.psny-faq-page .psny-faq-nav-card:hover{background:var(--faq-ink);color:#fff;transform:translateY(-3px)}
.psny-faq-page .psny-faq-nav-card small{display:block;margin-bottom:14px;font-family:"Times New Roman",serif;font-size:9px;letter-spacing:.2em;opacity:.58}
.psny-faq-page .psny-faq-nav-card strong{font-size:18px;font-weight:400}
.psny-faq-page .psny-faq-nav-card span{display:block;margin-top:24px;font-size:12px;opacity:.62}
.psny-faq-page .psny-faq-body{background:#fff}
.psny-faq-page .psny-faq-group{max-width:920px;margin:0 auto;scroll-margin-top:100px}
.psny-faq-page .psny-faq-group+.psny-faq-group{margin-top:88px}
.psny-faq-page .psny-faq-group h2{margin:12px 0 30px;font-family:"Times New Roman","Noto Serif JP",serif;font-size:clamp(27px,3vw,38px);font-weight:400}
.psny-faq-page .psny-faq-list{border-top:1px solid var(--faq-line)}
.psny-faq-page details.psny-faq-item{margin:0;border-bottom:1px solid var(--faq-line)}
.psny-faq-page details.psny-faq-item summary{position:relative;display:grid;grid-template-columns:32px 1fr 24px;align-items:center;gap:16px;min-height:76px;padding:16px 8px;cursor:pointer;list-style:none;font-size:16px;line-height:1.75;transition:color .2s}
.psny-faq-page details.psny-faq-item summary::-webkit-details-marker{display:none}
.psny-faq-page details.psny-faq-item summary::before{content:"Q";display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--faq-line);border-radius:50%;font-family:"Times New Roman",serif;font-size:11px}
.psny-faq-page details.psny-faq-item summary::after{content:"＋";grid-column:3;font-size:18px;font-weight:300;transition:transform .25s}
.psny-faq-page details.psny-faq-item summary:hover{color:#657267}
.psny-faq-page details.psny-faq-item[open] summary::after{transform:rotate(45deg)}
.psny-faq-page .psny-faq-answer{margin:0!important;padding:0 64px 28px;line-height:2;color:#505854}
.psny-faq-page .psny-faq-support{text-align:center;background:var(--faq-paper)}
.psny-faq-page .psny-faq-support h2{font-family:"Times New Roman","Noto Serif JP",serif;font-weight:400}
.psny-faq-page .psny-faq-support .wp-block-buttons{justify-content:center;margin-top:28px}
.psny-faq-page .psny-faq-line-button .wp-block-button__link{border:1px solid #06c755;border-radius:0;background:#06c755;color:#071b0e;padding:16px 24px;transition:background .25s,color .25s}
.psny-faq-page .psny-faq-line-button .wp-block-button__link:hover{background:transparent;color:var(--faq-ink)}
@media(max-width:781px){
.psny-faq-page>section{padding:58px 20px}
.psny-faq-page .psny-faq-nav-grid{grid-template-columns:1fr}
.psny-faq-page .psny-faq-nav-card{min-height:0}
.psny-faq-page details.psny-faq-item summary{grid-template-columns:28px 1fr 20px;gap:10px;min-height:72px;padding:14px 0;font-size:15px}
.psny-faq-page .psny-faq-answer{padding:0 38px 24px;font-size:14px}
.psny-faq-page .psny-faq-group+.psny-faq-group{margin-top:68px}
}

body:is(.page-id-306,.page-id-307) .wp-block-post-content {
  padding: 0 !important;
  color: var(--ps-color-ink, #202724);
}
body:is(.page-id-306,.page-id-307) .wp-block-post-content > .psny-legal {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body:is(.page-id-306,.page-id-307) .psny-legal__hero {
  width: 100vw !important;
  max-width: none !important;
  min-height: clamp(360px, 35vw, 500px);
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
  padding: clamp(76px, 8vw, 118px) var(--psny-gutter) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--ps-color-ink, #202724);
  color: #fff;
  box-sizing: border-box;
}
body:is(.page-id-306,.page-id-307) .psny-legal__hero > * {
  width: min(100%, var(--psny-width-content));
  max-width: var(--psny-width-content) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
.psny-kicker {
  color: rgba(255,255,255,.56);
  font-family: var(--ps-font-en) !important;
  font-size: .68rem !important;
  letter-spacing: .28em;
}
.psny-legal__hero h1 {
  margin-top: 18px !important;
  margin-bottom: 28px !important;
  font-size: clamp(2.5rem, 4.6vw, 4.7rem) !important;
  font-weight: 300 !important;
  line-height: 1.45 !important;
  letter-spacing: .055em !important;
}
.psny-legal__hero > p:last-child {
  max-width: min(46em, var(--psny-width-content)) !important;
  margin-left: max(0px, calc(50% - 600px)) !important;
  color: rgba(255,255,255,.74);
  line-height: 2;
}
.psny-legal__section,
.psny-legal__cards,
.psny-legal__note,
.psny-legal__body {
  width: min(calc(100% - (var(--psny-gutter) * 2)), var(--psny-width-content)) !important;
  max-width: var(--psny-width-content) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box;
}
.psny-legal__section { padding: clamp(72px, 8vw, 112px) 0 0 !important; }
.psny-legal__section h2,
.psny-legal__note h2 {
  margin-bottom: 32px !important;
  font-size: clamp(1.8rem, 3vw, 2.7rem) !important;
  font-weight: 300 !important;
}
.psny-legal__table { margin: 0 !important; }
.psny-legal__table table { border-collapse: collapse; }
.psny-legal__table :is(th,td) {
  padding: 22px 20px;
  border: 0;
  border-bottom: 1px solid rgba(32,39,36,.16);
  text-align: left;
  line-height: 1.8;
}
.psny-legal__table th { width: 24%; color: rgba(32,39,36,.58); font-weight: 400; }
.psny-legal a { color: inherit; text-underline-offset: .25em; }
.psny-legal__cards {
  padding: clamp(72px, 8vw, 112px) 0 !important;
  gap: clamp(20px, 3vw, 40px) !important;
}
.psny-legal__cards > .wp-block-column {
  min-height: 290px;
  padding: clamp(30px, 4vw, 48px) !important;
  border: 1px solid rgba(32,39,36,.17);
  background: #fff;
}
.psny-legal__cards h2 { font-size: clamp(1.4rem, 2vw, 1.8rem) !important; font-weight: 400 !important; }
.psny-legal__cards p { color: rgba(32,39,36,.7); line-height: 1.9; }
.psny-legal__cards p:last-child { margin-top: 36px !important; }
.psny-legal__note {
  margin-bottom: clamp(72px, 8vw, 112px) !important;
  padding: clamp(36px, 5vw, 64px) !important;
  border-left: 3px solid var(--psny-ring-brass, #a8875f);
  background: #f2eee7;
}
.psny-legal__note p { max-width: 55em; color: rgba(32,39,36,.72); line-height: 2; }
.psny-privacy .psny-legal__body {
  max-width: 900px !important;
  padding: clamp(72px, 8vw, 112px) 0 !important;
}
.psny-privacy .psny-legal__body h2 {
  margin-top: clamp(56px, 7vw, 84px) !important;
  margin-bottom: 22px !important;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(32,39,36,.18);
  font-size: clamp(1.45rem, 2.4vw, 2rem) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
.psny-privacy .psny-legal__body h2:first-child { margin-top: 0 !important; }
.psny-privacy .psny-legal__body :is(p,li) {
  color: rgba(32,39,36,.76);
  line-height: 2.05;
}
.psny-privacy .psny-legal__body ul { padding-left: 1.4em; }
.psny-privacy .psny-legal__body li + li { margin-top: 10px; }
.psny-legal__updated {
  margin-top: 72px !important;
  padding-top: 24px;
  border-top: 1px solid rgba(32,39,36,.18);
  color: rgba(32,39,36,.5) !important;
  font-size: .78rem !important;
}
@media (max-width: 781px) {
  body:is(.page-id-306,.page-id-307) .psny-legal__hero { min-height: 390px; padding: 64px 20px !important; }
  .psny-legal__hero h1 { font-size: clamp(2rem, 10vw, 2.8rem) !important; }
  .psny-legal__section,
  .psny-legal__cards,
  .psny-legal__note,
  .psny-legal__body { width: calc(100% - 40px) !important; }
  .psny-legal__table :is(th,td) { display: block; width: 100%; padding: 12px 0; box-sizing: border-box; }
  .psny-legal__table th { padding-top: 22px; border-bottom: 0; }
  .psny-legal__cards { gap: 18px !important; }
  .psny-legal__cards > .wp-block-column { min-height: 0; }
  .psny-privacy .psny-legal__body { padding-block: 64px !important; }
}

/* Full-width correction for constrained page wrappers. */
html body:is(.page-id-306,.page-id-307) .entry-content.wp-block-post-content {
  width: 100vw !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}
html body:is(.page-id-306,.page-id-307) .entry-content.wp-block-post-content > main.wp-block-group.psny-legal {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}
html body:is(.page-id-306,.page-id-307) .entry-content.wp-block-post-content > main.psny-legal > .psny-legal__hero {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
/* Keep the privacy page shell full-width while constraining the readable body. */
html body.page-id-307.page.page-child .entry-content.wp-block-post-content > main.wp-block-group.psny-legal.psny-privacy > .psny-legal__body.psny-legal__body {
  width: min(calc(100% - 48px), 900px) !important;
  max-width: 900px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
html body.page-id-298 .entry-content.wp-block-post-content {
  width: 100vw !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}
html body.page-id-298 .entry-content.wp-block-post-content > main.psny-phil {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
/* Direction update: balanced PSNY navigation and home content, 2026-08-15. */
.psny-home-hero .psny-home-lead{display:block!important}
.psny-home-current-works .psny-home-copy,.psny-home-stories .psny-home-copy,.psny-home-destinations .psny-home-copy{margin-bottom:clamp(32px,4vw,52px)!important}
.psny-two-ways-grid>.wp-block-column{display:flex}.psny-two-ways-grid .psny-home-card{width:100%}
@media(min-width:782px){
  .psny-primary-nav .wp-block-navigation__container{gap:clamp(12px,1.35vw,24px)!important}
  .psny-primary-nav .wp-block-navigation-item{display:flex!important;order:initial!important;margin-left:0!important}
  .psny-primary-nav .wp-block-navigation-item:nth-child(7){margin-left:auto!important}
  .psny-primary-nav .wp-block-navigation-item:nth-child(8){margin-left:2px!important;padding-left:clamp(16px,1.5vw,24px)!important}
  .psny-primary-nav .wp-block-navigation-item__content{font-size:clamp(.58rem,.67vw,.67rem)!important;letter-spacing:.08em!important;white-space:nowrap}
  .psny-home-hero .psny-home-lead{position:absolute!important;top:49%!important;left:clamp(56px,8vw,132px)!important;width:min(520px,42vw)!important;margin:0!important;padding:0!important;background:transparent!important;font-size:.88rem!important;line-height:2!important}
}
@media(max-width:781px){
  .psny-home-hero .psny-home-lead{display:block!important;margin:26px auto 0!important;padding:0 8px!important;background:transparent!important;text-align:left!important}
}
@media(max-width:1000px){
  .psny-primary-nav .wp-block-navigation__responsive-container-content::before{content:"PSNY / WORKS"!important}
  .psny-primary-nav .wp-block-navigation__responsive-container-content::after{content:"RE-CRAFT / SUPPORT"!important}
  .psny-primary-nav .wp-block-navigation__container{grid-template-rows:repeat(8,auto)!important;grid-auto-flow:unset!important}
  .psny-primary-nav .psny-mobile-only{display:block!important}
  .psny-primary-nav .wp-block-navigation-item:nth-child(1){grid-column:1;grid-row:1}
  .psny-primary-nav .wp-block-navigation-item:nth-child(2){grid-column:1;grid-row:2}
  .psny-primary-nav .wp-block-navigation-item:nth-child(3){grid-column:1;grid-row:3}
  .psny-primary-nav .wp-block-navigation-item:nth-child(5){grid-column:1;grid-row:4}
  .psny-primary-nav .wp-block-navigation-item:nth-child(9){grid-column:1;grid-row:5}
  .psny-primary-nav .wp-block-navigation-item:nth-child(10){grid-column:1;grid-row:6}
  .psny-primary-nav .wp-block-navigation-item:nth-child(4){grid-column:2;grid-row:1}
  .psny-primary-nav .wp-block-navigation-item:nth-child(11){grid-column:2;grid-row:2}
  .psny-primary-nav .wp-block-navigation-item:nth-child(12){grid-column:2;grid-row:3}
  .psny-primary-nav .wp-block-navigation-item:nth-child(13){grid-column:2;grid-row:4}
  .psny-primary-nav .wp-block-navigation-item:nth-child(6){grid-column:2;grid-row:5}
  .psny-primary-nav .wp-block-navigation-item:nth-child(14){grid-column:2;grid-row:6}
  .psny-primary-nav .wp-block-navigation-item:nth-child(7){grid-column:2;grid-row:7;margin-top:12px!important;padding-top:14px!important;border-top:1px solid rgba(255,255,255,.12)!important}
  .psny-primary-nav .wp-block-navigation-item:nth-child(8){grid-column:2;grid-row:8}
}
@media(min-width:1001px){
  .psny-primary-nav .wp-block-navigation-item.psny-mobile-only{display:none!important}
}
@media(max-width:1000px){
  .psny-primary-nav .wp-block-navigation__responsive-container.is-menu-open{
    --psny-mobile-menu-gutter:28px;
  }
  .psny-primary-nav .wp-block-navigation__responsive-dialog{
    position:relative!important;
    height:100dvh!important;
    min-height:100vh!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-container-content{
    padding-right:var(--psny-mobile-menu-gutter)!important;
    padding-left:var(--psny-mobile-menu-gutter)!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-container-content::before{
    right:auto!important;
    left:var(--psny-mobile-menu-gutter)!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-container-content::after{
    right:var(--psny-mobile-menu-gutter)!important;
    left:auto!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-container-close{
    right:var(--psny-mobile-menu-gutter)!important;
    left:auto!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-dialog::after{
    position:absolute!important;
    right:var(--psny-mobile-menu-gutter)!important;
    bottom:calc(28px + env(safe-area-inset-bottom))!important;
    left:var(--psny-mobile-menu-gutter)!important;
  }
}
@media(max-width:480px){
  .psny-primary-nav .wp-block-navigation__responsive-container-content{
    width:calc(100% - 80px)!important;
    height:100%!important;
    margin-right:auto!important;
    margin-left:auto!important;
    padding:94px 0 112px!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-container-content::before,
  .psny-primary-nav .wp-block-navigation__responsive-container-content::after{
    width:calc(50% - 12px)!important;
    font-size:.56rem!important;
    letter-spacing:.19em!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-container-content::before{
    right:auto!important;
    left:0!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-container-content::after{
    right:0!important;
    left:auto!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-container-close{
    top:24px!important;
    right:24px!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
  }
  .psny-primary-nav .wp-block-navigation__responsive-dialog::after{
    right:40px!important;
    bottom:calc(40px + env(safe-area-inset-bottom))!important;
    left:40px!important;
    width:auto!important;
  }
}
@media(max-width:480px){
  html body .psny-site-header nav.wp-block-navigation.psny-primary-nav > .wp-block-navigation__responsive-container.is-menu-open{
    inset:0!important;
    width:100vw!important;
    margin:0!important;
    padding:0!important;
  }
  html body .psny-site-header nav.wp-block-navigation.psny-primary-nav .wp-block-navigation__responsive-container-content{
    width:100%!important;
    margin:0!important;
    padding:94px 40px 112px!important;
    box-sizing:border-box!important;
  }
  html body .psny-site-header nav.wp-block-navigation.psny-primary-nav .wp-block-navigation__responsive-container-content::before{
    right:auto!important;
    left:40px!important;
  }
  html body .psny-site-header nav.wp-block-navigation.psny-primary-nav .wp-block-navigation__responsive-container-content::after{
    right:40px!important;
    left:auto!important;
  }
  html body .psny-site-header nav.wp-block-navigation.psny-primary-nav button.wp-block-navigation__responsive-container-close{
    top:24px!important;
    right:24px!important;
    bottom:auto!important;
    left:auto!important;
    margin:0!important;
    transform:none!important;
  }
html body .psny-site-header nav.wp-block-navigation.psny-primary-nav .wp-block-navigation__responsive-dialog::after{
    right:40px!important;
    bottom:calc(40px + env(safe-area-inset-bottom))!important;
    left:40px!important;
  }
}

/* Provisional real-work imagery for Current Works and Works. */
.psny-work-card{
  display:flex;
  flex-direction:column;
  padding:0 0 clamp(28px,3vw,40px)!important;
  overflow:hidden;
}
.psny-work-card>*:not(.psny-work-card-image){
  margin-right:clamp(24px,2.8vw,36px)!important;
  margin-left:clamp(24px,2.8vw,36px)!important;
}
.psny-work-card-image{
  aspect-ratio:4/3;
  margin:0 0 28px!important;
  overflow:hidden;
  background:#e3e0d9;
}
.psny-work-card-image a{
  display:block;
  height:100%;
  border:0!important;
}
.psny-work-card-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--ps-ease);
}
.psny-work-card-image a:hover img,
.psny-work-card-image a:focus-visible img{
  transform:scale(1.025);
}
.psny-work-card-actions{
  margin-top:auto!important;
  padding-top:clamp(18px,2vw,26px);
}
.psny-work-card-actions .psny-cta-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:.75rem 1.4rem!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:.78rem!important;
  letter-spacing:.06em!important;
  line-height:1.5!important;
  text-decoration:none!important;
  white-space:nowrap;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease!important;
}
.psny-work-card-actions .psny-cta-action--dark{
  border:1px solid rgba(44,48,46,.4)!important;
  color:rgb(44,48,46)!important;
}
.psny-work-card-actions .psny-cta-action--dark:hover,
.psny-work-card-actions .psny-cta-action--dark:focus-visible{
  border-color:rgb(44,48,46)!important;
  background-color:rgb(44,48,46)!important;
  color:#fff!important;
}
.psny-cta-action-label{
  display:inline-block;
  transition:transform .4s cubic-bezier(.25,.8,.25,1);
  will-change:transform;
}
.psny-cta-action:hover .psny-cta-action-label,
.psny-cta-action:focus-visible .psny-cta-action-label{
  transform:translateX(.375rem);
}

/* TOP lead and primary destinations below the key visual. */
.psny-home-hero-intro{
  width:100%!important;
  max-width:none!important;
  padding:clamp(46px,5vw,72px) clamp(24px,6vw,96px)!important;
  box-sizing:border-box;
  background:#f7f3ed;
}
.psny-home-hero-intro__inner{
  display:grid;
  width:100%!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,340px);
  gap:clamp(56px,9vw,150px);
  align-items:start;
}
.psny-home-hero-intro .psny-home-lead{
  display:block!important;
  position:static!important;
  width:auto!important;
  max-width:720px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:var(--ps-color-ink)!important;
  font-size:.94rem!important;
  line-height:2.15!important;
}
.psny-home-hero-intro .wp-block-buttons{display:flex!important;position:static!important;width:100%!important;margin:0!important;flex-direction:column!important;gap:12px!important}
.psny-home-hero-intro .wp-block-button,.psny-home-hero-intro .wp-block-button__link{width:100%!important;box-sizing:border-box}
@media(max-width:781px){
  .psny-home-hero-intro{padding:42px 20px 50px!important}
  .psny-home-hero-intro__inner{display:block;width:100%}
  .psny-home-hero-intro .psny-home-lead{font-size:.9rem!important;line-height:2!important}
  .psny-home-hero-intro .wp-block-buttons{margin-top:30px!important}
}

/* Keep the two new editorial gateways compact inside their full-width bands. */
.psny-home-current-works > :where(.ps-section-label,.ps-section-title,.psny-home-copy,.psny-home-card-grid){
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  margin-right:auto!important;
  margin-left:auto!important;
}
.psny-home-two-ways > :where(.ps-section-label,.ps-section-title,.psny-two-ways-grid){
  width:min(100%,980px)!important;
  max-width:980px!important;
  margin-right:auto!important;
  margin-left:auto!important;
}
@media(max-width:781px){
  .psny-home-current-works > :where(.ps-section-label,.ps-section-title,.psny-home-copy,.psny-home-card-grid),
  .psny-home-two-ways > :where(.ps-section-label,.ps-section-title,.psny-two-ways-grid){width:100%!important}
}

/* Restore breathing room in the final dark CTA before the footer. */
body.home .psny-home-consultation{
  padding-top:clamp(96px,9vw,120px)!important;
  padding-bottom:clamp(96px,9vw,120px)!important;
}
@media(max-width:781px){
  body.home .psny-home-consultation{
    padding-top:72px!important;
    padding-bottom:76px!important;
  }
}

/* Compact text-only page heroes to sit below the 500px image-cover hierarchy. */
body:is(.page-id-306,.page-id-307) .psny-legal__hero,
.psny-contact-page .psny-contact-hero,
.psny-faq-page .psny-faq-hero{
  min-height:290px;
  padding-top:clamp(24px,2.4vw,32px)!important;
  padding-bottom:clamp(24px,2.4vw,32px)!important;
}
body:is(.page-id-306,.page-id-307) .psny-legal__hero :is(.psny-kicker,h1,p),
.psny-contact-page .psny-contact-hero :is(.psny-eyebrow,h1,p),
.psny-faq-page .psny-faq-hero :is(.psny-eyebrow,h1,p){
  margin-top:0!important;
  margin-bottom:0!important;
}
body:is(.page-id-306,.page-id-307) .psny-legal__hero h1,
.psny-contact-page .psny-contact-hero h1,
.psny-faq-page .psny-faq-hero h1{
  margin-top:10px!important;
  margin-bottom:16px!important;
  font-size:clamp(2.05rem,3.2vw,3.25rem)!important;
  line-height:1.4!important;
}
body:is(.page-id-306,.page-id-307) .psny-legal__hero>p:last-child,
.psny-contact-page .psny-contact-hero .psny-contact-lead,
.psny-faq-page .psny-faq-hero .psny-faq-lead{
  line-height:1.85!important;
}
@media(max-width:781px){
  body:is(.page-id-306,.page-id-307) .psny-legal__hero,
  .psny-contact-page .psny-contact-hero,
  .psny-faq-page .psny-faq-hero{
    min-height:280px;
    padding:28px 20px!important;
  }
  body:is(.page-id-306,.page-id-307) .psny-legal__hero h1,
  .psny-contact-page .psny-contact-hero h1,
  .psny-faq-page .psny-faq-hero h1{
    font-size:clamp(1.8rem,8.3vw,2.25rem)!important;
  }
}
