
:root{
  --ink:#2b231d;
  --paper:#f6f0e7;
  --cream:#fffaf3;
  --gold:#b58438;
  --gold-dark:#8f6222;
  --line:rgba(78,55,31,.16);
  --shadow:0 24px 70px rgba(45,32,20,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
  line-height:1.9;
}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
.site-header{
  position:fixed;inset:0 0 auto 0;height:74px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;z-index:20;
  background:rgba(255,250,243,.84);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(70,50,30,.09)
}
.brand{display:flex;align-items:center}
.brand-logo{width:150px;height:50px;object-fit:contain}
.nav{display:flex;gap:1.6rem;align-items:center;font-size:.9rem}
.nav a{opacity:.76}.nav a:hover{opacity:1}
.nav-cta{padding:.6rem 1rem;border:1px solid var(--gold);border-radius:999px;color:var(--gold-dark)}
.menu-button{display:none;border:0;background:transparent;font-size:1.45rem}
.hero{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;background:#2f271f}
.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:56% center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.72),rgba(20,15,12,.28) 48%,rgba(20,15,12,.06))}
.hero-copy{position:relative;width:min(1180px,90vw);color:#fff;padding-top:5rem}
.eyebrow{font-family:Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;color:var(--gold);font-weight:700}
.hero .eyebrow,.companionship .eyebrow,.trinity .eyebrow{color:#f2cc8c}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3rem,7vw,7.2rem);line-height:1.1;letter-spacing:-.045em;margin:.35rem 0 1.3rem;max-width:9em}
.hero-copy>p:not(.eyebrow){font-size:1.15rem;max-width:38rem;color:rgba(255,255,255,.84)}
.hero-actions{display:flex;gap:.8rem;margin-top:2rem;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.7rem 1.25rem;border-radius:999px;font-family:Arial,sans-serif;font-size:.9rem;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.primary{background:var(--gold);color:#fff;box-shadow:0 12px 30px rgba(156,103,32,.25)}
.ghost{border:1px solid rgba(255,255,255,.6);color:#fff}
.scroll-hint{position:absolute;bottom:28px;color:#fff;font-size:1.8rem;animation:bob 1.7s infinite}
@keyframes bob{50%{transform:translateY(8px)}}
.section{width:min(1180px,90vw);margin:auto;padding:9rem 0}
.intro,.journey,.origin{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}
.portrait-wrap img,.temple-wrap img{border-radius:240px 240px 24px 24px;box-shadow:var(--shadow);max-height:760px;object-fit:cover}
h2{font-size:clamp(2.35rem,5vw,5.1rem);line-height:1.18;letter-spacing:-.04em;margin:.55rem 0 1.7rem}
.lead{font-size:1.22rem;line-height:2}
blockquote{margin:2.5rem 0 0;padding:1.1rem 0 1.1rem 1.5rem;border-left:3px solid var(--gold);font-size:1.12rem;color:#6e563c}

.companionship{position:relative;min-height:820px;display:grid;place-items:center;overflow:hidden;background:#32271d}
.companionship>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 48%}
.companionship-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,18,13,.72),rgba(25,18,13,.2) 68%,rgba(25,18,13,.04))}
.companionship-copy{position:relative;width:min(1180px,90vw);color:#fff}
.companionship-copy h2,.companionship-copy p{max-width:620px}
.companionship-copy p:not(.eyebrow){color:rgba(255,255,255,.86)}

.journey{background:var(--cream);width:100%;padding-left:5vw;padding-right:5vw}
.journey-copy{max-width:580px;margin-left:auto}
.temple-wrap img{border-radius:24px 24px 240px 240px}

.origin{grid-template-columns:.82fr 1.18fr}
.origin-art{padding:1.5rem;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow)}
.origin-art img{border-radius:22px;max-height:680px;object-fit:contain;background:#fff}
.origin-copy{max-width:620px}

.section-heading{max-width:850px;margin-bottom:5rem}
.section-heading>p:last-child{max-width:720px}
.story-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw;align-items:center;margin:0 0 8rem}
.story-card.reverse{grid-template-columns:1.15fr .85fr}
.story-card.reverse img{order:2}
.story-card img{border-radius:20px;box-shadow:var(--shadow);max-height:620px;object-fit:cover}
.story-card h3{font-size:clamp(2rem,4vw,3.8rem);line-height:1.2;margin:.35rem 0 1rem}
.index{font-family:Georgia,serif;color:var(--gold);font-size:1rem;letter-spacing:.16em}
.trinity{position:relative;min-height:760px;display:grid;place-items:center;overflow:hidden}
.trinity>img{position:absolute;inset:0;height:100%;object-fit:cover}
.trinity-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.78),rgba(20,15,12,.3) 65%,rgba(20,15,12,.08))}
.trinity-copy{position:relative;color:white;width:min(1180px,90vw)}
.trinity-copy>p,.trinity-copy h2{max-width:640px}
.trinity-copy p:not(.eyebrow){color:rgba(255,255,255,.84)}
.products{text-align:center}
.products .section-heading{margin-left:auto;margin-right:auto}
.product-visual{max-width:920px;margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.product-actions{margin-top:2.5rem}
.closing{min-height:70vh;display:grid;place-items:center;text-align:center;padding:6rem 5vw;background:linear-gradient(180deg,#f6f0e7,#eee2cf)}
.closing h2{max-width:800px}
.lotus-mark{font-size:2.2rem;color:var(--gold)}
.site-footer{background:#fff;padding:4rem 5vw 1.5rem}
.footer-logo-wrap{max-width:920px;margin:0 auto 3rem;display:flex;justify-content:center}
.footer-logo-wrap img{max-width:820px;max-height:260px;object-fit:contain}
.footer-meta{display:flex;justify-content:space-between;padding-top:1.4rem;border-top:1px solid var(--line);color:#766858;font-family:Arial,sans-serif;font-size:.8rem;letter-spacing:.08em}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width:860px){
  .menu-button{display:block}
  .brand-logo{width:125px}
  .nav{
    position:fixed;top:74px;left:0;right:0;
    display:none;flex-direction:column;align-items:stretch;
    gap:0;padding:1rem 5vw 1.6rem;background:var(--cream);
    border-bottom:1px solid var(--line)
  }
  .nav.open{display:flex}
  .nav a{padding:.75rem 0}
  .nav-cta{text-align:center;margin-top:.5rem}
  .hero{min-height:88vh}
  .hero-overlay{background:linear-gradient(0deg,rgba(20,15,12,.7),rgba(20,15,12,.12) 75%)}
  .hero-copy{align-self:end;padding:0 0 7rem}
  .intro,.journey,.origin,.story-card,.story-card.reverse{grid-template-columns:1fr;gap:2.5rem}
  .story-card.reverse img{order:0}
  .section{padding:6.5rem 0}
  .journey{padding-left:5vw;padding-right:5vw}
  .journey-copy{margin:0}
  .portrait-wrap img,.temple-wrap img{max-height:560px}
  .companionship{min-height:760px}
  .companionship-shade{background:linear-gradient(0deg,rgba(25,18,13,.8),rgba(25,18,13,.1) 76%)}
  .companionship-copy{align-self:end;padding-bottom:4rem}
  .trinity{min-height:700px}
  .trinity-overlay{background:linear-gradient(0deg,rgba(20,15,12,.78),rgba(20,15,12,.18) 72%)}
  .trinity-copy{align-self:end;padding-bottom:4rem}
  .footer-logo-wrap img{max-width:100%}
  .footer-meta{flex-direction:column;gap:.5rem;text-align:center}
}


.share-button{
  background:transparent;
  cursor:pointer;
  font-family:inherit;
}
.mobile-cta{display:none}

@media (max-width:860px){
  body{padding-bottom:68px}
  .mobile-cta{
    display:flex;
    position:fixed;
    z-index:30;
    left:12px;right:12px;bottom:10px;
    min-height:50px;
    align-items:center;justify-content:center;
    border-radius:999px;
    background:var(--gold);
    color:white;
    box-shadow:0 14px 34px rgba(71,45,18,.28);
    font-family:Arial,sans-serif;
    font-size:.95rem;
    font-weight:700;
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal{opacity:1;transform:none}
}


.youtube-section{
  padding:8rem 5vw;
  text-align:center;
  background:#241d18;
  color:#fff;
}
.youtube-inner{
  width:min(820px,92vw);
  margin:auto;
}
.youtube-section h2{
  margin-left:auto;
  margin-right:auto;
}
.youtube-section p:not(.eyebrow){
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
  color:rgba(255,255,255,.78);
  font-size:1.08rem;
}
.youtube-button{
  margin-top:1.5rem;
  background:#fff;
  color:#241d18;
  border:1px solid rgba(255,255,255,.75);
}
.youtube-button:hover{
  background:var(--gold);
  color:#fff;
  border-color:var(--gold);
}
.footer-meta a{
  color:var(--gold-dark);
}
.footer-meta a:hover{
  text-decoration:underline;
}
@media (max-width:860px){
  .youtube-section{padding:6rem 5vw}
}


/* v3 typography and About Kent */
h1,h2,h3,blockquote{
  font-family:"LXGW WenKai TC","DFKai-SB","BiauKai","Noto Serif TC",serif;
  font-weight:700;
  font-style:normal;
  letter-spacing:-.025em;
  text-wrap:balance;
}
h1{
  letter-spacing:-.035em;
}
h2{
  line-height:1.24;
}
h2::after{
  content:"";
  display:block;
  width:76px;
  height:3px;
  margin-top:1.15rem;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),rgba(181,132,56,0));
}
.products h2::after,
.youtube-section h2::after,
.closing h2::after{
  margin-left:auto;
  margin-right:auto;
}
.eyebrow,
.nav,
.button,
.identity-list{
  font-family:"Noto Serif TC","PingFang TC","Microsoft JhengHei",serif;
}
.prose{
  max-width:700px;
}
.identity-list{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:0 0 2rem;
}
.identity-list span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.45rem .85rem;
  border:1px solid rgba(181,132,56,.35);
  border-radius:999px;
  background:rgba(255,250,243,.72);
  color:#6e512e;
  font-size:.88rem;
  letter-spacing:.02em;
}
.about-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:2.2rem;
}
.light-outline{
  border:1px solid rgba(78,55,31,.32);
  color:var(--ink);
  background:rgba(255,255,255,.36);
}
.light-outline:hover{
  border-color:var(--gold);
  color:var(--gold-dark);
}
.prose blockquote{
  display:inline-block;
  margin:1.1rem 0 1.5rem;
  padding:.65rem 1.25rem;
  border-left:0;
  border-top:1px solid rgba(181,132,56,.48);
  border-bottom:1px solid rgba(181,132,56,.48);
  color:var(--gold-dark);
  font-size:clamp(1.45rem,3vw,2.15rem);
  letter-spacing:.12em;
}
.prose p,
.journey-copy p,
.origin-copy p,
.companionship-copy p,
.story-card p{
  line-height:2.05;
}
.story-card h3{
  letter-spacing:-.015em;
}
@media (max-width:860px){
  h1{font-size:clamp(2.75rem,13vw,4.7rem)}
  h2{font-size:clamp(2.25rem,10vw,3.75rem)}
  .identity-list{gap:.5rem}
  .identity-list span{font-size:.82rem}
  .about-actions{flex-direction:column;align-items:stretch}
  .about-actions .button{width:100%}
}


/* LINE 官方商品社群 */
.line-community{
  padding-top:8rem;
  padding-bottom:8rem;
}
.line-community-card{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:6vw;
  align-items:center;
  padding:clamp(2rem,5vw,5rem);
  border:1px solid rgba(55,172,96,.2);
  border-radius:36px;
  background:
    radial-gradient(circle at 90% 10%, rgba(55,172,96,.12), transparent 32%),
    rgba(255,255,255,.58);
  box-shadow:var(--shadow);
}
.line-community-copy{
  max-width:700px;
}
.line-purpose-list{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:1.6rem 0 2rem;
}
.line-purpose-list span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.45rem .85rem;
  border:1px solid rgba(55,172,96,.28);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#287a49;
  font-size:.9rem;
}
.community-note{
  margin:1.6rem 0 2rem;
  padding:1.25rem 1.35rem;
  border-left:4px solid #37ac60;
  border-radius:0 18px 18px 0;
  background:rgba(55,172,96,.08);
}
.community-note strong{
  display:block;
  margin-bottom:.35rem;
  color:#24683f;
  font-size:1.05rem;
}
.community-note p{
  margin:0;
  line-height:1.9;
}
.line-actions{
  margin-top:1.8rem;
}
.line-button{
  background:#06c755;
  color:#fff;
  box-shadow:0 14px 32px rgba(6,199,85,.22);
}
.line-button:hover{
  background:#05b64e;
}
.line-qr-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:1.4rem;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 46px rgba(29,74,46,.12);
}
.line-qr-wrap img{
  width:min(100%,420px);
  border-radius:18px;
}
.line-qr-wrap p{
  margin:1rem 0 0;
  color:#287a49;
  font-size:.9rem;
  letter-spacing:.04em;
}
.footer-meta{
  flex-wrap:wrap;
  gap:.8rem 1.5rem;
}

