 /* ==========================================================================
    Top Page — Section spacing & shared patterns
    ========================================================================== */
 /* フルブリードのヒーロー(.ep-top-hero)が 100vw 幅で縦スクロールバー分だけ
    右にはみ出し、PC(縦スクロールバー有り)で横スクロール＝左右ブレを起こすのを抑止。
    このファイルはフロントページのみ読み込まれるため影響はトップページに限定。
    overflow-x:hidden は overflow-y を auto へ強制するため縦スクロールは維持される
    (clip 単独だと y=visible のペアリングで抑止が効かない: 検証で確認済)。
    当サイトのヘッダーは sticky/fixed を使っていないため副作用なし。 */
 html { overflow-x: hidden; }

 .trust-section,
 .signature-towers,
 .ep-osaka-prime-collection,
 .ep-premium-residences,
 .ep-investment-score-ranking,
 .ep-feature-cards-section {
     margin-top: var(--ep-space-20, 80px);
     margin-bottom: var(--ep-space-20, 80px);
 }
 @media (max-width: 768px) {
     .trust-section,
     .signature-towers,
     .ep-osaka-prime-collection,
     .ep-premium-residences,
     .ep-investment-score-ranking,
     .ep-feature-cards-section {
         margin-top: var(--ep-space-12, 48px);
         margin-bottom: var(--ep-space-12, 48px);
     }
 }

 /* ==========================================================================
    Top Hero (Front Page)
    ========================================================================== */
 .ep-has-top-hero #wp--skip-link--target {
     margin-top: 0 !important;
 }

 .home .wp-block-post-title {
     display: none !important;
 }

 .ep-top-hero {
     position: relative;
     width: 100vw;
     max-width: 100vw;
     left: 50%;
     right: 50%;
     margin-left: -50vw;
     margin-right: -50vw;
     margin-top: 0;
     margin-bottom: 16px;
     overflow: hidden;
     min-height: min(84vh, 860px);
     background: #111;
     box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.5);
 }

 .ep-top-hero-media {
     position: relative;
     min-height: min(84vh, 860px);
 }

 /* Poster layer: shown when the video cannot autoplay (iOS Low Power / Low Data mode),
    which otherwise makes WebKit draw a native play-button glyph over the video. */
 .ep-top-hero-media::before {
     content: "";
     position: absolute;
     inset: 0;
     background: url(/img/hero/top-hero-poster.jpg) center / cover no-repeat;
     filter: brightness(0.22) saturate(0.5) contrast(1.02);
     transition: filter 1.6s ease;
     z-index: 0;
 }

 .ep-top-hero.is-animated .ep-top-hero-media::before {
     filter: brightness(0.62) saturate(0.82) contrast(1.08);
 }

 .ep-top-hero-video {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     filter: brightness(0.22) saturate(0.5) contrast(1.02);
     opacity: 0;
     transition: filter 1.6s ease, opacity 0.8s ease;
 }

 .ep-top-hero-video.is-playing {
     opacity: 1;
 }

 .ep-top-hero-overlay {
     position: absolute;
     inset: 0;
     background: rgba(0, 0, 0, 0.86);
     display: flex;
     align-items: flex-end;
     z-index: 1;
     transition: background 1.6s ease;
 }

 .ep-top-hero-body {
     width: 100%;
     max-width: var(--wp--style--global--content-size, 1140px);
     margin: 0 auto;
     box-sizing: border-box;
     padding: 0 24px 56px;
 }

 /* Language switcher — positioned inside hero overlay, content-width aligned */
 .ep-top-hero-lang {
     position: absolute;
     top: 16px;
     left: 0;
     right: 0;
     z-index: 2;
     padding-top: 0;
 }

 /* Kicker — small label above title */
 .ep-top-hero-kicker {
     margin: 0 0 10px;
     color: rgba(255, 255, 255, .7);
     font-size: var(--ep-text-xs, .75rem);
     letter-spacing: .15em;
     text-transform: uppercase;
     font-weight: 500;
     opacity: 0;
     filter: blur(4px);
     transition: opacity 1.2s ease .7s, filter 1.4s ease .7s;
 }
 .ep-top-hero.is-animated .ep-top-hero-kicker {
     opacity: 1;
     filter: blur(0);
 }

 .ep-top-hero-title {
     margin: 0 0 14px;
     color: #fff !important;
     font-size: clamp(2rem, 4.2vw, 3.5rem);
     letter-spacing: .08em;
     font-weight: 700;
     text-shadow: 0 3px 14px rgba(0, 0, 0, .55);
     opacity: 0;
     filter: blur(8px);
     transition: opacity 1.45s ease 1s, filter 1.7s ease 1s;
 }

 .ep-top-hero-subtitle {
     margin: 0;
     color: rgba(255, 255, 255, .92);
     max-width: 72ch;
     font-size: clamp(.95rem, 1.6vw, 1.15rem);
     line-height: 1.7;
     word-break: keep-all;
     overflow-wrap: normal;
     text-wrap: balance;
     text-shadow: 0 2px 10px rgba(0, 0, 0, .5);
     opacity: 0;
     filter: blur(6px);
     transition: opacity 1.35s ease 2s, filter 1.55s ease 2s;
 }

 .ep-top-hero-scope {
     margin: 14px 0 0;
     display: inline-flex;
     flex-wrap: wrap;
     align-items: baseline;
     gap: 0;
     max-width: 60ch;
     padding: 8px 14px;
     border-left: 2px solid rgba(188, 149, 92, .85);
     background: rgba(12, 16, 20, .38);
     color: rgba(255, 255, 255, .9);
     font-size: clamp(.82rem, 1.3vw, .98rem);
     line-height: 1.6;
     letter-spacing: .01em;
     text-shadow: 0 2px 8px rgba(0, 0, 0, .55);
     opacity: 0;
     filter: blur(6px);
     transition: opacity 1.35s ease 2.15s, filter 1.55s ease 2.15s;
 }

 .ep-top-hero-scope-num {
     margin: 0 .12em;
     color: #f2d9af;
     font-weight: 700;
     font-size: 1.18em;
     letter-spacing: .02em;
 }

 .ep-top-hero-ctas {
     margin-top: 22px;
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
     justify-content: flex-start;
     filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .35));
     opacity: 0;
     transform: translateX(42px);
     transition: opacity 1.35s ease 2.35s, transform 1.45s cubic-bezier(.2, 1, .3, 1) 2.35s;
 }

 .ep-top-hero-cta {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-height: 44px;
     padding: 10px 18px;
     border: 1px solid rgba(188, 149, 92, .7);
     color: #f2d9af;
     text-decoration: none;
     letter-spacing: .03em;
     font-size: .92rem;
     background: rgba(12, 16, 20, .52);
     transition: background .2s ease, color .2s ease, border-color .2s ease;
 }

 .ep-top-hero-cta:hover,
 .ep-top-hero-cta:focus-visible {
     background: rgba(188, 149, 92, .22);
     border-color: rgba(188, 149, 92, .95);
     color: #fff;
 }

 .ep-top-hero-cta.is-primary {
     background: rgba(188, 149, 92, .22);
     border-color: rgba(188, 149, 92, .95);
 }

 .ep-top-hero.is-animated .ep-top-hero-title,
 .ep-top-hero.is-animated .ep-top-hero-subtitle,
 .ep-top-hero.is-animated .ep-top-hero-scope,
 .ep-top-hero.is-animated .ep-top-hero-ctas {
     opacity: 1;
     filter: blur(0);
     transform: none;
 }

 .ep-top-hero.is-animated .ep-top-hero-video {
     filter: brightness(0.62) saturate(0.82) contrast(1.08);
 }

 .ep-top-hero.is-animated .ep-top-hero-overlay {
     background: linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.48) 70%, rgba(0, 0, 0, 0.56) 100%);
 }

 @media (prefers-reduced-motion: reduce) {

     .ep-top-hero-title,
     .ep-top-hero-subtitle,
     .ep-top-hero-scope,
     .ep-top-hero-ctas {
         transition: none;
         opacity: 1;
         filter: none;
         transform: none;
     }

     .ep-top-hero-media::before,
     .ep-top-hero-video,
     .ep-top-hero-overlay {
         transition: none;
     }

     .ep-top-hero-media::before,
     .ep-top-hero-video {
         filter: brightness(0.62) saturate(0.82) contrast(1.08);
     }

     .ep-top-hero-overlay {
         background: linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.48) 70%, rgba(0, 0, 0, 0.56) 100%);
     }
 }

 @media (max-width: 768px) {

     .ep-top-hero,
     .ep-top-hero-media {
         min-height: 50vh;
     }

     .ep-top-hero-body {
         padding: 0 14px 28px;
     }

     .ep-top-hero-title {
         margin-bottom: 10px;
         font-size: clamp(1.7rem, 7vw, 2.35rem);
         line-height: 1.14;
     }

     .ep-top-hero-subtitle {
         max-width: 100%;
         font-size: 0.9rem;
         line-height: 1.5;
         word-break: normal;
         text-wrap: pretty;
     }

     .ep-top-hero-ctas {
         flex-direction: row;
         flex-wrap: nowrap;
         gap: 8px;
         justify-content: flex-start;
     }

     .ep-top-hero-cta {
         min-height: 40px;
         padding: 8px 10px;
         font-size: .8rem;
         line-height: 1.2;
         white-space: nowrap;
     }
 }

 .decision-nav {
     width: 100%;
     margin: 0 0 34px;
     background: transparent;
     padding: 8px 0 8px;
 }

 .decision-nav-inner {
     max-width: var(--wp--style--global--content-size, 1140px);
     margin: 0 auto;
     padding: 0 24px;
     display: grid;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 24px;
 }

 .decision-card {
     position: relative;
     overflow: hidden;
     border-radius: 6px;
     border: 1px solid rgba(198, 168, 90, .35);
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
     min-height: 220px;
     transition: box-shadow .5s ease, transform .5s ease;
 }

 .decision-card::before {
     content: "";
     position: absolute;
     inset: 0;
     background-size: cover;
     background-position: right center;
     opacity: .9;
     transition: transform .75s ease;
 }

 .decision-card.purchase::before {
     background-image: url("/img/dec-nav/dec-nav-bg-purchase.jpg");
     background-image: -webkit-image-set(url("/img/avc/dec-nav/dec-nav-bg-purchase.avif") type("image/avif"), url("/img/avc/dec-nav/dec-nav-bg-purchase.webp") type("image/webp"));
     background-image: image-set(url("/img/avc/dec-nav/dec-nav-bg-purchase.avif") type("image/avif"), url("/img/avc/dec-nav/dec-nav-bg-purchase.webp") type("image/webp"));
 }

 .decision-card.rent::before {
     background-image: url("/img/dec-nav/dec-nav-bg-rent.jpg");
     background-image: -webkit-image-set(url("/img/avc/dec-nav/dec-nav-bg-rent.avif") type("image/avif"), url("/img/avc/dec-nav/dec-nav-bg-rent.webp") type("image/webp"));
     background-image: image-set(url("/img/avc/dec-nav/dec-nav-bg-rent.avif") type("image/avif"), url("/img/avc/dec-nav/dec-nav-bg-rent.webp") type("image/webp"));
 }

 .decision-card.sell::before {
     background-image: url("/img/dec-nav/dec-nav-bg-sell.jpg");
     background-image: -webkit-image-set(url("/img/avc/dec-nav/dec-nav-bg-sell.avif") type("image/avif"), url("/img/avc/dec-nav/dec-nav-bg-sell.webp") type("image/webp"));
     background-image: image-set(url("/img/avc/dec-nav/dec-nav-bg-sell.avif") type("image/avif"), url("/img/avc/dec-nav/dec-nav-bg-sell.webp") type("image/webp"));
 }

 .decision-card::after {
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(to right,
             rgba(240, 234, 222, 0.92) 0%,
             rgba(240, 234, 222, 0.78) 35%,
             rgba(240, 234, 222, 0.35) 60%,
             rgba(240, 234, 222, 0.0) 100%);
 }
 .decision-card.purchase::after {
     background: linear-gradient(to right,
             rgba(30, 28, 24, 0.88) 0%,
             rgba(30, 28, 24, 0.68) 35%,
             rgba(30, 28, 24, 0.25) 60%,
             rgba(0, 0, 0, 0.0) 100%);
 }

 .decision-card:hover::before {
     transform: scale(1.05);
 }

 .decision-card:hover {
     box-shadow: 0 12px 36px rgba(0, 0, 0, .22);
     transform: translateY(-3px);
 }

 /* card-inner / card-content は縦フレックス。
    .card-more を margin-top:auto でフロー配置し、見出しが2行に折り返しても
    最終行リンクに重ならないようにするため（絶対配置に戻さないこと）。 */
 .decision-card .card-inner {
     position: relative;
     z-index: 2;
     height: 100%;
     display: flex;
     flex-direction: column;
 }

 .decision-card .card-content {
     color: #2b241d;
     padding: 0;
     max-width: 100%;
     box-sizing: border-box;
     display: flex;
     flex-direction: column;
     flex: 1 1 auto;
     min-height: 0;
 }

 .decision-nav .decision-card h2 {
     margin: 0 0 -3px 0 !important;
     color: #2a241e !important;
     font-family: var(--epsc-h2-font) !important;
     font-size: 2rem !important;
     font-weight: 600 !important;
     line-height: 1.2 !important;
     letter-spacing: .04em !important;
     padding: 12px 12px !important;
     display: block !important;
     width: 100% !important;
     max-width: none !important;
     box-sizing: border-box !important;
     border: none !important;
     border-bottom: none !important;
     text-align: left !important;
     position: relative !important;
     background: linear-gradient(to right, rgba(238, 230, 216, 0.76) 0%, rgba(238, 230, 216, 0.0) 100%) !important;
     text-shadow: none !important;
     box-shadow: none !important;
 }

 /* Global h2 theme styles must not affect decision-nav */
 .decision-nav .decision-card h2::before {
     content: none !important;
 }

 .decision-nav .decision-card h2::after {
     content: "" !important;
 }

 .decision-nav .decision-card .epsc-h2-text-frame {
     all: unset;
 }

 .decision-nav .decision-card h2::after {
     content: "" !important;
     display: block !important;
     position: absolute;
     left: 12px;
     bottom: 2px;
     width: min(42%, 280px);
     height: 2px;
     background: linear-gradient(90deg,
             #c8a96a 0%,
             #e6c27a 24%,
             rgba(200, 169, 106, 0.42) 62%,
             rgba(200, 169, 106, 0) 100%) !important;
     box-shadow: 0 0 6px rgba(216, 180, 111, 0.24);
 }

 .decision-nav .decision-card.purchase h2 {
     color: #f4efe7 !important;
     background: linear-gradient(to right, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.25) 100%) !important;
 }

 .decision-nav .decision-card.rent h2,
 .decision-nav .decision-card.sell h2 {
     color: #2a241e !important;
     background: linear-gradient(to right,
             rgba(245, 239, 228, 0.82) 0%,
             rgba(238, 230, 216, 0.25) 100%) !important;
 }

 .decision-card.rent li a {
     color: rgba(43, 34, 24, .96);
     border-bottom-color: rgba(120, 102, 78, .24);
 }

 .decision-card.rent li a::after {
     color: rgba(82, 67, 47, .9);
 }

 .decision-card.sell .card-content {
     border-top: 2px solid rgba(198, 168, 90, .55);
 }

 .decision-card .card-list-wrap {
     position: relative;
     width: 240px;
     max-width: 100%;
     box-sizing: border-box;
     padding: 0 14px;
     margin-bottom: 18px;
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
     border: 1px solid rgba(184, 150, 90, 0.42);
     box-shadow:
         inset 0 1px 0 rgba(255, 255, 255, 0.58),
         inset 0 -1px 0 rgba(0, 0, 0, 0.06),
         0 8px 20px rgba(0, 0, 0, 0.09);
 }

 .decision-card.sell li a {
     padding-left: 0;
 }

 .decision-nav .decision-card.purchase .card-list-wrap {
     background-image: none !important;
     background: rgba(0, 0, 0, 0.35) !important;
     border-color: rgba(188, 149, 92, 0.3);
 }

 .decision-nav .decision-card.rent .card-list-wrap {
     background-image: url('/img/bg/gw/gw-02.png') !important;
     background-image: -webkit-image-set(url('/img/avc/bg/gw/gw-02.avif') type('image/avif'), url('/img/avc/bg/gw/gw-02.webp') type('image/webp')) !important;
     background-image: image-set(url('/img/avc/bg/gw/gw-02.avif') type('image/avif'), url('/img/avc/bg/gw/gw-02.webp') type('image/webp')) !important;
     background-size: cover !important;
     background-position: center !important;
     opacity: .8;
     border-color: rgba(188, 149, 92, 0.25);
 }
 .decision-nav .decision-card.sell .card-list-wrap {
     background-image: url('/img/bg/gw/gw-03.png') !important;
     background-image: -webkit-image-set(url('/img/avc/bg/gw/gw-03.avif') type('image/avif'), url('/img/avc/bg/gw/gw-03.webp') type('image/webp')) !important;
     background-image: image-set(url('/img/avc/bg/gw/gw-03.avif') type('image/avif'), url('/img/avc/bg/gw/gw-03.webp') type('image/webp')) !important;
     background-size: cover !important;
     background-position: center !important;
     opacity: .8;
     border-color: rgba(188, 149, 92, 0.25);
 }

 .decision-card ul {
     margin: 0;
     padding: 0;
     list-style: none;
     display: grid;
     gap: 0;
 }

 .decision-card li a {
     color: rgba(43, 34, 24, .95);
     text-decoration: none;
     font-size: 1.01rem;
     letter-spacing: .02em;
     display: flex;
     align-items: center;
     justify-content: space-between;
     writing-mode: horizontal-tb;
     padding: 8px 0;
     border-bottom: 1px solid rgba(184, 150, 90, .2);
     gap: 8px;
 }

 .decision-card li:last-child a {
     border-bottom: none;
 }

 .decision-nav .decision-card li a {
     color: rgba(43, 34, 24, .95) !important;
 }

 .decision-nav .decision-card.purchase li a {
     color: rgba(248, 244, 236, .96) !important;
     border-bottom-color: rgba(198, 168, 90, .32);
 }

 .decision-nav .decision-card.purchase .al-trail::after {
     color: rgba(226, 206, 166, .95);
 }
 .decision-nav .decision-card.purchase .al-trail::before {
     filter: brightness(1.6) sepia(.3) saturate(.5);
     opacity: .85;
 }

 .decision-card .al-label {
     min-width: 0;
 }

 .decision-card .al-trail {
     margin-left: auto;
     display: inline-flex;
     align-items: center;
     gap: 6px;
 }

 .decision-card .al-trail::before {
     content: "";
     width: 34px;
     height: 34px;
     display: inline-block;
     background-image: var(--al-icon);
     background-size: contain;
     background-position: center;
     background-repeat: no-repeat;
     opacity: .75;
     filter: brightness(.4) sepia(1) saturate(.6) hue-rotate(-10deg) drop-shadow(0 2px 4px rgba(0, 0, 0, .75));
 }

 .decision-card .al-link.al-tower-purchase {
     --al-icon: url('/img/icons/al/al_tower_purchase.svg');
 }

 .decision-card .al-link.al-investment {
     --al-icon: url('/img/icons/al/al_investment.svg');
 }

 .decision-card .al-link.al-premium {
     --al-icon: url('/img/icons/al/al_premium.svg');
 }

 .decision-card .al-link.al-tower-rent {
     --al-icon: url('/img/icons/al/al_tower_rent.svg');
 }

 .decision-card .al-link.al-high-floor {
     --al-icon: url('/img/icons/al/al_high_floor.svg');
 }

 .decision-card .al-link.al-spacious {
     --al-icon: url('/img/icons/al/al_spacious.svg');
 }

 .decision-card .al-link.al-ai-assessment {
     --al-icon: url('/img/icons/al/al_ai_assessment.svg');
 }

 .decision-card .al-link.al-selling-service {
     --al-icon: url('/img/icons/al/al_selling_service.svg');
 }

 .decision-card .al-link.al-management {
     --al-icon: url('/img/icons/al/al_management.svg');
 }

 .decision-card li a::after {
     content: none;
 }

 .decision-card .al-trail::after {
     content: '›';
     font-size: 1.55rem;
     line-height: 1;
     color: rgba(55, 44, 30, .85);
 }

 /* DESIGN_RULES §17.4 Primary（--ep-ink地 × --ep-gold文字 × 1px金枠 × radius 4px）。
    地を不透明にしているのは、旧 rgba(0,0,0,.52) だと背景写真が透けてカードごとに
    コントラストが変わり、賃貸3.15:1 / 売却4.03:1 とAA(4.5:1)未達だったため。
    色は テーマの a{color:var(--epsc-accent)!important} に負けるので !important が要る。 */
 .decision-nav .decision-card .card-more {
     align-self: flex-end;
     box-sizing: border-box;
     margin: auto 12px 12px auto;
     z-index: 3;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-height: 32px;
     color: var(--ep-gold, #bc955c) !important;
     border: 1px solid var(--ep-gold, #bc955c);
     border-radius: var(--ep-radius, 4px);
     background: var(--ep-ink, #111);
     padding: 6px 18px;
     text-decoration: none;
     font-size: 12px;
     letter-spacing: .04em;
     transition: background var(--ep-transition-fast, .15s ease), border-color var(--ep-transition-fast, .15s ease);
 }
 .decision-nav .decision-card .card-more:hover,
 .decision-nav .decision-card .card-more:focus-visible {
     background: #1f1b16;
     border-color: var(--ep-gold-light, #d4b896);
 }

 .decision-card.sell {
     min-height: 220px;
     border-width: 1px;
 }

 .decision-nav-footer {
     text-align: center;
     margin-top: 8px;
 }
 .decision-nav-footer a {
     color: var(--ep-gray-muted, #777);
     font-size: var(--ep-text-sm, .875rem);
     text-decoration: none;
     border-bottom: 1px solid rgba(120, 102, 78, .3);
     transition: color var(--ep-transition-fast, .15s ease);
 }
 .decision-nav-footer a:hover {
     color: var(--ep-gold, #bc955c);
     border-bottom-color: var(--ep-gold, #bc955c);
 }

 /* 1列化は1099pxで行う（1024pxだとカード271pxで写真の覗きが30pxしか残らない）。860pxだと861〜1000pxで3カラムのままカード幅が233pxまで縮み、
    幅240px固定の .card-list-wrap がカード全幅を覆って背景写真が消え、
    「タワーマンション検索」が1文字だけ折り返す（タワーマンション検/索）ため。 */
 @media (max-width: 1099px) {
     .decision-nav {
         max-width: 100%;
         margin: 0 auto 28px;
         padding: 8px 0;
     }

     .decision-nav-inner {
         grid-template-columns: 1fr;
         gap: 14px;
         padding: 0 14px;
     }

     .decision-card {
         min-height: 170px;
     }

     .decision-card .card-content {
         padding: 0;
     }

     /* 1列時はカードが横に広いので、リスト箱も幅に追従させる（240px固定だと間延びする）。
        375px級では clamp 下限の240pxに落ちるのでモバイルの見た目は従来通り。 */
     .decision-card .card-list-wrap {
         width: clamp(240px, 46%, 420px);
         max-width: 100%;
     }

     .decision-card h2 {
         font-size: 1.5rem;
     }

     .decision-card li a {
         font-size: 1rem;
     }

     /* タップ領域確保（従来 51×23px） */
     .decision-nav .decision-card .card-more {
         min-height: 44px;
         padding: 10px 22px;
     }

     .decision-card.sell {
         min-height: 180px;
         border-width: 1px;
     }
 }

 /* ==========================================================================
  Trust Section
   ========================================================================== */
 .trust-section {
     background-color: #f0ece4 !important;
     background-image: none !important;
     width: 100%;
     max-width: 900px;
     margin: 0 auto;
     box-sizing: border-box;
     padding: 44px 48px 40px;
     box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.5);
     border: none;
     border-radius: 6px;
     position: relative;
     overflow: hidden;
 }

 .trust-section::before {
     content: "";
     position: absolute;
     inset: 0;
     background-image: url('/img/bg/gw/gw-11.png');
     background-image: -webkit-image-set(url('/img/avc/bg/gw/gw-11.avif') type('image/avif'), url('/img/avc/bg/gw/gw-11.webp') type('image/webp'));
     background-image: image-set(url('/img/avc/bg/gw/gw-11.avif') type('image/avif'), url('/img/avc/bg/gw/gw-11.webp') type('image/webp'));
     background-repeat: no-repeat;
     background-position: center center;
     background-size: cover;
     opacity: 0.45;
     z-index: 0;
 }

 .trust-section>* {
     position: relative;
     z-index: 1;
 }

 .trust-inner {
     max-width: 800px;
     margin: 0 auto;
     text-align: center;
 }

 .trust-section .ep-opc-title {
     font-family: var(--ep-font-serif) !important;
     font-weight: 600 !important;
 }

 .trust-section .trust-eyebrow {
     margin: 0 0 8px !important;
     font-family: var(--ep-font-serif);
     font-size: 13px;
     font-weight: 500;
     letter-spacing: 0.16em;
     color: var(--ep-gold-deep, #7b592f);
     text-align: center;
 }

 .trust-section .trust-title {
     display: block !important;
     width: 100% !important;
     max-width: none !important;
     text-align: center !important;
     font-size: 26px !important;
     line-height: 1.2 !important;
     letter-spacing: 0.12em !important;
     font-weight: 500 !important;
     margin: 0 0 24px !important;
     color: #4a3d2d !important;
     padding: 0 !important;
     background: none !important;
     border: none !important;
     box-shadow: none !important;
     overflow: visible !important;
     text-shadow: none !important;
     position: relative !important;
     font-family: var(--ep-font-serif) !important;
 }

 .trust-section .trust-title::before,
 .trust-section .trust-title::after {
     content: none !important;
 }

 .trust-section .trust-title.ep-opc-title {
     background: none !important;
     -webkit-background-clip: unset !important;
     background-clip: unset !important;
     -webkit-text-fill-color: #4a3d2d !important;
     color: #4a3d2d !important;
     text-shadow: none !important;
 }

 .trust-section .trust-title .epsc-h2-text-frame {
     display: inline !important;
     padding: 0 !important;
     border: none !important;
     background: transparent !important;
     box-shadow: none !important;
     color: inherit !important;
 }

 .trust-title-break {
     display: none;
 }

 .trust-section .trust-stats {
     position: relative;
     padding-top: 26px;
     margin-top: 0;
     margin-bottom: 26px;
     border: none;
     padding-bottom: 26px;
 }

 .trust-section .trust-stats::before,
 .trust-section .trust-stats::after {
     content: "";
     position: absolute;
     left: 10%;
     right: 10%;
     height: 1px;
     background: linear-gradient(90deg,
         rgba(160, 140, 100, 0) 0%,
         rgba(160, 140, 100, .3) 30%,
         rgba(160, 140, 100, .3) 70%,
         rgba(160, 140, 100, 0) 100%);
 }
 .trust-section .trust-stats::before {
     top: 0;
 }
 .trust-section .trust-stats::after {
     bottom: 0;
 }

 .trust-stats {
     display: flex;
     justify-content: center;
     gap: 0;
 }

 .trust-item {
     flex: 1;
     padding: 0 20px;
     border-right: 1px solid rgba(120, 100, 70, 0.18);
 }

 .trust-item:last-child {
     border-right: none;
 }

 .trust-num {
     font-size: 42px;
     font-weight: 600;
     color: #7a6232;
     letter-spacing: 0.02em;
     margin-bottom: 8px;
     line-height: 1.1;
     font-family: var(--ep-font-serif);
     background: linear-gradient(180deg,
             #d4b87a 0%,
             #a07830 45%,
             #6b4e1e 100%);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
     filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.2));
 }

 .trust-num span {
     font-size: 18px;
     font-weight: 400;
 }

 .trust-label {
     font-size: 12px;
     line-height: 1.6;
     color: #6b5e4a;
     letter-spacing: .03em;
     font-weight: 400;
 }

 .trust-section .trust-company.ep-opc-sub {
     position: relative;
     font-size: 14px !important;
     font-weight: 400 !important;
     letter-spacing: 0.18em !important;
     color: #4a3d2d !important;
     padding-top: 0;
 }

 .trust-company::before {
     content: none;
 }

 @media (max-width: 1200px) {
     .trust-section {
         padding: 42px 16px 44px;
     }

     .trust-section {
         padding: 48px 20px 40px;
     }

     .trust-section .trust-eyebrow {
         font-size: 12px;
         letter-spacing: 0.12em;
     }

     .trust-section .trust-title {
         font-size: 20px !important;
         margin-bottom: 20px !important;
     }

     .trust-title-break {
         display: block;
         height: 0;
     }

     .trust-section .trust-stats {
         margin-bottom: 24px;
     }

     .trust-stats {
         display: grid !important;
         grid-template-columns: repeat(2, minmax(0, 1fr));
         gap: 20px 0;
     }

     .trust-item {
         border-right: none;
         border-bottom: 1px solid rgba(120, 100, 70, 0.12);
         padding: 0 12px 16px;
     }

     .trust-item:nth-child(odd) {
         border-right: 1px solid rgba(120, 100, 70, 0.12);
     }

     .trust-num {
         font-size: 36px;
     }

     .trust-num span {
         font-size: 14px;
     }

     .trust-label {
         font-size: 11px;
     }

     .trust-company {
         font-size: 14px;
     }
 }

 /* Upcoming Towers */
 .ep-upcoming-towers { width: 100%; max-width: 1200px; margin: 60px auto; padding: 0 24px; box-sizing: border-box; }
 .ep-upcoming-head { text-align: center; margin-bottom: 36px; }
 .ep-upcoming-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
 .ep-upcoming-card { border-radius: 10px; overflow: hidden; background: linear-gradient(180deg, #fffdf9, #f5f0e8); border: 1px solid rgba(139,108,62,.15); box-shadow: 0 8px 24px rgba(41,29,15,.06); transition: box-shadow .2s, transform .2s; }
 .ep-upcoming-card:hover { box-shadow: 0 12px 32px rgba(41,29,15,.12); transform: translateY(-2px); }
 .ep-upcoming-link { display: block; color: inherit; text-decoration: none; }
 .ep-upcoming-media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #e8e0d4; }
 .ep-upcoming-media img { width: 100%; height: 100%; object-fit: cover; }
 .ep-upcoming-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #d4c5a9, #bca868); }
 .ep-upcoming-badge { position: absolute; top: 10px; left: 10px; background: rgba(26,22,18,.85); color: #f0e6d4; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 4px; letter-spacing: .05em; }
 .ep-upcoming-body { padding: 16px 18px 20px; }
 .ep-upcoming-name { margin: 0 0 6px; font-size: 17px; line-height: 1.45; font-weight: 700; }
 .ep-upcoming-name:hover { color: #bc954c; }
 .ep-upcoming-meta { margin: 0; font-size: 12px; color: #8a7d6e; line-height: 1.6; }
 @media (max-width: 768px) { .ep-upcoming-grid { grid-template-columns: 1fr 1fr; gap: 14px; } .ep-upcoming-name { font-size: 14px; } }
 @media (max-width: 480px) { .ep-upcoming-grid { grid-template-columns: 1fr; } }
