/* ==========================================================================
   開運図鑑 新規ページ専用デザイン(new-pages.css)
   HOME / YouTube / TikTok / STORY / SHOP / CONTACT の6ページと、
   STORYの章詳細(kz_chapter)・活動記録一覧(kz_activity)でのみ読み込まれます
   (functions.php の kaiunzukan_is_new_design_context() を参照)。
   既存のCocoonページ(記事・カテゴリー・動物図鑑など)には一切読み込まれないため、
   ここに書くCSSが既存ページのデザインに影響することはありません。
   :root のCSS変数(--navy など)は style.css で定義済みのものを使用しています。
   ========================================================================== */

/* ---------- 基本設定(このテーマ独自のページ内でのみ有効) ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:"Noto Sans JP",system-ui,sans-serif;background:var(--paper);color:var(--text);}
h1,h2,h3,.serif{font-family:"Noto Serif JP",serif;}
a{color:inherit;text-decoration:none;}
img,svg{max-width:100%;}
ul{margin:0;padding:0;}
li{list-style:none;}
.wrap{max-width:1180px;margin:0 auto;padding-left:5vw;padding-right:5vw;}
.kicker{font-family:"Noto Serif JP",serif;font-size:12px;letter-spacing:.32em;color:var(--gold);}

.burger-toggle{display:none;}
.burger-label{display:none;}
.mobile-panel{display:none;}

/* ページヒーロー(STORY章詳細・活動記録一覧の見出し部分) */
.page-hero{position:relative;background:radial-gradient(120% 90% at 82% 8%,#1b2c50 0%,var(--navy) 46%,var(--navy-deep) 100%);color:var(--ink);padding:52px 0 44px;}
.breadcrumb{font-size:12px;color:var(--ink-dim);margin:0 0 14px;}
.breadcrumb a{color:var(--gold);}
.page-hero h1{font-size:clamp(26px,3.6vw,34px);margin:2px 0 12px;font-weight:800;}
.page-hero p{font-size:14px;color:var(--ink-dim);margin:0;max-width:600px;line-height:1.9;}

.btn-outline{border:1.5px solid #d8c9a3;color:var(--text);padding:12px 28px;border-radius:999px;font-size:14px;width:fit-content;display:inline-block;}

.date{font-size:12px;color:#9c937f;}
.tag{font-size:11px;color:var(--red);border:1px solid #ecd0d0;padding:3px 10px;border-radius:999px;width:fit-content;}

.story-photo{width:360px;height:440px;border-radius:14px;background:linear-gradient(160deg,#1e2f52,var(--navy-deep));flex-shrink:0;}
.story-photo img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block;}

/* 活動記録一覧(archive-kz_activity.php) */
.activity-list{display:flex;flex-direction:column;max-width:760px;margin:0 auto;}
.activity-row{display:flex;align-items:center;gap:18px;padding:18px 6px;border-bottom:1px solid var(--paper-line);color:inherit;}
.activity-row:first-child{border-top:1px solid var(--paper-line);}
.activity-row .date{font-size:12px;color:#9c937f;width:90px;flex-shrink:0;}
.activity-row .tag{font-size:11px;color:var(--red);border:1px solid #ecd0d0;padding:3px 10px;border-radius:999px;flex-shrink:0;}
.activity-row .ttl{font-size:14px;flex:1;}
.activity-row .go{font-size:12px;color:var(--gold-bright);border-bottom:1px solid var(--gold);flex-shrink:0;white-space:nowrap;}

/* STORY章詳細ページ内の前後リンク(single-kz_chapter.php) */
.chapter-nav{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--paper-line);}
.chapter-nav a{font-size:13px;}
.chapter-nav .next{margin-left:auto;text-align:right;}

.pagination{display:flex;gap:8px;justify-content:center;margin-top:48px;align-items:center;}
.pagination a,.pagination span{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid var(--paper-line);color:var(--text-dim);}
.pagination .current{background:var(--navy);color:var(--ink);border-color:var(--navy);}

/* the_content() の本文エリア(ブロックエディタで入力した内容の表示) */
.entry-content{padding:0;}
.entry-content .wrap>*:first-child{margin-top:0;}
.entry-content h2{font-size:27px;margin:48px 0 18px;}
.entry-content h3{font-size:19px;margin:32px 0 12px;}
.entry-content p{font-size:15px;line-height:2;color:var(--text-dim);margin:0 0 20px;}
.entry-content ul,.entry-content ol{margin:0 0 20px;padding-left:22px;}
.entry-content li{list-style:disc;font-size:15px;line-height:1.9;color:var(--text-dim);}
.entry-content img{border-radius:10px;}
.entry-content a{color:var(--red);text-decoration:underline;}
.entry-content .wp-block-button__link{background:var(--navy);color:var(--ink);padding:13px 30px;border-radius:999px;font-weight:700;text-decoration:none;}

/* mobile(共通) */
@media (max-width:980px){
  .burger-label{display:flex;align-items:center;justify-content:center;width:40px;height:40px;cursor:pointer;}
}
@media (max-width:860px){
  .wrap{padding-left:20px;padding-right:20px;}
  .mobile-panel{display:none;flex-direction:column;background:var(--navy);border-top:1px solid #24304a;}
  .mobile-panel ul{display:flex;flex-direction:column;}
  .mobile-panel a{padding:16px 20px;font-size:14px;color:var(--ink);border-bottom:1px solid #24304a;display:block;}
  .burger-toggle:checked ~ .mobile-panel{display:flex;}
  .entry-content{padding:0;}
  .activity-row{flex-wrap:wrap;gap:8px;}
  .activity-row .date{width:auto;}
  .activity-row .ttl{flex-basis:100%;order:3;}
}

/* ==========================================================================
   HOME専用デザイン(kzh- prefix)
   ========================================================================== */
.kzh-wrap{max-width:1240px;margin:0 auto;padding:0 32px;}

/* header */
.kzh-header{position:sticky;top:0;z-index:50;background:var(--navy-deep);border-bottom:1px solid #24304a;}
.kzh-headbar{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px;}
.kzh-brand{display:flex;align-items:center;gap:12px;color:var(--ink);flex-shrink:0;}
.kzh-brand-name{font-size:19px;font-weight:700;letter-spacing:.04em;font-family:"Noto Serif JP",serif;}
.kzh-brand-tag{font-size:10.5px;color:var(--ink-dim);letter-spacing:.05em;margin-top:2px;}
.kzh-desktop-nav ul{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
.kzh-desktop-nav li{display:flex;}
.kzh-desktop-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 14px;border-radius:10px;color:var(--ink-dim);}
.kzh-desktop-nav a .kzh-jp{font-size:13px;font-weight:700;color:var(--ink);}
.kzh-desktop-nav a .kzh-en{font-size:9px;letter-spacing:.14em;color:var(--gold);}
.kzh-desktop-nav a.kzh-active{background:rgba(201,162,75,.14);}
.kzh-desktop-nav a:hover{background:rgba(201,162,75,.08);}
.kzh-search-btn{width:38px;height:38px;border-radius:999px;border:1px solid #2c3a58;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-dim);}

/* hero */
/* hero-bg.jpg には見出し・キャッチコピー・説明文が画像として焼き込まれているため、
   同じ内容をテキストで重ねると二重表示になってしまう(見出しは .kzh-hero-sr-only
   として視覚的には非表示、SEO・スクリーンリーダー用に残している)。ボタン等は
   重ねず、写真のみを表示する(2026-09-11 ユーザー確認)。hero の高さは画像と同じ
   比率(980:340)に固定し、background-size:cover でも画像が欠けずに表示されるように
   している。 */
.kzh-hero{position:relative;overflow:hidden;background-color:#0a1424;background-size:cover;background-position:center;color:var(--ink);aspect-ratio:980/340;padding:0;}
.kzh-hero-inner{position:relative;width:100%;height:100%;}
.kzh-hero-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.kzh-btn-gold-outline{border:1.5px solid var(--gold);color:var(--gold-bright);padding:12px 26px;border-radius:999px;font-size:13.5px;font-weight:700;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.kzh-btn-gold-fill{background:var(--gold);color:var(--navy-deep);padding:12px 26px;border-radius:999px;font-size:13.5px;font-weight:700;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}

/* section shells */
.kzh-section{padding:64px 0;}
.kzh-section.kzh-alt{background:#fffaf1;}
.kzh-sec-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;}
.kzh-sec-head h2{font-size:21px;font-weight:700;margin:0;}
.kzh-pill-link{font-size:12.5px;border:1px solid var(--paper-line);padding:8px 16px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;}

/* grids */
.kzh-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.kzh-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.kzh-grid5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.kzh-grid6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;}

/* youtube cards: 実際のサムネイル写真を背景表示(キャプション・再生時間の
   オーバーレイ文字は写真自体に情報が含まれるため非表示にし、タイトル・日付は下の
   .kzh-meta にテキストで表示) */
.kzh-yt-card .kzh-thumb{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#0c1122 center/cover no-repeat;background-size:cover;background-position:center;}
.kzh-yt-card .kzh-meta{padding-top:10px;}
.kzh-yt-card .kzh-meta .kzh-ttl{font-size:13.5px;font-weight:700;}
.kzh-yt-card .kzh-meta .kzh-date{font-size:11.5px;color:var(--text-dim);margin-top:4px;}

/* article cards: 実際の記事サムネイル写真を背景表示 */
.kzh-art-card{background:#fff;border:1px solid var(--paper-line);border-radius:10px;overflow:hidden;display:block;color:inherit;}
.kzh-art-card .kzh-thumb-sm{position:relative;aspect-ratio:4/3;background:#f6efdd center/cover no-repeat;background-size:cover;background-position:center;}
.kzh-art-card .kzh-tag{position:absolute;left:10px;top:10px;background:rgba(15,28,51,.82);color:#fff;font-size:10.5px;padding:3px 10px;border-radius:999px;}
.kzh-art-card .kzh-body{padding:14px 14px 16px;}
.kzh-art-card .kzh-ttl{font-size:13px;font-weight:700;line-height:1.6;}
.kzh-art-card .kzh-date{font-size:11px;color:#9c937f;margin-top:6px;}

/* category: 実際のカテゴリーアイコン写真を円形表示(5列フル幅) */
.kzh-cat-badge{background:#fff;border:1px solid var(--paper-line);border-radius:12px;padding:26px 10px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.kzh-cat-badge .kzh-ring{width:72px;height:72px;border-radius:999px;border:2px solid var(--gold);overflow:hidden;background:var(--paper) center/cover no-repeat;background-size:cover;background-position:center;}
.kzh-cat-badge .kzh-lbl{font-size:12.5px;font-weight:700;}

/* SHOP準備中の案内(商品未定のため、開店までの案内文+SHOPページへの導線のみ表示) */
.kzh-shop-soon{background:#fff;border:1px solid var(--paper-line);border-radius:12px;padding:56px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;}
.kzh-shop-soon p{margin:0;font-size:15px;font-weight:700;color:var(--text);}

/* two banners: STORY/CONTACTとも、見出し・説明文・ボタンが焼き込まれた実写真を
   そのままカード全体のリンクとして表示(front-page.php 内のコメント参照) */
.kzh-banner-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.kzh-story-banner,
.kzh-contact-banner{position:relative;display:block;border-radius:14px;overflow:hidden;min-height:220px;background-color:#0a1424;background-size:cover;background-position:center;}
/* 2026-09-12: STORY/CONTACTとも、四隅に金の枠が焼き込まれた新しい写真
   (story-banner-photo-20260912.jpg / contact-banner-photo-20260912c.jpg)に
   差し替え。この写真の縦横比(約2.99:1)はカード枠のデフォルト比率とは異なり、
   min-heightを固定のままだと写真をトリミングするか余白を足すかの妥協が必要に
   なってしまう。そこで aspect-ratio を写真の実際の比率に合わせることで、
   トリミングも余白もなく写真の金枠がカードの角にぴったり収まるようにした
   (画面幅が変わっても比率は自動的に保たれる)。 */
.kzh-story-banner,
.kzh-contact-banner{aspect-ratio:1400/468;min-height:0;}

/* footer */
.kzh-footer{background:var(--navy-deep);color:var(--ink-dim);padding:56px 0 24px;}
.kzh-foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:24px;padding-bottom:32px;border-bottom:1px solid #24304a;}
.kzh-foot-grid h4{font-size:12.5px;color:var(--ink);margin:0 0 14px;letter-spacing:.06em;}
.kzh-foot-grid ul{list-style:none;margin:0;padding:0;}
.kzh-foot-grid li{margin-bottom:9px;font-size:12.5px;}
.kzh-foot-follow{display:flex;gap:10px;margin-top:14px;}
.kzh-foot-follow a{width:32px;height:32px;border-radius:999px;border:1px solid #2c3a58;display:flex;align-items:center;justify-content:center;}
.kzh-foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:20px;font-size:11.5px;color:#7d879a;}

/* mobile */
@media (max-width:980px){
  .kzh-desktop-nav{display:none;}
  .kzh-search-btn{display:none;}
  .kzh-grid5{grid-template-columns:repeat(3,1fr);}
  .kzh-grid6{grid-template-columns:repeat(3,1fr);}
  .kzh-banner-row{grid-template-columns:1fr;}
  .kzh-foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .kzh-wrap{padding:0 20px;}
  .kzh-grid3{grid-template-columns:1fr;}
  .kzh-grid4{grid-template-columns:repeat(2,1fr);}
  .kzh-grid5{grid-template-columns:repeat(2,1fr);}
  .kzh-grid6{grid-template-columns:repeat(2,1fr);}
  .kzh-foot-grid{grid-template-columns:1fr;}
  .kzh-foot-bottom{flex-direction:column;gap:8px;align-items:flex-start;}
}

/* ==========================================================================
   下層ページ共通デザイン(kzp- prefix)
   YouTube / TikTok / STORY / SHOP / CONTACT の5ページで共通利用。
   ========================================================================== */
/* 2026-09-13: 一部のスマホ(Safari)で、display:flex + overflow:hidden の
   組み合わせにより、この section 自体の幅が画面幅いっぱいに広がらず、
   コンテンツ(.wrapの中身)の幅だけに縮んでしまう現象が確認された。
   Chrome(PC・スマホ表示とも)や今回のローカル検証環境では再現しなかったが、
   実機のSafariでのみ発生していたため、幅を明示的に指定して防止する。 */
.kzp-hero{position:relative;overflow:hidden;width:100%;color:var(--ink);min-height:260px;padding:0;display:flex;align-items:center;justify-content:center;text-align:center;background-color:var(--navy-deep);background-size:cover;background-position:center;}
.kzp-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(4,10,20,.62),rgba(4,10,20,.42));pointer-events:none;}
.kzp-hero .wrap{position:relative;z-index:2;width:100%;text-shadow:0 3px 16px rgba(0,0,0,.9);}
.kzp-hero h1{font-size:clamp(38px,6vw,64px);margin:10px 0 12px;font-family:"Noto Serif JP",serif;}
.kzp-hero p{color:var(--ink-dim);margin:0;font-size:15px;}

.kzp-section{padding:64px 0;}
.kzp-section.kzp-alt{background:#fffaf1;}
.kzp-heading{text-align:center;margin-bottom:40px;}
.kzp-heading h2{font-size:28px;margin:8px 0 10px;font-family:"Noto Serif JP",serif;}
.kzp-heading p{color:var(--text-dim);margin:0;font-size:13.5px;}

.kzp-intro-box{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--paper-line);padding:36px;border-radius:8px;box-shadow:0 12px 40px rgba(20,25,35,.06);text-align:center;}
.kzp-intro-box h3{font-size:20px;margin:0 0 14px;font-family:"Noto Serif JP",serif;}
.kzp-intro-box p{line-height:1.9;color:var(--text-dim);margin:0;font-size:13.5px;}
.kzp-link-btn{display:inline-block;margin-top:22px;padding:12px 26px;background:var(--navy);color:var(--ink);border:1px solid var(--gold);font-weight:700;border-radius:999px;font-size:13px;}

.kzp-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.kzp-video-card{display:block;background:#fff;border:1px solid var(--paper-line);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;}
.kzp-video-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#162849,#0a1424);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--gold);position:relative;}
.kzp-short-grid{max-width:640px;margin:0 auto;}
.kzp-short-thumb{aspect-ratio:9/16;}
/* 2026-09-12: TikTok「最新動画」欄専用。YouTubeショート欄(kzp-short-*)より
   カードを大きくし、かつTikTokのサムネイル画像の縦横比が9:16ぴったりでない場合に
   background-size:cover で上下・左右が切れてしまうのを防ぐため、
   background-size:contain(画像全体を必ず表示、はみ出す分は余白)に変更している。 */
.kzp-tiktok-grid{max-width:920px;margin:0 auto;}
.kzp-tiktok-thumb{aspect-ratio:9/16;background-size:contain;background-repeat:no-repeat;background-color:var(--navy-deep);}
.kzp-tiktok-grid .kzp-video-info h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.kzp-video-thumb::after{content:"▶";font-size:32px;opacity:.9;}
.kzp-video-info{padding:16px 16px 18px;}
.kzp-video-info .date{font-size:11px;letter-spacing:.08em;color:var(--gold);}
.kzp-video-info h3{font-size:15.5px;margin:8px 0;font-family:"Noto Serif JP",serif;color:var(--navy);}
.kzp-video-info p{font-size:12.5px;color:var(--text-dim);margin:0;}
.kzp-note{max-width:860px;margin:22px auto 0;color:var(--text-dim);font-size:12.5px;text-align:center;}

.kzp-update-box{max-width:860px;margin:0 auto;border-top:1px solid var(--paper-line);}
.kzp-update-item{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 10px;border-bottom:1px solid var(--paper-line);}
.kzp-update-item time{font-size:12.5px;color:var(--gold);font-weight:700;}
.kzp-update-item p{margin:0;color:var(--text);font-size:13.5px;}

/* STORY: 章一覧 */
.kzp-story-intro{max-width:760px;margin:0 auto;text-align:center;}
.kzp-story-intro h3{font-size:19px;margin:0 0 12px;font-family:"Noto Serif JP",serif;}
.kzp-story-intro p{color:var(--text-dim);line-height:1.9;font-size:13.5px;margin:0;}
.kzp-story-list{display:flex;flex-direction:column;gap:14px;max-width:860px;margin:0 auto;}
.kzp-story-card{display:grid;grid-template-columns:110px 1fr 30px;align-items:center;gap:20px;background:#fff;border:1px solid var(--paper-line);border-radius:8px;padding:20px 22px;color:inherit;}
.kzp-story-card:hover{border-color:var(--gold);}
.kzp-story-number{font-size:12px;letter-spacing:.1em;color:var(--gold);font-weight:700;}
.kzp-story-content h3{font-size:15.5px;margin:0 0 6px;font-family:"Noto Serif JP",serif;}
.kzp-story-content p{font-size:12.5px;color:var(--text-dim);margin:0;}
.kzp-story-arrow{font-size:16px;color:var(--gold);text-align:center;}
.kzp-story-message{max-width:760px;margin:0 auto;text-align:center;color:var(--text-dim);font-size:13.5px;line-height:1.9;}

/* SHOP */
.kzp-shop-intro{max-width:760px;margin:0 auto;text-align:center;}
.kzp-shop-intro h3{font-size:19px;margin:0 0 12px;font-family:"Noto Serif JP",serif;}
.kzp-shop-intro p{color:var(--text-dim);line-height:1.9;font-size:13.5px;margin:0;}
.kzp-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.kzp-shop-card{background:#fff;border:1px solid var(--paper-line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;}
/* 2026-09-12: LINEスタンプ商品画像(1536x1024 = 3:2)を、トリミングも余白も出さずに
   ぴったり収めるため、カードの縦横比を写真の実際の比率(3:2)に合わせている
   (STORY/CONTACTバナーと同じ考え方。第5回の教訓を参照)。 */
.kzp-shop-image{aspect-ratio:3/2;background:linear-gradient(135deg,#1c2440,#0c1122);display:flex;align-items:center;justify-content:center;color:var(--ink-dim);font-size:11.5px;letter-spacing:.12em;background-size:cover;background-position:center;}
.kzp-shop-info{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.kzp-shop-category{font-size:11px;letter-spacing:.1em;color:var(--gold);font-weight:700;}
.kzp-shop-info h3{font-size:15.5px;margin:0;font-family:"Noto Serif JP",serif;}
.kzp-shop-info p{font-size:12.5px;color:var(--text-dim);flex:1;margin:0;}
.kzp-shop-button{display:inline-block;margin-top:6px;padding:9px 18px;border:1px solid var(--gold);border-radius:999px;font-size:12px;font-weight:700;text-align:center;}
.kzp-shop-note{max-width:760px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--paper-line);border-radius:8px;padding:28px;}
.kzp-shop-note h3{font-size:16px;margin:0 0 10px;font-family:"Noto Serif JP",serif;}
.kzp-shop-note p{font-size:13px;color:var(--text-dim);margin:0;}

/* CONTACT */
.kzp-contact-intro{max-width:640px;margin:0 auto;text-align:center;color:var(--text-dim);font-size:13.5px;line-height:1.9;}
.kzp-contact-form{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--paper-line);border-radius:8px;padding:32px;}
.kzp-form-row{margin-bottom:20px;}
.kzp-form-row label{display:block;font-size:13px;font-weight:700;margin-bottom:8px;}
.kzp-required{font-size:11px;color:var(--red);border:1px solid var(--red);border-radius:4px;padding:1px 6px;margin-left:8px;font-weight:400;}
.kzp-form-row input,.kzp-form-row select,.kzp-form-row textarea{width:100%;padding:11px 14px;border:1px solid var(--paper-line);border-radius:6px;font-family:inherit;font-size:13.5px;background:var(--paper);color:var(--text);}
.kzp-form-row textarea{min-height:120px;resize:vertical;}
.kzp-contact-button{display:block;width:100%;padding:13px;background:var(--navy);color:var(--ink);border:1px solid var(--gold);border-radius:999px;font-weight:700;font-size:13.5px;text-align:center;cursor:pointer;}
.kzp-contact-notice{max-width:640px;margin:26px auto 0;color:var(--text-dim);font-size:12.5px;text-align:center;}

@media(max-width:900px){
  .kzp-video-grid,.kzp-shop-grid{grid-template-columns:1fr;}
  .kzp-story-card{grid-template-columns:70px 1fr 24px;padding:16px;}
}
@media(max-width:600px){
  .kzp-update-item{grid-template-columns:1fr;gap:4px;}
  .kzp-hero{min-height:200px;}
}