@media (max-width:860px){
  .line-community-card{
    grid-template-columns:1fr;
    gap:2.2rem;
    border-radius:26px;
  }
  .line-qr-wrap{
    order:-1;
    width:min(100%,430px);
    margin:auto;
  }
  .line-actions .button{
    width:100%;
  }
}


/* v5 YouTube 品牌專區 */
.youtube-section{
  position:relative;
  overflow:hidden;
  padding:clamp(6rem,10vw,10rem) 5vw;
  text-align:left;
  background:
    linear-gradient(135deg,rgba(33,27,23,.98),rgba(18,15,13,.99)),
    #181310;
  color:#fff;
  isolation:isolate;
}
.youtube-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.13;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,black,transparent 88%);
}
.youtube-glow{
  position:absolute;
  z-index:-2;
  border-radius:50%;
  filter:blur(10px);
  pointer-events:none;
}
.youtube-glow-one{
  width:420px;
  height:420px;
  top:-160px;
  left:-120px;
  background:radial-gradient(circle,rgba(255,0,0,.20),transparent 67%);
}
.youtube-glow-two{
  width:520px;
  height:520px;
  right:-180px;
  bottom:-240px;
  background:radial-gradient(circle,rgba(181,132,56,.18),transparent 68%);
}
.youtube-inner{
  width:min(1180px,92vw);
  margin:auto;
}
.youtube-brand-lockup{
  display:flex;
  align-items:center;
  gap:1.15rem;
  width:max-content;
  max-width:100%;
  margin-bottom:clamp(3.2rem,6vw,5.5rem);
  padding:.9rem 1.15rem .9rem .95rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.045);
  box-shadow:0 18px 55px rgba(0,0,0,.22);
}
.youtube-logo{
  display:grid;
  place-items:center;
  width:76px;
  min-width:76px;
  height:58px;
  border-radius:17px;
  box-shadow:0 10px 28px rgba(255,0,0,.22);
}
.youtube-logo svg{
  width:76px;
  height:54px;
}
.youtube-logo rect{
  fill:#ff0033;
}
.youtube-logo path{
  fill:#fff;
}
.youtube-brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.25;
}
.youtube-platform{
  font-family:Arial,sans-serif;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.22em;
  color:rgba(255,255,255,.55);
}
.youtube-brand-text strong{
  margin-top:.25rem;
  font-family:"LXGW WenKai TC","DFKai-SB","BiauKai","Noto Serif TC",serif;
  font-size:clamp(1.55rem,3vw,2.35rem);
  letter-spacing:.05em;
  color:#fff;
}
.youtube-content-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(3rem,7vw,7rem);
  align-items:start;
}
.youtube-heading h2{
  max-width:780px;
  margin-bottom:0;
}
.youtube-heading h2::after{
  margin-left:0;
}
.youtube-description{
  padding-top:2.4rem;
}
.youtube-description p{
  color:rgba(255,255,255,.78);
  font-size:1.06rem;
  line-height:2;
}
.youtube-button{
  display:inline-flex;
  gap:.72rem;
  margin-top:1.5rem;
  padding:.78rem 1.35rem;
  border:1px solid rgba(255,255,255,.26);
  background:#fff;
  color:#211916;
  font-weight:700;
  box-shadow:0 14px 38px rgba(0,0,0,.22);
}
.youtube-button:hover{
  background:#ff0033;
  color:#fff;
  border-color:#ff0033;
  box-shadow:0 18px 42px rgba(255,0,51,.22);
}
.youtube-button-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:7px;
  background:#ff0033;
  color:#fff;
  font-size:.67rem;
  line-height:1;
}
.youtube-button:hover .youtube-button-icon{
  background:#fff;
  color:#ff0033;
}

