
  @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Noto+Sans+TC:wght@300;400;500&display=swap');
  :root{--bg:#f7f3ec;--ink:#2a2118;--muted:#7a6b5c;--rose:#c17f59;--line:#e8dfd2;--serif:"Cormorant Garamond",serif;--sans:"Noto Sans TC",sans-serif}
  *{box-sizing:border-box}html{scroll-behavior:smooth}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7}
  a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
  .wrap{width:min(1140px,90vw);margin:0 auto}
  .hdr{padding:28px 0;border-bottom:1px solid var(--line);background:rgba(247,243,236,.92);position:sticky;top:0;z-index:50;backdrop-filter:blur(8px)}
  .hdr-in{display:flex;align-items:center;justify-content:space-between;gap:20px}
  .logo img{height:52px;width:auto}
  .nav{display:flex;gap:28px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
  .nav a:hover{color:var(--rose)}
  .hero{padding:70px 0 50px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end}
  .hero h1{font-family:var(--serif);font-size:clamp(42px,6vw,76px);font-weight:400;line-height:1.05;margin:0 0 20px}
  .hero h1 em{font-style:italic;color:var(--rose)}
  .hero-lead{font-size:17px;color:var(--muted);max-width:420px}
  .hero-visual{position:relative}
  .hero-visual img{border-radius:2px 80px 2px 2px;box-shadow:0 40px 80px rgba(42,33,24,.12)}
  .hero-badge{position:absolute;bottom:24px;left:-20px;background:var(--ink);color:var(--bg);padding:14px 22px;font-size:11px;letter-spacing:.2em}
  .kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:40px auto}
  .kpi div{background:var(--bg);padding:22px;text-align:center}
  .kpi b{display:block;font-family:var(--serif);font-size:28px;font-weight:400}
  .kpi span{font-size:11px;letter-spacing:.16em;color:var(--muted)}
  .sec{padding:56px 0}
  .sec-h{margin-bottom:36px}
  .sec-h h2{font-family:var(--serif);font-size:clamp(32px,4vw,48px);margin:0 0 8px;font-weight:400}
  .sec-h p{color:var(--muted);margin:0;font-size:14px}
  .atelier{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
  .piece{grid-column:span 4;background:#fff;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:14px;transition:transform .3s,box-shadow .3s}
  .piece:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(42,33,24,.08)}
  .piece.wide{grid-column:span 6}
  .piece.featured{grid-column:span 6;background:var(--ink);color:var(--bg);border-color:var(--ink)}
  .piece.featured .muted{color:#c9bdb0}
  .piece-tag{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--rose)}
  .piece.featured .piece-tag{color:var(--rose)}
  .piece h3{font-family:var(--serif);font-size:26px;margin:0;font-weight:400}
  .piece .price{font-family:var(--serif);font-size:32px;margin:0}
  .piece .unit{font-size:12px;color:var(--muted)}
  .muted{color:var(--muted);font-size:13px;line-height:1.8}
  .piece-act{display:flex;gap:10px;margin-top:auto;flex-wrap:wrap}
  .btn{border:1px solid var(--ink);background:transparent;padding:11px 20px;font-size:11px;letter-spacing:.14em;cursor:pointer;font-family:inherit}
  .btn-fill{background:var(--ink);color:var(--bg);border-color:var(--ink)}
  .piece.featured .btn{border-color:var(--bg);color:var(--bg)}
  .piece.featured .btn-fill{background:var(--rose);border-color:var(--rose);color:#fff}
  .psy{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .psy-card{padding:28px;border-top:2px solid var(--rose)}
  .psy-card h3{font-family:var(--serif);font-size:22px;margin:0 0 10px}
  .journal{display:grid;grid-template-columns:1fr 1fr;gap:32px}
  .journal-main{padding-right:20px;border-right:1px solid var(--line)}
  .journal-main img{border-radius:2px;margin-bottom:18px;aspect-ratio:16/10;object-fit:cover}
  .journal-list{display:flex;flex-direction:column;gap:0}
  .journal-list a{display:block;padding:18px 0;border-bottom:1px solid var(--line)}
  .journal-list a:hover h4{color:var(--rose)}
  .journal-list h4{margin:0 0 4px;font-size:15px;font-weight:500}
  .journal-list p{margin:0;font-size:12px;color:var(--muted)}
  .page{padding:48px 0 72px}
  .page h1{font-family:var(--serif);font-size:clamp(36px,5vw,56px);margin:0 0 20px;font-weight:400}
  .prose{max-width:720px;margin-left:auto;margin-right:auto}
  .prose p,.prose li{color:var(--muted);font-size:15px;line-height:1.75}
  .prose h2{font-family:var(--serif);font-size:24px;color:var(--ink);margin:32px 0 12px}
  .prose h3{font-size:17px;color:var(--ink);margin:22px 0 8px;font-weight:600}
  .prose ul,.prose ol{padding-left:1.25em;margin:0 0 16px}
  .prose a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
  .table-wrap{overflow-x:auto;margin:16px 0 24px}
  .prose table{width:100%;border-collapse:collapse;font-size:13px;color:var(--ink)}
  .prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
  .prose th{background:#f6f4f1;font-weight:600}
  .buy{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
  .buy img{border-radius:2px 40px 2px 2px}
  .facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
  .facts div{border:1px solid var(--line);padding:14px;font-size:13px}
  .facts b{display:block;font-size:11px;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}
  .foot{padding:40px 0;border-top:1px solid var(--line);color:var(--muted);margin:0 0 16px}
  .foot-links{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;letter-spacing:.08em}
  .foot-note{font-size:11px;color:var(--muted);margin-top:20px}
  .cart{position:fixed;bottom:20px;right:20px;background:var(--ink);color:var(--bg);padding:12px 18px;font-size:12px;letter-spacing:.06em;z-index:60;display:flex;gap:14px}
.bmi{margin:24px 0;padding:22px;border:1px solid var(--line);background:#fff}
.bmi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.bmi input{border:1px solid var(--line);padding:10px;font:inherit;width:100%}
.bmi button{border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:10px 16px;cursor:pointer}
.related{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
  @media(max-width:900px){
    .hero,.buy,.journal,.psy{grid-template-columns:1fr}
    .atelier .piece,.atelier .piece.wide,.atelier .piece.featured{grid-column:span 12}
    .nav{display:none  }
}
/* Sticky footer v4 — margin-top:auto 推页脚到底 */
html{height:100%}
body{
  min-height:100vh!important;
  min-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
}
body>header,body>.top,body>.hdr,body>.hyper-hdr,body>.wl-top,body>.ap-top,body>.ticker,body>.announce{flex-shrink:0}
body>main{flex:1 0 auto!important;width:100%}
footer.foot,body>footer,body>.foot,body>.hyper-foot,body>.wl-foot,body>.ap-foot{
  flex-shrink:0!important;
  width:100%;
  margin-top:auto!important;
}

/* Article page: center reading column (detail pages only) */
.page .cover,
.page .prose{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.page:has(.prose) h1,
.page:has(.prose) .wrap > p:first-child{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.page h1{margin-bottom:20px}
.page .cover{margin-top:0;margin-bottom:0}

/* Article images: fit container, crop instead of full show */
.page .cover{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:4px;
  margin:16px auto;
}
.page .cover img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center;
  display:block;
  margin:0!important;
}
.journal-main img,
.journal-list img{
  width:100%;
  aspect-ratio:16/10;
  height:auto;
  object-fit:cover;
  object-position:center;
}
/* article-detail-fix */
.prose section.related{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.prose section.related h2{font-size:18px;margin:0 0 14px}
.prose section.related>a{display:block;padding:14px;border:1px solid var(--line);background:#fff;margin-bottom:10px;text-decoration:none}
.prose section.related>a strong{display:block;font-size:15px;margin-bottom:6px;color:var(--ink)}
.prose section.related>a span{font-size:13px;color:var(--muted);line-height:1.5}
/* article-layout-wide */
main:has(.prose) .wrap > p.crumb,
main:has(.prose) .wrap > p,
main:has(.prose) h1,
main:has(.prose) .cover,
main:has(.prose) .prose,
main:has(.prose) .content,
main:has(.prose) .article-cover,
main:has(.prose) .wrap > section.related {
  max-width: min(960px, 94vw);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
main:has(.prose) .cover,
main:has(.prose) .article-cover {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 4px;
  margin: 16px auto;
}
main:has(.prose) .cover img,
main:has(.prose) .article-cover img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center;
  display: block;
  margin: 0 !important;
}
main:has(.prose) .content p,
main:has(.prose) .content li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}
main:has(.prose) .content h2 {
  font-family: var(--serif);
  font-size: 24px;
  color: var(--ink);
  margin: 32px 0 12px;
}
main:has(.prose) .content h3 {
  font-size: 17px;
  color: var(--ink);
  margin: 22px 0 8px;
  font-weight: 600;
}
main:has(.prose) .content ul,
main:has(.prose) .content ol {
  padding-left: 1.25em;
  margin: 0 0 16px;
}
main:has(.prose) .wrap > section.related,
main:has(.prose) .content section.related {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
main:has(.prose) .wrap > section.related h2,
main:has(.prose) .content section.related h2 {
  font-size: 18px;
  margin: 0 0 14px;
}
main:has(.prose) .wrap > section.related > a,
main:has(.prose) .content section.related > a {
  display: block;
  padding: 14px;
  border: 1px solid var(--line);
  background: #fff;
  margin-bottom: 10px;
  text-decoration: none;
}
main:has(.prose) .wrap > section.related > a strong,
main:has(.prose) .content section.related > a strong {
  display: block;
  font-size: 15px;
  margin-bottom: 6px;
  color: var(--ink);
}

/* article-no-mid-cover */
.page-content [class$="-cover"],
.page-content .article-cover,
.content [class$="-cover"],
.content .article-cover,
.prose [class$="-cover"],
.prose .article-cover,
.hyper-prose [class$="-cover"],
.tk-prose [class$="-cover"],
.tk-prose .article-cover,
.body [class$="-cover"],
.body .article-cover,
.bl-prose [class$="-cover"],
.bl-prose .article-cover,
.hz-prose [class$="-cover"],
.vx-prose [class$="-cover"],
.sf-prose [class$="-cover"],
.np-prose [class$="-cover"],
.ap-prose [class$="-cover"],
.wl-prose [class$="-cover"] {
  display: none !important;
}
