@charset "utf-8";
/* =========================================================
   BAUM  —  pc.css  (769px 以上) : <link media="(min-width:769px)">
   ========================================================= */

/* ===== Hero ===== */
.hero{ position:relative; height:88vh; min-height:560px; overflow:hidden; }
.hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__img.sp{ display:none; }
.hero__copy{
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  color:var(--brown); text-shadow:0 2px 24px rgba(248,247,241,.8);
}
.hero__en{ font-family:var(--font-en); font-size:20px; letter-spacing:.5em; }
.hero__jp{ font-family:var(--font-jp); font-size:26px; letter-spacing:.24em; margin-top:26px; line-height:2.1; }
.hero__jp em{ font-style:normal; color:var(--brown-mid); }
.hero__scroll{ position:absolute; left:50%; bottom:26px; transform:translateX(-50%); font-family:var(--font-en); font-size:11px; letter-spacing:.3em; color:var(--brown); }
.hero__scroll::after{ content:""; display:block; width:1px; height:44px; background:var(--brown); margin:10px auto 0; animation:scrolldrop 2s var(--ease) infinite; }
@keyframes scrolldrop{ 0%{transform:scaleY(0);transform-origin:top} 40%{transform:scaleY(1);transform-origin:top} 60%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* ===== Concept ===== */
.concept{ background:var(--cream); }
.concept__grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; margin-top:56px; }
.concept__title{ font-family:var(--font-jp); font-size:26px; letter-spacing:.14em; line-height:1.7; }
.concept__body{ font-size:16px; line-height:2.4; margin-top:28px; color:var(--brown-mid); }
.concept__img{ border-radius:2px; box-shadow:0 24px 60px -30px rgba(48,29,2,.4); }

/* ===== Collection ===== */
.collection{ background:var(--cream-2); }
.coll-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:56px; }
.coll-card{ background:var(--white); border:1px solid var(--line); border-radius:2px; overflow:hidden; display:block; transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.coll-card:hover{ transform:translateY(-6px); box-shadow:0 24px 50px -28px rgba(48,29,2,.45); opacity:1; }
.coll-card__photo{ aspect-ratio:4/3; overflow:hidden; }
.coll-card__photo img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.coll-card:hover .coll-card__photo img{ transform:scale(1.06); }
.coll-card__body{ padding:18px 18px 22px; text-align:center; }
.coll-card__en{ font-family:var(--font-en); font-size:18px; letter-spacing:.1em; }
.coll-card__jp{ font-size:12px; color:var(--gray); letter-spacing:.12em; margin-top:4px; }

/* ===== Shop ===== */
.shop{ background:var(--cream); }
.shop__grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:20px; margin-top:56px; }
.shop__main{ position:relative; overflow:hidden; border-radius:2px; }
.shop__main img{ width:100%; height:100%; object-fit:cover; }
.shop__side{ display:grid; grid-template-rows:1fr 1fr; gap:20px; }
.shop__side img{ width:100%; height:100%; object-fit:cover; border-radius:2px; }
.shop__cap{ position:absolute; left:0; bottom:0; right:0; padding:26px; background:linear-gradient(0deg,rgba(48,29,2,.6),transparent); color:var(--cream); }
.shop__cap .en{ font-size:20px; }
.shop__cap p{ font-size:13px; margin-top:4px; }

/* ===== Catalog ===== */
.catalog{ background:var(--brown); color:var(--cream); text-align:center; }
.catalog .eyebrow{ color:var(--gold); }
.catalog .section__title{ color:var(--cream); }
.catalog__lead{ color:#d9cdb8; margin-top:20px; font-size:15px; }
.catalog .btn{ color:var(--cream); border-color:var(--gold); margin-top:40px; }
.catalog .btn:hover{ background:var(--gold); color:var(--brown); }

/* ===== 下層ページ PC ===== */
.store-grid{ grid-template-columns:repeat(3,1fr); }

/* ===== Phase3 PC ===== */
.hub-grid{ grid-template-columns:repeat(4,1fr); }
.cd-hero{ height:66vh; min-height:460px; }
.cd-hero__en{ font-size:64px; }
.ring{ grid-template-columns:1fr 1fr; }
.ring:nth-child(even) .ring__media{ order:2; }

/* ===== Phase4 PC ===== */
.warranty__grid{ grid-template-columns:repeat(3,1fr); }

/* Phase5 PC：4カラム固定 */
.coll-grid--4{ grid-template-columns:repeat(4,1fr); }

/* Phase6 Quality PC */
.qrow{ grid-template-columns:1fr 1fr; }
.qrow--rev .qrow__media{ order:2; }
.qmat-grid{ grid-template-columns:repeat(4,1fr); }