/* v5 結尾佛號設計 */
.closing{
  position:relative;
  overflow:hidden;
  min-height:78vh;
  display:grid;
  place-items:center;
  padding:clamp(6rem,10vw,10rem) 5vw;
  background:
    radial-gradient(circle at 50% 34%,rgba(255,255,255,.96),rgba(247,237,220,.82) 42%,rgba(237,220,194,.72) 100%),
    #f1e4d0;
}
.closing::before,
.closing::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:1px solid rgba(181,132,56,.13);
  border-radius:50%;
}
.closing::before{
  left:-270px;
  top:-210px;
}
.closing::after{
  right:-260px;
  bottom:-220px;
}
.closing-inner{
  position:relative;
  z-index:1;
  width:min(1100px,94vw);
  text-align:center;
}
.closing .lotus-mark{
  margin-bottom:2.3rem;
  font-size:3rem;
  color:var(--gold);
  text-shadow:0 8px 26px rgba(181,132,56,.18);
}
.closing h2{
  margin-bottom:clamp(2.6rem,6vw,4.5rem);
  color:#2b231d;
}
.sacred-name-wrap{
  display:grid;
  grid-template-columns:minmax(42px,1fr) auto minmax(42px,1fr);
  gap:clamp(1rem,3vw,2.2rem);
  align-items:center;
  width:min(1120px,100%);
  margin:0 auto;
}
.sacred-line{
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(181,132,56,.86));
}
.sacred-line:last-child{
  background:linear-gradient(90deg,rgba(181,132,56,.86),transparent);
}
.sacred-name{
  margin:0;
  font-family:"LXGW WenKai TC","DFKai-SB","BiauKai","Noto Serif TC",serif;
  font-size:clamp(3.45rem,8.6vw,8.25rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:.12em;
  white-space:nowrap;
  color:#9d681f;
  background:linear-gradient(180deg,#d6a556 0%,#9b661d 52%,#6f4310 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 10px 18px rgba(111,67,16,.12));
}
.closing-caption{
  margin:2rem 0 0;
  font-size:1rem;
  letter-spacing:.24em;
  color:#7d6549;
}

@media (max-width:860px){
  .youtube-brand-lockup{
    width:100%;
  }
  .youtube-logo,
  .youtube-logo svg{
    width:66px;
    min-width:66px;
  }
  .youtube-content-grid{
    grid-template-columns:1fr;
    gap:1.4rem;
  }
  .youtube-description{
    padding-top:0;
  }
  .youtube-button{
    width:100%;
  }
  .sacred-name-wrap{
    grid-template-columns:1fr;
    gap:1.2rem;
  }
  .sacred-line{
    width:min(180px,48vw);
    margin:auto;
    background:linear-gradient(90deg,transparent,rgba(181,132,56,.86),transparent);
  }
  .sacred-line:last-child{
    background:linear-gradient(90deg,transparent,rgba(181,132,56,.86),transparent);
  }
  .sacred-name{
    white-space:normal;
    font-size:clamp(3.25rem,15vw,5.3rem);
    letter-spacing:.08em;
  }
  .closing-caption{
    font-size:.85rem;
    letter-spacing:.12em;
  }
}


/* v6 蝦皮官方賣場 */
.shopee-store{
  padding-top:8rem;
  padding-bottom:8rem;
}
.shopee-card{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:clamp(2.5rem,6vw,6rem);
  align-items:center;
  padding:clamp(2rem,5vw,5rem);
  border:1px solid rgba(238,77,45,.18);
  border-radius:36px;
  background:
    radial-gradient(circle at 7% 15%,rgba(238,77,45,.12),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,247,242,.68));
  box-shadow:var(--shadow);
}
.shopee-visual{
  display:flex;
  min-height:410px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:2rem;
  border-radius:30px;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,255,255,.18),transparent 50%),
    linear-gradient(145deg,#ff6b45,#e84225);
  color:#fff;
  box-shadow:0 20px 56px rgba(194,54,28,.22);
}
.shopping-bag{
  position:relative;
  display:grid;
  place-items:center;
  width:170px;
  height:185px;
  border:9px solid #fff;
  border-radius:18px 18px 28px 28px;
}
.bag-handle{
  position:absolute;
  width:88px;
  height:50px;
  top:-53px;
  border:9px solid #fff;
  border-bottom:0;
  border-radius:50px 50px 0 0;
}
.bag-letter{
  font-family:Arial,sans-serif;
  font-size:6.3rem;
  font-weight:700;
  line-height:1;
  color:#fff;
}
.shopee-visual p{
  margin:2.1rem 0 0;
  font-family:Arial,sans-serif;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.8);
}
.shopee-copy{
  max-width:720px;
}
.store-purpose-list{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:1.6rem 0 2rem;
}
.store-purpose-list span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.45rem .85rem;
  border:1px solid rgba(238,77,45,.25);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:#b83b24;
  font-size:.9rem;
}
.store-route-note{
  margin:1.8rem 0 2rem;
  padding:1.25rem 1.35rem;
  border-left:4px solid #ee4d2d;
  border-radius:0 18px 18px 0;
  background:rgba(238,77,45,.075);
}
.store-route-note strong{
  display:block;
  margin-bottom:.4rem;
  color:#a73520;
  font-size:1.05rem;
}
.store-route-note p{
  margin:0;
  line-height:1.9;
}
.shopee-button{
  gap:.72rem;
  background:#ee4d2d;
  color:#fff;
  box-shadow:0 14px 34px rgba(238,77,45,.23);
}
.shopee-button:hover{
  background:#d94124;
}
.shopee-button-icon{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border:2px solid #fff;
  border-radius:6px;
  font-family:Arial,sans-serif;
  font-size:.78rem;
  font-weight:700;
}
@media (max-width:860px){
  .shopee-card{
    grid-template-columns:1fr;
    border-radius:26px;
  }
  .shopee-visual{
    min-height:330px;
  }
  .shopping-bag{
    width:135px;
    height:150px;
  }
  .bag-handle{
    width:72px;
    height:43px;
    top:-46px;
  }
  .bag-letter{
    font-size:5rem;
  }
  .shopee-button{
    width:100%;
  }
}


