:root{--brand-paper:#f8f6f2;--brand-paper-2:#f1ebe1;--brand-card:#fffdf8;--brand-ink:#3e3a35;--brand-muted:#756d63;--brand-green:#8c6a4a;--brand-green-dark:#6f4f35;--brand-gold:#c88858;--brand-line:#e7dfd3;--brand-shadow:0 22px 60px rgba(90,65,40,.1)}
body{background:var(--brand-paper);color:var(--brand-ink)}
h1,h2,h3,h4{font-family:"Noto Serif TC","Songti TC",serif;letter-spacing:-.02em}
.site-header{height:82px;background:rgba(248,242,230,.93);border-bottom:1px solid var(--brand-line);backdrop-filter:blur(14px)}
.logo-area img{width:190px}.site-nav{align-items:center;font-weight:700;color:var(--brand-ink)}.site-nav a::after{background:var(--brand-green)}
.section-label{color:var(--brand-green);font-weight:900;letter-spacing:.17em}.text-link{color:var(--brand-green)}
.btn,.primary-link-btn,.secondary-link-btn,.article-back-button,.article-product-link{border-radius:999px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 25px;font-weight:800;transition:.22s ease}
.btn.primary,.primary-link-btn,.article-product-link{background:var(--brand-green);color:white;border:1px solid var(--brand-green)}
.btn.primary:hover,.primary-link-btn:hover,.article-product-link:hover{background:var(--brand-green-dark);transform:translateY(-2px);box-shadow:none}
.btn.secondary,.secondary-link-btn,.article-back-button{background:transparent;color:var(--brand-green);border:1px solid var(--brand-green)}
.btn.secondary:hover,.secondary-link-btn:hover,.article-back-button:hover{background:rgba(140,106,74,.08);color:var(--brand-green);transform:translateY(-2px)}
.page-hero{position:relative;min-height:430px;padding:120px 6vw 90px;background:var(--brand-green-dark);color:#f8f2e6;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.page-hero::before,.page-hero::after{content:"";position:absolute;border-radius:50%;background:rgba(216,183,133,.13)}.page-hero::before{width:420px;height:420px;right:-110px;top:-170px}.page-hero::after{width:230px;height:230px;left:-70px;bottom:-120px}
.page-hero>*{position:relative;z-index:1}.page-hero .section-label{color:#d8b785}.page-hero h1{font-size:clamp(48px,7vw,84px);line-height:1.1;margin:8px 0 18px;letter-spacing:-.05em}.page-hero p:last-child{max-width:650px;margin:0 auto;color:#dddcd3;font-size:17px}
.section{padding:100px 6vw}.section h2{font-size:clamp(32px,4vw,54px)}.alt-section{background:var(--brand-paper-2)}.section-image img{border-radius:30px;box-shadow:var(--brand-shadow)}
.feature-card,.step-card,.contact-card,.notice-box{background:var(--brand-card);border:1px solid var(--brand-line);border-radius:24px;box-shadow:none}.feature-card,.step-card{transition:.22s ease}.feature-card:hover,.step-card:hover{transform:translateY(-3px);box-shadow:var(--brand-shadow)}
.product-section{background:var(--brand-paper)}.product-grid,#productList{gap:24px}.product-card{background:var(--brand-card);border:1px solid var(--brand-line);border-radius:26px;box-shadow:none;overflow:hidden;transition:.22s ease}.product-card:hover{transform:translateY(-4px);box-shadow:var(--brand-shadow)}.product-card img{background:var(--brand-paper-2)}.product-card-body{padding:28px}.product-card h2{font-size:26px}.product-card-bottom strong{color:var(--brand-green-dark)}
.article-category-section{background:var(--brand-paper);padding-top:64px}.article-category-filter{gap:10px}.category-card{border:1px solid var(--brand-line);background:var(--brand-card);color:var(--brand-muted);border-radius:999px;box-shadow:none;padding:12px 19px;min-height:46px}.category-card:hover,.category-card.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff;transform:none}.article-list-section{background:var(--brand-paper)}.article-card{background:var(--brand-card);border:1px solid var(--brand-line);border-radius:24px;box-shadow:none;overflow:hidden}.article-card:hover{box-shadow:var(--brand-shadow);transform:translateY(-3px)}.article-category,.article-link{color:var(--brand-green)}
.article-page{background:var(--brand-paper)}.article-hero{max-width:900px;padding-top:90px}.article-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.2;letter-spacing:-.045em}.article-back-link,.article-category{color:var(--brand-green)}.article-excerpt,.article-date{color:var(--brand-muted)}.article-feature-image-wrap img{border-radius:28px;box-shadow:var(--brand-shadow)}.article-content{max-width:820px;background:var(--brand-card);border:1px solid var(--brand-line);border-radius:28px;padding:clamp(28px,5vw,64px);box-shadow:none}.article-content blockquote{background:var(--brand-paper-2);border-left-color:var(--brand-gold);border-radius:0 15px 15px 0}.article-content a{color:var(--brand-green)}
.life-hero-section{min-height:620px}.life-hero-content h1{font-size:clamp(52px,8vw,92px);letter-spacing:-.05em}.life-hero-content .section-label{color:#ead2aa}.life-river-section{background:var(--brand-paper)}.life-river-heading h2{font-size:clamp(35px,5vw,60px)}.river-card{background:var(--brand-card);border:1px solid var(--brand-line);border-radius:26px;box-shadow:var(--brand-shadow)}.river-dot{background:var(--brand-gold);color:white}.life-value-section{background:var(--brand-paper-2)}.life-value-card{background:var(--brand-green-dark);color:#f8f2e6;border-radius:32px}.life-value-text p{color:#d7d7cf}.life-value-text .section-label{color:#d8b785}.life-value-text .primary-link-btn{background:#f7eddd;color:var(--brand-green-dark);border-color:#f7eddd}
.contact-section{background:var(--brand-paper)}.contact-card{max-width:850px;margin:auto;padding:clamp(32px,6vw,70px)}.contact-card h2{font-size:clamp(30px,4vw,48px)}.contact-list a{color:var(--brand-green);font-weight:700}
.step-grid{gap:22px}.step-card{padding:36px}.step-card span{color:var(--brand-gold);font-family:"Noto Serif TC","Songti TC",serif}.notice-section{background:var(--brand-paper-2)}.notice-box{max-width:850px;margin:auto;padding:36px}
.cart-page,.checkout-page,.thank-you-page{background:var(--brand-paper);padding-top:90px}.section-heading h1,.checkout-heading h1{font-family:"Noto Serif TC","Songti TC",serif;font-size:clamp(40px,6vw,68px);letter-spacing:-.04em}.cart-item,.cart-summary,.checkout-form,.checkout-summary,.thank-you-card{background:var(--brand-card);border:1px solid var(--brand-line);border-radius:24px;box-shadow:none}.cart-item-image,.cart-item-image img{border-radius:16px}.cart-summary,.checkout-summary{box-shadow:var(--brand-shadow)}.cart-item-quantity button{border-color:var(--brand-line);color:var(--brand-green)}.cart-summary-total,.checkout-summary-total{color:var(--brand-green-dark)}.checkout-form input,.checkout-form select,.checkout-form textarea{background:#fff;border:1px solid var(--brand-line);border-radius:12px}.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus{border-color:var(--brand-green);box-shadow:0 0 0 3px rgba(140,106,74,.12)}.checkout-submit-btn{background:var(--brand-green);border-radius:999px}.checkout-submit-btn:hover{background:var(--brand-green-dark)}.checkout-step.active .checkout-step-number,.checkout-step.done .checkout-step-number{background:var(--brand-green)}.thank-you-card{max-width:760px;margin:auto;padding:clamp(36px,6vw,72px)}
.empty-cart{max-width:760px;margin:20px auto 0;padding:clamp(30px,5vw,54px);background:var(--brand-card);border:1px solid var(--brand-line);border-radius:30px;text-align:center;box-shadow:var(--brand-shadow)}.empty-cart-visual{width:min(360px,100%);aspect-ratio:4/3;margin:0 auto 30px;border-radius:24px;overflow:hidden;background:var(--brand-paper-2);position:relative}.empty-cart-visual img{width:100%;height:100%;object-fit:cover}.empty-cart-visual span{position:absolute;left:14px;right:14px;bottom:14px;padding:8px 12px;background:rgba(255,253,248,.9);border-radius:999px;color:var(--brand-green-dark);font-size:13px;font-weight:900;backdrop-filter:blur(8px)}.empty-cart h2{font-size:clamp(28px,4vw,42px);margin:0 0 8px}.empty-cart p{max-width:430px;margin:0 auto 24px;color:var(--brand-muted)}
.floating-cart-button,.drawer-checkout-btn{background:var(--brand-green);color:#fff}.floating-cart-button strong{background:#fff;color:var(--brand-green)}.drawer-cart-info p,.drawer-empty a{color:var(--brand-green)}.cart-drawer{background:var(--brand-paper)}.cart-toast{background:var(--brand-green-dark)}
.site-footer{background:#3e2f22;color:#fff8ea}.site-footer p,.site-footer a{color:#e1d6c9}.site-footer a:hover{color:white}.site-footer img{filter:none}
@media(max-width:900px){.site-header{height:80px}.logo-area img{width:135px}.site-nav{background:var(--brand-paper)}.page-hero{min-height:360px;padding:90px 20px 70px}.section{padding-top:76px;padding-bottom:76px}.article-content{border-radius:20px}.life-hero-section{min-height:540px}.life-value-card{border-radius:24px}.cart-page,.checkout-page,.thank-you-page{padding-top:64px!important}}
@media(max-width:560px){.page-hero h1{font-size:48px}.page-hero p:last-child{font-size:15px}.article-hero{padding-top:64px}.article-hero h1{font-size:40px}.category-card{width:auto!important}.contact-card,.notice-box{padding:28px}.step-card{padding:28px}}
@media(prefers-reduced-motion:reduce){.btn,.primary-link-btn,.secondary-link-btn,.article-back-button,.article-product-link,.feature-card,.step-card,.product-card,.article-card{transition:none}}

/* 2026 page rhythm and alignment refinements */
.page-hero{min-height:280px;padding:66px 6vw 58px;text-align:center;align-items:center}
.page-hero h1{font-size:clamp(40px,5vw,60px);margin:6px 0 14px}
.page-hero p:last-child{max-width:720px;line-height:1.75}
.section{padding-top:78px;padding-bottom:78px}
.product-card-body{padding:22px}
.product-card h2{font-size:24px}
.cart-page,.checkout-page,.thank-you-page{padding-top:62px}
.contact-card,.notice-box{text-align:center}
.contact-list{display:inline-flex;flex-direction:column;align-items:center}
.product-info-panel{background:var(--brand-card);border-color:var(--brand-line)}

@media(max-width:900px){
  .page-hero{min-height:240px;padding:58px 20px 50px!important}
  .page-hero h1{font-size:clamp(36px,8vw,50px)}
  .section{padding-top:62px;padding-bottom:62px}
  .product-top-card{padding:26px;gap:28px}
  .product-info-section{grid-template-columns:1fr;gap:10px}
  #productList{width:100%}
}

@media(max-width:560px){
  .page-hero{min-height:218px;padding:48px 20px 42px!important}
  .page-hero h1{font-size:38px}
  .page-hero p:last-child{font-size:14px;line-height:1.7}
  .product-info-panel{padding:4px 24px}
  .product-spec-list{grid-template-columns:1fr}
}
