/* Maison Berger 首頁（只作用在 .bh 內，不影響 header／footer） */
.bh{
  --bh-paper:#fcfbf7; --bh-sand:#e6e0d4; --bh-tile:#efebe3; --bh-tan:#cfc3ad;
  --bh-ink:#2f2c28; --bh-mute:#6f695f; --bh-gold:#a9843f;
  --bh-serif:"Noto Serif TC","Songti TC",serif;
  --bh-latin:"Cormorant Garamond","Noto Serif TC",serif;
  --bh-gutter:clamp(20px,5vw,96px);
  position:relative; overflow-x:clip; background:var(--bh-paper); color:var(--bh-ink);
}
.bh a{color:inherit;text-decoration:none}
:where(.bh) img{display:block;max-width:100%}
.bh section{position:relative}
.bh section>*:not(.bh-anchor){position:relative;z-index:2}
.bh-anchor{position:absolute;width:1px;height:1px;pointer-events:none}

/* 字 */
.bh-eyebrow{font-family:var(--bh-latin);font-style:italic;font-size:clamp(14px,1.15vw,17px);letter-spacing:.14em;color:var(--bh-mute);margin:0 0 14px}
.bh-eyebrow--light{color:#d9d2c4}
.bh-h2{font-family:var(--bh-serif);font-weight:300;font-size:clamp(25px,2.3vw,34px);letter-spacing:.16em;line-height:1.45;margin:0}
.bh-h2 small{display:block;font-size:.72em;letter-spacing:.14em;margin-top:6px}
.bh-body{font-size:15px;line-height:2;letter-spacing:.08em;color:var(--bh-mute);margin:0}
.bh-head{text-align:center;margin-bottom:clamp(30px,3.6vw,52px)}
.bh-head .bh-h2+.bh-eyebrow{margin:8px 0 0}
.bh-center{text-align:center;margin-top:clamp(32px,3.6vw,52px)}

/* 按鈕 */
.bh-btn{display:inline-block;margin-top:26px;padding:14px 38px;background:var(--bh-ink);color:#fff!important;font-size:14px;letter-spacing:.16em;position:relative;overflow:hidden;transition:color .45s ease}
.bh-btn::before{content:"";position:absolute;inset:0;background:var(--bh-gold);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.bh-btn:hover::before,.bh-btn:focus-visible::before{transform:scaleX(1)}
.bh-btn{isolation:isolate}.bh-btn::before{z-index:-1}
.bh-btn--light{background:var(--bh-sand);color:var(--bh-ink)!important}
.bh-btn--light:hover,.bh-btn--light:focus-visible{color:#fff!important}
.bh a:focus-visible{outline:2px solid var(--bh-gold);outline-offset:4px}

/* 金線 */
.bh-thread{position:absolute;left:0;top:0;width:100%;z-index:1;pointer-events:none;overflow:visible;display:none}
.bh-thread__line{fill:none;stroke:var(--bh-gold);stroke-width:1.1;stroke-linecap:round}
.bh-thread__head{fill:var(--bh-gold);filter:drop-shadow(0 0 6px rgba(201,160,84,.9))}
@media (min-width:1024px){.bh-thread{display:block}}

/* Hero */
.bh-hero{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);min-height:min(calc(100vh - var(--shop-header-h,90px)),860px);background:var(--bh-sand)}
.bh-hero__copy{display:flex;align-items:center;justify-content:flex-end;padding:clamp(40px,6vw,96px) clamp(48px,8vw,160px) clamp(40px,6vw,96px) var(--bh-gutter)}
.bh-hero__title{font-family:var(--bh-serif);font-weight:300;font-size:clamp(38px,4.2vw,64px);letter-spacing:.14em;line-height:1.3;margin:0 0 22px}
.bh-hero__title span,.bh-hero__title small{display:block}
.bh-hero__title small{font-size:.58em;letter-spacing:.14em;margin-top:8px}
.bh-hero__series{font-family:var(--bh-latin);font-size:18px;letter-spacing:.07em;margin:0 0 10px;color:var(--bh-ink)}
.bh-hero__media{position:relative;overflow:hidden;min-height:60vw}
@media (min-width:768px){.bh-hero__media{min-height:0}}
.bh-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;animation:bh-breathe 16s ease-out both}
@keyframes bh-breathe{from{transform:scale(1.06)}to{transform:scale(1)}}
.bh-rise{opacity:0;transform:translateY(16px);animation:bh-rise 1.1s cubic-bezier(.22,1,.36,1) var(--d,0s) forwards}
@keyframes bh-rise{to{opacity:1;transform:none}}

/* 區塊 */
.bh-section{padding:clamp(56px,6.6vw,104px) var(--bh-gutter);max-width:1600px;margin:0 auto}
.bh-grid{display:grid;gap:clamp(14px,1.7vw,26px)}
.bh-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.bh-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1240px;margin:0 auto}

/* 商品卡 */
.bh-card{display:block;text-align:center}
.bh-card__img{display:block;position:relative;aspect-ratio:1/1.08;background:var(--bh-tile);overflow:hidden}
.bh-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity 1s ease}
.bh-card:hover .bh-card__img img{transform:translateY(-3%) scale(1.035)}
.bh-card__soldout{position:absolute;inset:0;background:rgba(47,44,40,.5);color:#fff;display:flex;align-items:center;justify-content:center;letter-spacing:.2em;font-size:14px}
.bh-card__tag{position:absolute;left:10px;top:10px;font-size:12px;letter-spacing:.1em;padding:3px 8px;background:var(--bh-ink);color:#fff}
.bh-card__name{display:block;margin-top:14px;font-size:14px;line-height:1.65;letter-spacing:.05em;color:var(--bh-ink);transition:color .3s}
.bh-card:hover .bh-card__name{color:var(--bh-gold)}
.bh-card__price{display:block;margin-top:5px;font-size:14px;letter-spacing:.04em;color:var(--bh-mute)}
.bh-card__price b{font-weight:500;color:#9c3b2e}.bh-card__price s{margin-left:6px;opacity:.65}

/* Nomad：深色卡片壓在照片上 */
.bh-nomad{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding:clamp(24px,3vw,48px) var(--bh-gutter) clamp(32px,4vw,64px);max-width:1600px;margin:0 auto}
.bh-nomad__card{grid-column:1/7;grid-row:1;background:var(--bh-ink);color:#fff;padding:clamp(48px,6.5vw,104px) clamp(30px,4.6vw,72px);z-index:3!important}
.bh-nomad__card .bh-body{color:#cfc9bd}
.bh-nomad__media{grid-column:6/13;grid-row:1;display:block;aspect-ratio:1.42/1;overflow:hidden;box-shadow:0 30px 60px -36px rgba(47,44,40,.55)}
.bh-nomad__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.22,1,.36,1)}
.bh-nomad__media:hover img{transform:scale(1.04)}

/* 探索 */
.bh-explore__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.9vw,30px)}
.bh-explore__card{display:block;background:var(--bh-sand)}
.bh-explore__img{display:block;aspect-ratio:1.04/1;overflow:hidden}
.bh-explore__img img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transition:transform 1.6s cubic-bezier(.22,1,.36,1)}
.bh-explore__card:hover img{transform:scale(1.05)}
.bh-explore__label{display:block;text-align:center;padding:18px 12px 24px}
.bh-explore__label em{display:block;font-family:var(--bh-latin);font-size:14px;letter-spacing:.14em;color:var(--bh-mute)}
.bh-explore__label strong{display:block;font-family:var(--bh-serif);font-weight:300;font-size:clamp(19px,1.7vw,25px);letter-spacing:.16em;margin-top:4px}
.bh-starck{display:block;margin-top:clamp(14px,1.9vw,30px);overflow:hidden;background:#f1f1ef}
.bh-starck img{width:100%;aspect-ratio:2.5/1;object-fit:cover;object-position:50% 42%}
.bh-activity{padding-top:0}

/* 試香 */
.bh-scent{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bh-tan)}
.bh-scent__media{display:block;position:relative;overflow:hidden;min-height:clamp(360px,36vw,560px)}
.bh-scent__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;transition:transform 1.6s cubic-bezier(.22,1,.36,1)}
.bh-scent__media:hover img{transform:scale(1.03)}
.bh-scent__copy{align-self:center;padding:clamp(40px,5vw,80px) clamp(28px,6vw,110px)}
.bh-scent__copy .bh-body,.bh-scent__copy .bh-eyebrow{color:#524c42}

/* 1898 */
/* 直幅照片在左、內縮加金框；右側文字，大字年份墊底 */
.bh-heritage{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(48px,7vw,128px);align-items:center;background:var(--bh-tile);padding:clamp(72px,8vw,128px) max(var(--bh-gutter),calc((100% - 1240px)/2))}
.bh-heritage__media{position:relative;order:-1;max-width:460px;width:100%;justify-self:end}
.bh-heritage__media::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--bh-gold);opacity:.55}
.bh-heritage__media img{position:relative;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}
.bh-heritage__copy{position:relative}
.bh-heritage__year{position:absolute;left:-.04em;top:-.62em;font-family:var(--bh-latin);font-weight:300;font-size:clamp(130px,13vw,220px);line-height:1;letter-spacing:.02em;color:var(--bh-gold);opacity:.13;pointer-events:none;user-select:none}
.bh-heritage__copy>:not(.bh-heritage__year){position:relative}
.bh-heritage__copy .bh-hero__series{margin-top:18px}