/* v7 首頁高解析主視覺 */
@media (max-width:860px){
  .hero>img{
    object-position:60% center;
  }
}


/* v8 手機版首頁主視覺重新編排 */
.hero-media{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

@media (max-width:860px){
  .hero{
    min-height:calc(100svh - 74px);
  }

  .hero-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(20,15,12,.32) 0%,
        rgba(20,15,12,.40) 38%,
        rgba(20,15,12,.66) 76%,
        rgba(20,15,12,.82) 100%
      );
  }

  .hero-copy{
    align-self:start;
    padding-top:clamp(8.2rem,22vh,12.5rem);
    padding-bottom:7.5rem;
  }

  .hero-copy h1{
    max-width:8.6em;
    font-size:clamp(2.75rem,12.4vw,4.35rem);
    line-height:1.12;
  }

  .hero-copy>p:not(.eyebrow){
    max-width:19em;
    font-size:1rem;
    line-height:1.75;
  }

  .hero-actions{
    gap:.65rem;
  }

  .hero-actions .button{
    min-height:46px;
    padding:.68rem 1rem;
    font-size:.86rem;
  }

  .scroll-hint{
    bottom:22px;
  }
}

@media (max-width:430px){
  .hero-copy{
    width:92vw;
    padding-top:7.7rem;
  }

  .hero-copy h1{
    font-size:clamp(2.55rem,12vw,3.45rem);
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .hero-actions .share-button{
    grid-column:1 / -1;
  }
}


/* v9 彌陀形象設計歷程 */
.amitabha-evolution{
  position:relative;
  width:100%;
  max-width:none;
  padding-left:5vw;
  padding-right:5vw;
  background:
    radial-gradient(circle at 8% 12%,rgba(181,132,56,.11),transparent 26%),
    linear-gradient(180deg,#fffaf3 0%,#f2e7d6 100%);
}
.evolution-heading{
  width:min(920px,100%);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.evolution-heading h2::after{
  margin-left:auto;
  margin-right:auto;
}
.evolution-heading p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
.evolution-grid{
  width:min(1320px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.35rem;
  align-items:stretch;
}
.evolution-step{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(78,55,31,.12);
  border-radius:26px;
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 48px rgba(52,37,22,.10);
}
.evolution-final{
  border-color:rgba(181,132,56,.52);
  box-shadow:0 22px 58px rgba(130,85,29,.16);
}
.evolution-image{
  position:relative;
  aspect-ratio:2 / 3;
  margin:0;
  overflow:hidden;
  background:#ece8e1;
}
.evolution-image::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:20%;
  background:linear-gradient(transparent,rgba(26,20,16,.18));
  pointer-events:none;
}
.evolution-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.evolution-copy{
  position:relative;
  flex:1;
  padding:1.65rem 1.45rem 1.8rem;
}
.evolution-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:1rem;
  border-radius:50%;
  border:1px solid rgba(181,132,56,.42);
  color:var(--gold-dark);
  font-family:Georgia,serif;
  font-size:.85rem;
  letter-spacing:.08em;
}
.evolution-final .evolution-number{
  background:var(--gold);
  color:#fff;
  border-color:var(--gold);
}
.evolution-copy h3{
  margin:0 0 .9rem;
  font-size:clamp(1.45rem,2.1vw,2.15rem);
  line-height:1.35;
}
.evolution-copy p{
  margin:0;
  color:#645342;
  line-height:1.95;
  font-size:.96rem;
}
.evolution-conclusion{
  width:min(920px,100%);
  margin:4.5rem auto 0;
  padding:2.3rem 2rem;
  text-align:center;
  border-top:1px solid rgba(181,132,56,.38);
  border-bottom:1px solid rgba(181,132,56,.38);
}
.evolution-conclusion p{
  margin:0 0 .45rem;
  color:#7a654b;
}
.evolution-conclusion strong{
  display:block;
  font-family:"LXGW WenKai TC","DFKai-SB","BiauKai","Noto Serif TC",serif;
  font-size:clamp(1.55rem,3.3vw,2.75rem);
  line-height:1.55;
  color:#3a2e24;
}
.evolution-conclusion span{
  display:block;
  margin-top:1rem;
  color:var(--gold-dark);
  letter-spacing:.16em;
}

@media (max-width:1120px){
  .evolution-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.5rem;
  }
}

@media (max-width:620px){
  .amitabha-evolution{
    padding-left:5vw;
    padding-right:5vw;
  }
  .evolution-grid{
    grid-template-columns:1fr;
  }
  .evolution-step{
    border-radius:22px;
  }
  .evolution-image{
    aspect-ratio:4 / 5;
  }
  .evolution-image img{
    object-fit:contain;
    background:#efebe5;
  }
  .evolution-copy{
    padding:1.45rem 1.25rem 1.65rem;
  }
  .evolution-conclusion{
    margin-top:3rem;
    padding:2rem 1rem;
  }
}


/* v10 從彩色原稿到金色線稿 */
.production-story{
  position:relative;
  width:100%;
  max-width:none;
  padding-left:5vw;
  padding-right:5vw;
  background:
    radial-gradient(circle at 92% 10%,rgba(181,132,56,.12),transparent 28%),
    #f8f2e9;
}
.production-heading{
  width:min(900px,100%);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.production-heading h2::after{
  margin-left:auto;
  margin-right:auto;
}
.production-heading p{
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}
.prototype-gallery{
  width:min(1080px,100%);
  margin:0 auto 5rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.6rem;
}
.prototype-photo{
  margin:0;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:0 22px 60px rgba(50,35,21,.13);
}
.prototype-photo img{
  width:100%;
  height:620px;
  object-fit:cover;
  object-position:center 42%;
}
.prototype-photo figcaption{
  padding:1.15rem 1.35rem 1.4rem;
  color:#665442;
  line-height:1.7;
}
.prototype-photo figcaption span{
  display:block;
  margin-bottom:.2rem;
  color:var(--gold-dark);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.15em;
}
.production-timeline{
  width:min(1050px,100%);
  margin:0 auto;
  display:grid;
  gap:1rem;
}
.production-step{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:1.4rem;
  align-items:start;
  padding:1.8rem 2rem;
  border:1px solid rgba(78,55,31,.11);
  border-radius:22px;
  background:rgba(255,255,255,.68);
}
.production-step-number{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid rgba(181,132,56,.45);
  color:var(--gold-dark);
  font-family:Georgia,serif;
  letter-spacing:.08em;
}
.production-step h3{
  margin:0 0 .5rem;
  font-size:clamp(1.4rem,2.5vw,2rem);
}
.production-step p{
  margin:0;
  color:#655544;
  line-height:1.95;
}
.gold-line-result{
  width:min(1180px,100%);
  margin:5.5rem auto 0;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(2.5rem,6vw,6rem);
  align-items:center;
  padding:clamp(1.4rem,3vw,2.4rem);
  border-radius:32px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.86),rgba(245,233,213,.78));
  box-shadow:0 24px 70px rgba(55,38,20,.13);
}
.gold-line-image{
  overflow:hidden;
  border-radius:22px;
}
.gold-line-image img{
  width:100%;
  max-height:680px;
  object-fit:cover;
}
.gold-line-copy{
  padding:1rem 1rem 1rem 0;
}
.gold-line-copy h3{
  font-size:clamp(2rem,4.3vw,4rem);
  line-height:1.28;
}
.gold-line-copy p{
  color:#5f5041;
  line-height:2;
}
.gold-line-copy blockquote{
  margin:2rem 0 0;
  padding:1.1rem 0 1.1rem 1.35rem;
  border-left:3px solid var(--gold);
  color:var(--gold-dark);
  font-size:clamp(1.2rem,2.3vw,1.7rem);
  line-height:1.7;
}

