  :root{
    --bg-dark:#1a120d;
    --bg-dark2:#241a13;
    --cream:#f7f0e4;
    --cream2:#efe2cb;
    --ink:#2a1c13;
    --ink-soft:#5b4a3c;
    /* 品牌色號（啡_色號_1.jpg）*/
    --tan:#e3c19f;
    --terracotta:#c2381b;
    --rust:#9a381b;
    --brown-deep:#762e17;
    --red-deep:#87120c;
    --terracotta-dark:#87120c;
    --gold:#e3c19f;
    --line: rgba(42,28,19,0.14);
    --serif: 'Noto Serif TC', serif;
    --sans: 'Noto Sans TC', sans-serif;
    --eyebrow: 'Oswald', sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--cream);
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 24px;}

  /* Signature diamond seal motif — echoes the brand's own stamp logo */
  .seal{
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--eyebrow); font-size:13px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--terracotta); font-weight:500;
    margin-bottom:14px;
  }
  .seal::before{
    content:""; width:9px; height:9px; background:var(--terracotta);
    transform:rotate(45deg); flex:none;
  }

  h1,h2,h3{font-family:var(--serif); font-weight:900; color:var(--ink); letter-spacing:.02em;}
  h2{font-size:clamp(26px,3.6vw,40px); line-height:1.35;}
  h3{font-size:19px; font-weight:700;}
  p{color:var(--ink-soft);}

  .btn{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--terracotta); color:#fff; font-family:var(--sans);
    font-weight:700; font-size:15px; padding:14px 30px; border-radius:2px;
    text-decoration:none; border:1px solid var(--terracotta);
    transition:background .2s ease, transform .15s ease;
  }
  .btn:hover{background:var(--terracotta-dark); transform:translateY(-1px);}
  .btn-outline{
    background:transparent; color:#f1e6d6; border:1px solid rgba(241,230,214,.5);
  }
  .btn-outline:hover{background:rgba(241,230,214,.1); color:#fff;}
  .btn small{font-weight:400; opacity:.85; font-size:12px;}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(26,18,13,.94); backdrop-filter:blur(6px);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1120px; margin:0 auto;}
  .brand{display:flex; align-items:center; gap:10px; color:#f7f0e4; text-decoration:none;}
  .brand-mark{
    width:34px; height:34px; border:1.5px solid var(--gold); transform:rotate(45deg);
    display:flex; align-items:center; justify-content:center; flex:none;
  }
  .brand-mark span{transform:rotate(-45deg); font-family:var(--serif); font-size:12px; font-weight:700; color:var(--gold);}
  .brand-text{font-family:var(--serif); font-weight:700; font-size:18px;}
  .brand-text small{display:block; font-family:var(--eyebrow); font-size:9px; letter-spacing:.2em; color:var(--gold); font-weight:400;}
  nav.links{display:flex; gap:28px; font-size:14px; color:#e7dcc9;}
  nav.links a{text-decoration:none; opacity:.85;}
  nav.links a:hover{opacity:1; color:var(--gold);}
  .nav-cta{display:flex; align-items:center; gap:16px;}
  .nav-toggle{display:none; background:none; border:none; color:#f7f0e4; font-size:24px; cursor:pointer; line-height:1;}
  .links-mobile{
    display:none; flex-direction:column; background:rgba(20,13,9,.98);
    border-top:1px solid rgba(255,255,255,.08); padding:8px 24px 18px;
  }
  .links-mobile a{
    color:#e7dcc9; text-decoration:none; padding:12px 0; font-size:15px;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .links-mobile.open{display:flex;}

  @media (max-width:860px){
    nav.links{display:none;}
    .nav-toggle{display:block;}
  }
  @media (min-width:861px){
    .links-mobile{display:none !important;}
  }

  /* ---------- Hero ---------- */
  .hero{
    background:linear-gradient(120deg,#140b08 0%, #3a1c10 55%, var(--brown-deep) 100%);
    color:#f7f0e4; padding:0 0 64px;
  }
  .hero-banner{
    border-bottom:1px solid rgba(255,255,255,.1);
    box-shadow:0 20px 40px -20px rgba(0,0,0,.5);
  }
  .hero-banner img{width:100%; display:block;}
  .hero-content{padding:52px 0 0;}
  .hero-inner{display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:start;}
  .hero h1{color:#fff; font-size:clamp(30px,4.4vw,48px); line-height:1.3; margin-bottom:18px;}
  .hero h1 em{font-style:normal; color:var(--gold);}
  .hero p.lede{color:#d9cbb5; font-size:16.5px; max-width:46ch; margin-bottom:28px;}
  .badge-row{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:32px;}
  .badge{
    display:flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.15);
    padding:8px 14px; border-radius:999px; font-size:13px; color:#efe2cb;
  }
  .badge img{width:26px; height:26px; border-radius:50%; object-fit:cover; flex:none;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
  .hero-side{
    border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:28px;
    background:rgba(255,255,255,.04);
  }
  .hero-side .seal{color:var(--gold);}
  .hero-side h3{color:#fff; font-size:17px; margin-bottom:12px;}
  .hero-side ul{list-style:none; display:grid; gap:10px;}
  .hero-side li{
    display:flex; gap:10px; font-size:14px; color:#d9cbb5;
    padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.08);
  }
  .hero-side li strong{color:var(--gold); min-width:64px; font-weight:700;}
  @media (max-width:900px){
    .hero-inner{grid-template-columns:1fr;}
  }

  /* ---------- Section shell ---------- */
  section{padding:76px 0;}
  section.alt{background:var(--cream2);}
  .section-head{max-width:640px; margin-bottom:40px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head p{margin-top:14px; font-size:15.5px;}

  /* image + text split */
  .split{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center;}
  .split.rev .media{order:2;}
  .split .media img{border-radius:3px; border:1px solid var(--line);}
  .split .text h2{margin-bottom:16px;}
  .split .text p + p{margin-top:12px;}
  @media (max-width:880px){
    .split{grid-template-columns:1fr;}
    .split.rev .media{order:0;}
  }

  .kicker-list{list-style:none; margin-top:22px; display:grid; gap:10px;}
  .kicker-list li{
    display:flex; gap:10px; font-size:15px; color:var(--ink);
    padding-bottom:10px; border-bottom:1px solid var(--line);
  }
  .kicker-list li strong{color:var(--terracotta); font-weight:700; min-width:76px;}

  /* stat strip */
  .stat-strip{display:flex; gap:0; border:1px solid var(--line); border-radius:3px; overflow:hidden; margin-top:36px;}
  .stat{flex:1; padding:22px 18px; text-align:center; border-right:1px solid var(--line);}
  .stat:last-child{border-right:none;}
  .stat .num{font-family:var(--serif); font-weight:900; font-size:26px; color:var(--terracotta);}
  .stat .label{font-size:12.5px; color:var(--ink-soft); margin-top:4px;}
  @media (max-width:640px){ .stat-strip{flex-wrap:wrap;} .stat{flex:1 1 50%; border-bottom:1px solid var(--line);} }

  /* video */
  .video-block{
    background:var(--bg-dark); color:#f0e5d3; border-radius:4px; padding:0; overflow:hidden;
    display:grid; grid-template-columns:1fr 1fr;
  }
  .video-copy{padding:48px;}
  .video-copy .seal{color:var(--gold);}
  .video-copy h2{color:#fff;}
  .video-copy p{color:#cfc0aa; margin-top:14px;}
  .video-frame{
    position:relative; background:#000; min-height:280px; display:flex; align-items:center; justify-content:center;
    border-left:1px solid rgba(255,255,255,.08);
  }
  .video-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
  .video-placeholder{color:#8a7c68; font-size:13.5px; text-align:center; padding:20px;}
  .play-dot{
    width:60px; height:60px; border-radius:50%; border:1.5px solid rgba(255,255,255,.4);
    display:flex; align-items:center; justify-content:center; margin:0 auto 14px;
  }
  @media (max-width:880px){ .video-block{grid-template-columns:1fr;} .video-frame{min-height:220px;} }

  /* category nav grid */
  .cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:8px;}
  .cat-card{
    background:transparent; border:none; border-radius:14px; padding:20px 16px;
    text-align:center; text-decoration:none; color:var(--ink);
    transition:transform .18s ease, background .18s ease;
  }
  .cat-card:hover{transform:translateY(-4px); background:rgba(42,28,19,.045);}
  .cat-card .icon-ring{
    width:84px; height:84px; margin:0 auto 16px; border-radius:50%;
    background:var(--cream2); display:flex; align-items:center; justify-content:center;
    transition:background .18s ease;
  }
  .cat-card:hover .icon-ring{background:var(--tan);}
  .cat-card img{width:60px; height:60px;}
  .cat-card h3{font-size:16px; margin-bottom:6px;}
  .cat-card span{font-size:12.5px; color:var(--ink-soft);}
  @media (max-width:820px){ .cat-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:480px){ .cat-grid{grid-template-columns:1fr 1fr; gap:8px;} .cat-card{padding:16px 10px;} .cat-card .icon-ring{width:68px; height:68px;} .cat-card img{width:48px; height:48px;} }

  /* testimonial image block */
  .full-image{border:1px solid var(--line); border-radius:3px; overflow:hidden; margin-top:8px;}

  /* FAQ */
  .faq{max-width:820px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
  .faq-item summary{
    font-family:var(--serif); font-weight:700; font-size:16.5px; cursor:pointer;
    list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+"; font-family:var(--eyebrow); font-size:20px; color:var(--terracotta); flex:none;}
  .faq-item[open] summary::after{content:"–";}
  .faq-item p{margin-top:12px; font-size:14.5px;}

  /* order note strip */
  .order-note{
    background:#fbf3e4; border:1px solid #e6d2a8; border-radius:4px;
    padding:18px 22px; font-size:14px; color:var(--ink-soft); display:flex; gap:12px; align-items:flex-start;
    margin-top:22px;
  }
  .order-note strong{color:var(--ink);}

  /* CTA band */
  .cta-band{
    background:linear-gradient(120deg,#20140d, var(--brown-deep)); color:#f7f0e4; text-align:center; padding:70px 24px;
  }
  .cta-band h2{color:#fff; margin-bottom:14px;}
  .cta-band p{color:#d9cbb5; max-width:52ch; margin:0 auto 30px;}

  /* footer */
  footer{background:var(--bg-dark); color:#cbbca4; padding:52px 0 30px; font-size:14px;}
  .foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px;}
  .foot-grid h4{font-family:var(--serif); color:#fff; font-size:15px; margin-bottom:14px;}
  .foot-grid p, .foot-grid a{color:#a99a83; text-decoration:none; display:block; margin-bottom:8px;}
  .foot-grid a:hover{color:var(--gold);}
  .social-row{display:flex; gap:12px; margin-top:6px;}
  .social-row a{
    width:38px; height:38px; border:1px solid rgba(255,255,255,.15); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:13px;
  }
  .copyright{border-top:1px solid rgba(255,255,255,.08); margin-top:40px; padding-top:22px; font-size:12.5px; color:#8a7c68; text-align:center;}
  @media (max-width:760px){ .foot-grid{grid-template-columns:1fr; gap:28px;} }

  /* mobile sticky cta */
  .sticky-cta{
    display:none; position:fixed; bottom:0; left:0; right:0; z-index:60;
    background:rgba(26,18,13,.97); padding:12px 16px; border-top:1px solid rgba(255,255,255,.1);
  }
  .sticky-cta .btn{width:100%; justify-content:center;}
  @media (max-width:760px){
    .sticky-cta{display:block;}
    body{padding-bottom:70px;}
  }

  ::selection{background:var(--terracotta); color:#fff;}