/* 整個螢幕的 3D 場景：外層撐出捲動距離，內層定格 */
.bh-scene{height:320vh;background:#1f1c18}
.bh section>.bh-scene__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(ellipse 70% 80% at 62% 56%,#35302a 0%,#1f1c18 70%)}
.bh-scene__stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:100;pointer-events:none}
.bh-scene__item{position:absolute;left:0;top:0;display:block;width:clamp(84px,11.5vw,180px);aspect-ratio:1/1;visibility:hidden;overflow:hidden;will-change:transform,opacity;border-radius:14px;background:#ebe8e1;box-shadow:0 0 0 1px #d4b06c,0 18px 40px rgba(0,0,0,.45)}
.bh-scene__item:focus-visible{outline:2px solid #ecd8a8;outline-offset:8px}
.bh-scene__item img{width:100%;height:100%;object-fit:cover}
.bh-scene__item::after{content:"";position:absolute;inset:0;background:#1f1c18;opacity:var(--dim,0);pointer-events:none}
.bh-scene__caps{position:absolute;left:var(--bh-gutter);top:50%;transform:translateY(-40%);width:min(44%,560px);pointer-events:none;z-index:300}
.bh-scene__cap{position:absolute;left:0;top:0;width:100%;opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}
.bh-scene__cap.is-on{opacity:1;transform:none}
.bh-scene__title{font-family:var(--bh-serif);font-weight:300;font-size:clamp(30px,3.6vw,56px);line-height:1.45;letter-spacing:.14em;color:#f4efe4;margin:0}
.bh-scene__sub{margin:18px 0 0;font-size:clamp(15px,1.25vw,19px);letter-spacing:.12em;line-height:1.9;color:#cfc6b4}

/* 靈感 */
.bh-inspire__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.9vw,30px);max-width:1240px;margin:0 auto}
.bh-inspire__card{display:block;aspect-ratio:1.28/1;overflow:hidden}
.bh-inspire__card img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.22,1,.36,1)}
.bh-inspire__card:hover img{transform:scale(1.05)}

/* 進場 */
.bh-reveal{opacity:0;transform:translateY(22px);transition:opacity 1.1s ease var(--d,0s),transform 1.1s cubic-bezier(.22,1,.36,1) var(--d,0s)}
.bh-reveal.is-in{opacity:1;transform:none}
.bh:not(.bh-js) .bh-reveal{opacity:1;transform:none}

/* 手機 */
@media (max-width:767px){
  .bh-scene{height:260vh}
  .bh section>.bh-scene__stage{background:radial-gradient(ellipse 90% 60% at 50% 46%,#35302a 0%,#1f1c18 72%)}
  .bh-scene__caps{left:24px;right:24px;top:auto;bottom:12%;transform:none;width:auto;height:130px}
  .bh-scene__title{font-size:25px}
  .bh-hero{grid-template-columns:1fr;min-height:0}
  .bh-hero__media{order:-1;min-height:92vw}
  .bh-hero__copy{justify-content:flex-start;padding:36px 24px 44px}
  .bh-grid--5,.bh-grid--4{display:flex;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -20px;padding:0 20px 6px;scrollbar-width:none}
  .bh-grid--5::-webkit-scrollbar,.bh-grid--4::-webkit-scrollbar{display:none}
  .bh-card{flex:0 0 44vw;scroll-snap-align:start}
  .bh-nomad{display:block;padding:0 20px 24px}
  .bh-nomad__media{display:block;margin-top:-22px;margin-left:24px;z-index:3!important}
  .bh-nomad__card{padding:40px 26px 56px}
  .bh-explore__grid,.bh-inspire__grid{grid-template-columns:1fr}
  .bh-scent{grid-template-columns:1fr}
  .bh-scent__media{min-height:70vw}
  .bh-heritage{grid-template-columns:1fr;gap:96px;padding:56px 24px 64px}
  .bh-heritage__media{justify-self:center;width:calc(100% - 18px);margin-right:18px}
  .bh-heritage__year{font-size:30vw}
}
@media (prefers-reduced-motion:reduce){
  .bh-rise,.bh-hero__media img{animation:none;opacity:1;transform:none}
  .bh-reveal{opacity:1;transform:none;transition:none}
  .bh-scene{height:auto}
  .bh section>.bh-scene__stage{position:relative;height:100vh}
  .bh-scene__cap:not(:last-child){display:none}
  .bh *{transition:none!important}
}