@media (max-width:860px){
  .prototype-gallery{
    grid-template-columns:1fr;
    margin-bottom:3.5rem;
  }
  .prototype-photo img{
    height:auto;
    max-height:720px;
    object-fit:contain;
    background:#eee7dc;
  }
  .production-step{
    grid-template-columns:52px 1fr;
    gap:1rem;
    padding:1.45rem 1.2rem;
  }
  .production-step-number{
    width:46px;
    height:46px;
    font-size:.82rem;
  }
  .gold-line-result{
    grid-template-columns:1fr;
    margin-top:4rem;
    border-radius:24px;
  }
  .gold-line-copy{
    padding:0 .35rem .5rem;
  }
}


/* v11 最終線稿圖顯示優化 */
.gold-line-image{
  display:grid;
  place-items:center;
  padding:clamp(1rem,2.5vw,2rem);
  background:#fff;
}
.gold-line-image img{
  width:100%;
  height:auto;
  max-height:720px;
  object-fit:contain;
  object-position:center;
}


/* v12 最終打樣驗收與細節比較 */
.quality-story{
  position:relative;
  width:100%;
  max-width:none;
  padding-left:5vw;
  padding-right:5vw;
  background:
    radial-gradient(circle at 6% 14%,rgba(181,132,56,.09),transparent 26%),
    linear-gradient(180deg,#f5ead9 0%,#fffaf3 100%);
}
.quality-heading{
  width:min(930px,100%);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.quality-heading h2::after{
  margin-left:auto;
  margin-right:auto;
}
.quality-heading p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
.quality-comparison{
  width:min(1120px,100%);
  margin:0 auto 5rem;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:1.25rem;
  align-items:stretch;
}
.quality-compare-card{
  padding:2rem;
  border-radius:26px;
  border:1px solid rgba(78,55,31,.12);
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 48px rgba(50,35,21,.09);
}
.quality-before{
  background:
    linear-gradient(145deg,rgba(255,255,255,.76),rgba(242,236,228,.76));
}
.quality-after{
  border-color:rgba(181,132,56,.34);
  background:
    linear-gradient(145deg,rgba(255,255,255,.9),rgba(245,231,208,.78));
}
.quality-label{
  display:inline-block;
  margin-bottom:.9rem;
  color:var(--gold-dark);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.14em;
}
.quality-compare-card h3{
  margin:0 0 1rem;
  font-size:clamp(1.7rem,3vw,2.55rem);
  line-height:1.35;
}
.quality-compare-card p{
  margin:0;
  color:#625242;
  line-height:1.95;
}
.quality-arrow{
  display:grid;
  place-items:center;
  width:54px;
  color:var(--gold);
  font-size:2rem;
}
.detail-story-grid{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  gap:2rem;
}
.detail-story-card{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:clamp(2.2rem,5vw,5rem);
  align-items:center;
  padding:clamp(1.2rem,2.5vw,2rem);
  border-radius:30px;
  background:rgba(255,255,255,.7);
  box-shadow:0 22px 58px rgba(49,34,21,.10);
}
.detail-story-card.reverse{
  grid-template-columns:1.08fr .92fr;
}
.detail-story-card.reverse figure{
  order:2;
}
.detail-story-card figure{
  margin:0;
  overflow:hidden;
  border-radius:22px;
  background:#eee7dc;
}
.detail-story-card figure img{
  width:100%;
  max-height:680px;
  object-fit:cover;
  object-position:center;
}
.detail-story-card.detail-feature figure img{
  object-position:center 70%;
}
.detail-story-card.lifestyle figure img{
  max-height:760px;
}
.detail-story-copy{
  padding:1rem;
}
.detail-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin-bottom:1rem;
  border-radius:50%;
  border:1px solid rgba(181,132,56,.42);
  color:var(--gold-dark);
  font-family:Georgia,serif;
  font-size:.84rem;
  letter-spacing:.08em;
}
.detail-story-copy h3{
  margin:0 0 1rem;
  font-size:clamp(1.85rem,3.8vw,3.35rem);
  line-height:1.3;
}
.detail-story-copy p{
  color:#625242;
  line-height:2;
}
.quality-conclusion{
  width:min(940px,100%);
  margin:4.8rem auto 0;
  padding:2.5rem 2rem;
  text-align:center;
  border-top:1px solid rgba(181,132,56,.4);
  border-bottom:1px solid rgba(181,132,56,.4);
}
.quality-conclusion p{
  margin:0 0 .5rem;
  color:#80694e;
}
.quality-conclusion strong{
  display:block;
  font-family:"LXGW WenKai TC","DFKai-SB","BiauKai","Noto Serif TC",serif;
  font-size:clamp(1.6rem,3.5vw,2.9rem);
  line-height:1.55;
  color:#392d23;
}
.quality-conclusion span{
  display:block;
  margin-top:1rem;
  color:var(--gold-dark);
  letter-spacing:.13em;
}

@media (max-width:860px){
  .quality-comparison{
    grid-template-columns:1fr;
    margin-bottom:3.5rem;
  }
  .quality-arrow{
    width:100%;
    height:42px;
    transform:rotate(90deg);
  }
  .detail-story-card,
  .detail-story-card.reverse{
    grid-template-columns:1fr;
    gap:1.4rem;
    border-radius:24px;
  }
  .detail-story-card.reverse figure{
    order:0;
  }
  .detail-story-card figure img,
  .detail-story-card.detail-feature figure img{
    height:auto;
    max-height:720px;
    object-fit:contain;
    object-position:center;
  }
  .detail-story-copy{
    padding:.4rem .25rem .8rem;
  }
  .quality-conclusion{
    margin-top:3.5rem;
    padding:2rem 1rem;
  }
}


/* v13 KentsTalk 杯墊故事 */
.coaster-story{
  width:100%;
  max-width:none;
  padding-left:5vw;
  padding-right:5vw;
  background:
    radial-gradient(circle at 90% 6%,rgba(157,79,42,.10),transparent 24%),
    radial-gradient(circle at 7% 42%,rgba(181,132,56,.08),transparent 24%),
    linear-gradient(180deg,#fbf7f0 0%,#f2e7da 52%,#fffaf3 100%);
}

.coaster-hero{
  width:min(1320px,100%);
  margin:0 auto 7rem;
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:clamp(2.8rem,6vw,6.5rem);
  align-items:center;
}

.coaster-hero-copy h2{
  margin-top:.5rem;
  font-size:clamp(2.7rem,5.5vw,5.5rem);
  line-height:1.15;
}

.coaster-hero-image{
  margin:0;
  overflow:hidden;
  border-radius:34px;
  box-shadow:0 28px 70px rgba(55,38,21,.16);
}

.coaster-hero-image img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center;
}

.coaster-material{
  width:min(1180px,100%);
  margin:0 auto 8rem;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(2.6rem,6vw,6rem);
  align-items:center;
  padding:clamp(2rem,4vw,4rem);
  border:1px solid rgba(86,61,38,.12);
  border-radius:34px;
  background:rgba(255,255,255,.66);
  box-shadow:0 24px 62px rgba(54,37,23,.09);
}

.coaster-material-copy h3,
.coaster-design-copy h3,
.coaster-discussion h3{
  margin:.4rem 0 1.4rem;
  font-size:clamp(2rem,4vw,3.8rem);
  line-height:1.25;
}

.coaster-material-copy p,
.coaster-design-copy p,
.coaster-discussion p{
  color:#625344;
  line-height:2;
}

.coaster-specs{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:1.8rem 0 1.4rem;
}

.coaster-specs span{
  padding:.52rem .9rem;
  border-radius:999px;
  border:1px solid rgba(157,79,42,.20);
  background:#fff9f2;
  color:#7b4933;
  font-size:.88rem;
}

.source-note{
  margin-top:1.5rem;
  font-size:.82rem;
  opacity:.72;
}

.coaster-back-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}

.coaster-back-grid figure{
  margin:0;
  overflow:hidden;
  border-radius:22px;
  background:#e9dfd2;
}

.coaster-back-grid img{
  width:100%;
  height:100%;
  min-height:330px;
  object-fit:cover;
  object-position:center;
}

.coaster-design-heading{
  width:min(900px,100%);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.coaster-design-heading h2::after,
.pairing-heading h2::after{
  margin-left:auto;
  margin-right:auto;
}

.coaster-design-heading p,
.pairing-heading p{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}

.coaster-design-card{
  width:min(1240px,100%);
  margin:0 auto 3rem;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:clamp(2.5rem,6vw,6rem);
  align-items:center;
  padding:clamp(1.3rem,2.4vw,2rem);
  border-radius:32px;
  background:rgba(255,255,255,.72);
  box-shadow:0 22px 60px rgba(53,36,21,.10);
}

.coaster-design-card.square-design{
  grid-template-columns:1.05fr .95fr;
}

.coaster-design-image{
  margin:0;
  overflow:hidden;
  border-radius:24px;
  background:#eee7df;
}

.coaster-design-image img{
  width:100%;
  max-height:760px;
  object-fit:cover;
  object-position:center;
}

.coaster-design-copy{
  padding:1rem;
}

.coaster-number{
  display:inline-grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:.9rem;
  border:1px solid rgba(181,132,56,.40);
  border-radius:50%;
  color:var(--gold-dark);
  font-family:Georgia,serif;
  font-size:.85rem;
  letter-spacing:.08em;
}

.coaster-design-copy blockquote{
  margin:2rem 0 0;
  padding:1.3rem 0 1.3rem 1.4rem;
  border-left:3px solid #a55234;
  color:#8e4a31;
  font-family:"LXGW WenKai TC","DFKai-SB","BiauKai","Noto Serif TC",serif;
  font-size:clamp(1.2rem,2.2vw,1.7rem);
  line-height:1.8;
}

.coaster-discussion{
  width:min(1020px,100%);
  margin:4.5rem auto;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:clamp(2rem,5vw,5rem);
  padding:2.4rem;
  border-top:1px solid rgba(157,79,42,.24);
  border-bottom:1px solid rgba(157,79,42,.24);
}

.gentle-note{
  margin-top:1.4rem;
  padding:1rem 1.15rem;
  border-radius:16px;
  background:rgba(181,132,56,.09);
  color:#705c46 !important;
}

.coaster-pairing{
  width:min(1180px,100%);
  margin:7rem auto 0;
}

.pairing-heading{
  width:min(860px,100%);
  margin:0 auto 3.5rem;
  text-align:center;
}

.pairing-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
}

.pairing-gallery figure{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  box-shadow:0 20px 52px rgba(54,37,23,.11);
}

.pairing-gallery img{
  width:100%;
  height:660px;
  object-fit:cover;
  object-position:center;
}

.pairing-gallery figcaption{
  padding:1.05rem 1.2rem 1.3rem;
  color:#6a5846;
  line-height:1.75;
}

.coaster-gallery{
  width:min(1180px,100%);
  margin:2rem auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
}

.coaster-gallery figure{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  background:#eee5da;
}

.coaster-gallery img{
  width:100%;
  height:500px;
  object-fit:cover;
  object-position:center;
}

.coaster-ending{
  width:min(930px,100%);
  margin:5rem auto 0;
  padding:3rem 2rem;
  text-align:center;
  border-top:1px solid rgba(181,132,56,.42);
  border-bottom:1px solid rgba(181,132,56,.42);
}

.coaster-ending p{
  margin:0 0 .6rem;
  color:#80694f;
}

.coaster-ending strong{
  display:block;
  font-family:"LXGW WenKai TC","DFKai-SB","BiauKai","Noto Serif TC",serif;
  font-size:clamp(1.7rem,3.7vw,3rem);
  line-height:1.55;
  color:#3a2e24;
}

.coaster-ending span{
  display:block;
  margin-top:1rem;
  color:var(--gold-dark);
  letter-spacing:.08em;
}

.coaster-shop-button{
  margin-top:2rem;
  background:#9d4f2a;
  color:#fff;
  box-shadow:0 14px 34px rgba(157,79,42,.20);
}

.coaster-shop-button:hover{
  background:#874125;
}

@media (max-width:900px){
  .coaster-hero,
  .coaster-material,
  .coaster-design-card,
  .coaster-design-card.square-design,
  .coaster-discussion{
    grid-template-columns:1fr;
  }

  .coaster-hero{
    margin-bottom:4.5rem;
  }

  .coaster-hero-image{
    order:-1;
    border-radius:24px;
  }

  .coaster-material{
    margin-bottom:5rem;
    border-radius:24px;
  }

  .coaster-back-grid{
    grid-template-columns:1fr 1fr;
  }

  .coaster-design-card{
    border-radius:24px;
    gap:1.4rem;
  }

  .coaster-design-card.square-design .coaster-design-image{
    order:-1;
  }

  .coaster-discussion{
    margin:3rem auto;
    padding:1.8rem 1rem;
  }

  .pairing-gallery{
    grid-template-columns:1fr;
  }

  .pairing-gallery img{
    height:auto;
    max-height:760px;
    object-fit:contain;
    background:#eee6dc;
  }

  .coaster-gallery img{
    height:400px;
  }
}

@media (max-width:620px){
  .coaster-story{
    padding-left:5vw;
    padding-right:5vw;
  }

  .coaster-hero-copy h2{
    font-size:clamp(2.35rem,11vw,3.6rem);
  }

  .coaster-back-grid,
  .coaster-gallery{
    grid-template-columns:1fr;
  }

  .coaster-back-grid img{
    min-height:0;
    height:auto;
  }

  .coaster-design-image img{
    height:auto;
    max-height:700px;
    object-fit:contain;
  }

  .coaster-gallery img{
    height:auto;
    max-height:650px;
    object-fit:contain;
  }

  .coaster-ending{
    padding:2.2rem 1rem;
  }

  .coaster-shop-button{
    width:100%;
  }
}


/* v15 已上架作品快速購買區 */
.live-products{
  width:100%;
  max-width:none;
  padding-left:5vw;
  padding-right:5vw;
  background:linear-gradient(180deg,#fffaf3 0%,#f4eadc 100%);
}
.live-products-heading{
  width:min(880px,100%);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.live-products-heading h2::after{
  margin-left:auto;
  margin-right:auto;
}
.live-products-heading p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.live-product-grid{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.4rem;
}
.live-product-card{
  min-height:300px;
  display:flex;
  align-items:flex-end;
  padding:2rem;
  border-radius:28px;
  border:1px solid rgba(108,75,41,.12);
  background:rgba(255,255,255,.78);
  box-shadow:0 20px 52px rgba(52,36,21,.09);
}
.live-product-copy{
  width:100%;
}
.live-product-kicker{
  display:block;
  margin-bottom:.65rem;
  color:var(--gold-dark);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.12em;
}
.live-product-card h3{
  margin:0 0 .8rem;
  font-size:clamp(1.65rem,2.8vw,2.4rem);
}
.live-product-card p{
  min-height:5.2em;
  color:#655442;
  line-height:1.8;
}
.live-product-card .button{
  margin-top:1rem;
}

@media (max-width:900px){
  .live-product-grid{
    grid-template-columns:1fr;
  }
  .live-product-card{
    min-height:0;
  }
  .live-product-card p{
    min-height:0;
  }
}


/* v16 快樂念佛人杯墊 */
.happy-design{
  margin-top:3rem;
  background:
    linear-gradient(135deg,rgba(255,255,255,.84),rgba(232,238,247,.76));
}

.happy-coaster-image{
  background:#e9e6df;
}

.happy-coaster-image img{
  object-fit:contain;
  padding:.6rem;
}

.happy-coaster-note{
  width:min(980px,100%);
  margin:3rem auto 0;
  padding:2.2rem 2.4rem;
  border-radius:26px;
  border:1px solid rgba(78,69,88,.12);
  background:
    linear-gradient(135deg,rgba(246,242,235,.88),rgba(231,237,247,.72));
  box-shadow:0 18px 48px rgba(46,43,49,.08);
  text-align:center;
}

.happy-coaster-note h3{
  margin:.4rem 0 1rem;
  font-size:clamp(1.8rem,3.6vw,3rem);
  line-height:1.35;
}

.happy-coaster-note p{
  max-width:800px;
  margin:.7rem auto 0;
  color:#62594f;
  line-height:1.95;
}

@media (max-width:900px){
  .happy-coaster-note{
    padding:1.8rem 1.2rem;
    border-radius:22px;
  }
}


/* v17 蝦皮現貨販售提醒 */
.product-live-note{
  max-width:760px;
  margin:0 auto 1.25rem;
  text-align:center;
  color:#665442;
  line-height:1.9;
  font-size:1rem;
}
