
  :root{
    --walnut:#7A5C3C; --caramel:#B8906A; --sandy:#D4B896; --biscuit:#E8D9C5;
    --parchment:#F2EBE0; --warm:#FAF7F2; --forest:#3D6B4A; --sage:#7A8C5A;
    --ink:#4a3c2a; --soft:#6b5a45; --footer:#3a2e20; --card:#fffdfa;
    --serif:"Noto Serif TC","Songti TC",serif;
    --sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
    --display:"Cormorant Garamond",serif;
    --fancy:"Playfair Display",serif;
    --shadow:0 22px 50px -34px rgba(99,74,46,.5);
    --shadow-sm:0 10px 28px -20px rgba(99,74,46,.42);
    --ease:cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:var(--sans); color:var(--ink); background:var(--warm); line-height:1.85; -webkit-font-smoothing:antialiased; text-align:center; letter-spacing:.01em;}
  /* paper grain */
  body::before{content:""; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.03; mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  a{color:inherit; text-decoration:none;}
  img{display:block; max-width:100%;}
  .wrap{max-width:1040px; margin:0 auto; padding:0 24px;}
  section{padding:108px 0;}
  .ey{font-family:var(--display); font-style:italic; letter-spacing:3px; color:var(--caramel); font-size:17px; text-transform:uppercase;}
  h2.t{font-family:var(--serif); font-weight:900; color:var(--walnut); font-size:clamp(27px,4vw,38px); line-height:1.32; letter-spacing:.04em; margin:10px 0 0;}
  h2.t::after{content:""; display:block; width:46px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--caramel),var(--sandy)); margin:20px auto 0;}
  .lead{color:var(--soft); font-size:16.5px; line-height:1.9; max-width:620px; margin:24px auto 0;}

  /* scroll reveal */
  .js .reveal{opacity:0; transform:translateY(26px) scale(.985); transition:opacity .9s ease, transform 1s var(--ease); will-change:opacity,transform;}
  .js .reveal.in{opacity:1; transform:none;}
  @media(prefers-reduced-motion:reduce){ .js .reveal{opacity:1!important; transform:none!important; transition:none;} html{scroll-behavior:auto;} }
  @keyframes fadein{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}
  @keyframes floaty{0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)}}
  .js .hero-art img{animation:floaty 6.5s ease-in-out infinite;}
  .js .rest img{animation:floaty 7.5s ease-in-out infinite;}
  .scroll-prog{position:fixed; top:0; left:0; height:3px; width:0; z-index:100; background:linear-gradient(90deg,var(--caramel),var(--forest)); box-shadow:0 0 8px rgba(122,92,60,.3);}
  @media(prefers-reduced-motion:reduce){ .js .hero-art img,.js .rest img{animation:none;} }

  details.more{margin-top:30px;}
  details.more>summary{list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:8px; color:var(--forest); font-weight:700; font-size:14.5px; padding:11px 24px; border:1.5px solid var(--sandy); border-radius:999px; background:#fff; transition:.25s var(--ease); box-shadow:var(--shadow-sm);}
  details.more>summary::-webkit-details-marker{display:none;}
  details.more>summary:hover{border-color:var(--caramel); background:#fffdf9; transform:translateY(-1px);}
  details.more>summary::after{content:"▾"; font-size:12px; transition:transform .25s;}
  details.more[open]>summary::after{transform:rotate(180deg);}
  details.more[open] .more-body{animation:fadein .5s var(--ease);}
  .more-body{margin-top:34px;}

  header{position:sticky; top:0; z-index:50; background:rgba(250,247,242,.82); backdrop-filter:blur(12px); border-bottom:1px solid var(--biscuit);}
  nav{display:flex; align-items:center; gap:18px; height:66px;}
  .logo{display:flex; align-items:center; gap:10px;}
  .logo .ico{height:36px; width:auto;}
  .logo .wm{height:24px; width:auto;}
  .logo{display:flex; align-items:center; gap:10px;}
  .links{display:flex; gap:20px; margin-left:auto; align-items:center;}
  .links .menu-en{display:none;}
  .links a{font-family:var(--sans); font-size:15px; font-weight:500; color:var(--soft); padding:4px 0; border-bottom:2px solid transparent; transition:.25s;}
  .links a:hover{color:var(--forest); border-color:var(--sage);}
  .links a.nav-cta{background:var(--forest); color:#fff; padding:9px 18px; border-radius:999px; font-size:14px; font-weight:700; white-space:nowrap; border-bottom:0;}
  .links a.nav-cta:hover{background:#345b3f; color:#fff; border-bottom:0;}
  .nav-toggle{display:none;}
  .burger-btn{display:none; margin-left:auto; background:none; border:0; cursor:pointer; font-size:24px; color:var(--walnut); line-height:1; user-select:none;}
  .burger-btn::after{content:"☰";}
  #nav-toggle:checked ~ .burger-btn::after{content:"✕";}
  @media(max-width:860px){
    .links{display:none; position:absolute; top:66px; left:0; right:0; flex-direction:column; align-items:flex-start; background:var(--warm); padding:12px 24px; gap:2px; border-bottom:1px solid var(--biscuit); margin-left:0;}
    #nav-toggle:checked ~ .links{display:flex;}
    .links a{font-size:16px; padding:12px 0; width:100%; border-bottom:1px solid var(--biscuit);}
    .links a:last-child{border-bottom:0;}
    .links a.nav-cta{width:auto; margin-top:10px;}
    .burger-btn{display:block;}
  }

  .hero{position:relative; background:radial-gradient(125% 95% at 50% -5%, #fff 0%, var(--warm) 52%, var(--parchment) 100%); padding:84px 0 60px; overflow:hidden;}
  .hero .badge{display:inline-block; background:var(--biscuit); color:var(--walnut); font-size:13px; font-weight:700; letter-spacing:1px; padding:6px 16px; border-radius:999px; margin-bottom:22px;}
  .hero h1{font-family:var(--serif); font-weight:900; color:var(--walnut); font-size:clamp(31px,5vw,53px); line-height:1.34; letter-spacing:.05em;}
  .hero h1 .hl{color:var(--forest);}
  .hero .slo-img{max-width:330px; margin:22px auto 16px;}
  .hero .slo-img img{width:100%;}
  .hero p.sub{font-size:17px; color:var(--soft); line-height:1.9; max-width:540px; margin:0 auto;}
  .cta-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; justify-content:center;}
  .btn{padding:14px 28px; border-radius:999px; font-weight:700; font-size:16px; transition:.25s var(--ease); cursor:pointer; border:0; display:inline-block;}
  .btn-pri{background:var(--forest); color:#fff; box-shadow:0 14px 30px -16px rgba(61,107,74,.8);} .btn-pri:hover{background:#345b3f; transform:translateY(-2px);}
  .btn-sec{background:#fff; color:var(--walnut); border:1.5px solid var(--sandy);} .btn-sec:hover{border-color:var(--caramel); transform:translateY(-2px);}
  .hero-modes{margin-top:20px; font-size:13px; color:var(--sage); letter-spacing:1.5px;}
  .hero-art{margin:34px auto 0; max-width:360px;}
  .hero-art img{width:100%; filter:drop-shadow(0 26px 30px rgba(99,74,46,.16));}

  .strip{background:var(--walnut); color:#fff; padding:42px 0;}
  .strip .wrap{display:flex; flex-wrap:wrap; gap:24px; justify-content:space-around;}
  .strip .it b{display:block; font-family:"DM Sans",var(--sans); font-weight:700; font-size:30px; letter-spacing:.01em; color:#fff;}
  .strip .it span{font-size:13px; color:#e8d9c5; letter-spacing:.04em;}

  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:54px;}
  .pillar{background:var(--card); border:1px solid var(--biscuit); border-radius:24px; padding:40px 28px; border-top:4px solid var(--sage); box-shadow:var(--shadow); transition:.3s var(--ease);}
  .pillar:hover{transform:translateY(-5px); box-shadow:0 30px 56px -34px rgba(99,74,46,.55);}
  .pillar .zh{font-family:var(--serif); font-weight:900; font-size:50px; color:var(--forest); line-height:1; letter-spacing:.05em;}
  .pillar .en{font-family:var(--display); font-style:italic; color:var(--caramel); font-size:18px; margin:8px 0 16px;}
  .pillar p{font-size:14.5px; color:var(--soft); line-height:1.9; text-align:left;}
  @media(max-width:760px){ .pillars{grid-template-columns:1fr;} }
  .rest{margin-top:62px;}
  .rest img{max-width:230px; margin:0 auto; filter:drop-shadow(0 20px 24px rgba(99,74,46,.14));}
  .rest-cap{font-family:var(--serif); font-weight:700; color:var(--caramel); font-size:16px; margin-top:14px; letter-spacing:.04em;}

  .story{background:var(--parchment);}
  .etymology{display:flex; align-items:center; gap:32px; background:var(--card); border:1px solid var(--biscuit); border-radius:24px; padding:32px 36px; max-width:720px; margin:48px auto 0; text-align:left; box-shadow:var(--shadow);}
  .etymology .zi{font-family:var(--serif); font-weight:900; font-size:78px; color:var(--forest); line-height:1; flex:none;}
  .etymology p{font-size:15px; color:var(--soft); line-height:1.95;}
  .etymology b{color:var(--walnut);}
  @media(max-width:600px){ .etymology{flex-direction:column; text-align:center; gap:16px;} }
  .quote{font-family:var(--serif); font-weight:700; font-size:clamp(20px,3vw,27px); color:var(--walnut); line-height:1.85; max-width:720px; margin:48px auto 0;}
  .quote span{color:var(--forest);}
  .founder{background:var(--card); border:1px solid var(--biscuit); border-radius:26px; padding:48px 40px; margin:48px auto 0; max-width:700px; box-shadow:var(--shadow);}
  .founder .seal{width:58px; margin:0 auto 18px;}
  .founder h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:24px; letter-spacing:.06em;}
  .founder .role{color:var(--sage); font-size:13px; font-weight:700; letter-spacing:3px; margin:6px 0 22px;}
  .founder .fq{font-family:var(--serif); font-weight:700; font-size:21px; color:var(--forest); line-height:1.85;}
  .founder .more-body p{font-size:15.5px; color:var(--soft); line-height:1.95; margin-bottom:16px; text-align:left;}
  .founder .vision{background:var(--parchment); border-radius:18px; padding:20px 24px; font-size:15px; color:var(--walnut); text-align:left; line-height:1.9;}
  .founder .vision b{color:var(--forest);}
  .founder .sign{font-family:var(--display); font-style:italic; color:var(--caramel); font-size:19px; margin-top:22px;}
  .promises{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; text-align:left;}
  .promise{background:var(--card); border:1px solid var(--biscuit); border-radius:18px; padding:22px 24px; border-left:4px solid var(--caramel); transition:.25s var(--ease);}
  .promise:hover{transform:translateY(-3px); box-shadow:var(--shadow-sm);}
  .promise b{color:var(--walnut); font-size:16px;}
  .promise p{font-size:14px; color:var(--soft); line-height:1.85; margin-top:6px;}
  @media(max-width:680px){ .promises{grid-template-columns:1fr;} }

  .menu-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:54px;}
  .mtile{background:var(--card); border:1px solid var(--biscuit); border-radius:24px; padding:34px 22px; transition:.3s var(--ease); box-shadow:var(--shadow);}
  .mtile:hover{transform:translateY(-6px); box-shadow:0 32px 56px -34px rgba(99,74,46,.55);}
  .mtile .ico{font-size:34px;}
  .mtile h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:18px; margin:14px 0 4px; letter-spacing:.04em;}
  .mtile .md{font-size:13px; color:var(--soft); margin-bottom:12px;}
  .mtile .pr{color:var(--caramel); font-weight:700; font-size:16px; font-family:var(--fancy);}
  .mtile.cta{background:var(--forest); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center;}
  .mtile.cta h3{color:#fff;} .mtile.cta p{font-size:13.5px; color:#e8d9c5; margin-top:6px;}
  @media(max-width:760px){ .menu-grid{grid-template-columns:1fr 1fr;} }
  .full-menu{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; text-align:left;}
  .mcard{background:var(--card); border:1px solid var(--biscuit); border-radius:22px; padding:24px;}
  .mcard h3{font-family:var(--serif); font-weight:700; color:var(--forest); font-size:17px; margin-bottom:10px; letter-spacing:.04em;}
  .mrow{display:flex; justify-content:space-between; gap:10px; font-size:14px; padding:8px 0; border-top:1px dashed var(--biscuit);}
  .mrow .pr{color:var(--walnut); font-weight:700; white-space:nowrap;}
  @media(max-width:760px){ .full-menu{grid-template-columns:1fr;} }
  .note{font-size:12.5px; color:var(--sage); margin-top:26px;}

  .spacebg{background:#f6efe3;}
  .interior{position:relative; border-radius:26px; overflow:hidden; margin:54px auto 0; box-shadow:0 40px 80px -44px rgba(99,74,46,.62); max-width:900px;}
  .interior img{width:100%; display:block; transform:scale(1.14); will-change:transform;}
  .interior .cap{position:absolute; left:0; bottom:0; right:0; padding:40px 24px 22px; background:linear-gradient(transparent, rgba(58,46,30,.76)); color:#fff; text-align:center;}
  .interior .cap b{font-family:var(--serif); font-size:18px; letter-spacing:.04em;}
  .interior .cap span{display:block; font-size:13px; color:#f2ebe0; opacity:.9; margin-top:2px;}
  .space-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; text-align:left;}
  .sp{background:var(--card); border:1px solid var(--biscuit); border-radius:20px; padding:28px; transition:.25s var(--ease);}
  .sp:hover{transform:translateY(-3px); box-shadow:var(--shadow-sm);}
  .sp .ico{font-size:26px;} .sp h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:17px; margin:12px 0 6px; letter-spacing:.04em;}
  .sp p{font-size:14px; color:var(--soft); line-height:1.9;}
  @media(max-width:760px){ .space-grid{grid-template-columns:1fr;} }

  .news{background:var(--parchment);}
  .news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:54px; text-align:left;}
  .ncard{background:var(--card); border:1px solid var(--biscuit); border-radius:24px; padding:28px; display:flex; flex-direction:column; box-shadow:var(--shadow); transition:.3s var(--ease);}
  .ncard:hover{transform:translateY(-5px); box-shadow:0 30px 56px -34px rgba(99,74,46,.55);}
  .ncard .meta{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  .ncard .tag{font-size:11.5px; font-weight:700; padding:4px 12px; border-radius:999px;}
  .tag.new{background:var(--forest); color:#fff;}
  .tag.event{background:var(--caramel); color:#fff;}
  .tag.promo{background:var(--sage); color:#fff;}
  .ncard .date{font-family:var(--display); font-style:italic; color:var(--sandy); font-size:14px;}
  .ncard h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:17px; margin-bottom:10px; letter-spacing:.04em;}
  .ncard p{font-size:13.5px; color:var(--soft); line-height:1.9; flex:1;}
  .ncard .more-link{color:var(--forest); font-weight:700; font-size:13.5px; margin-top:16px;}
  @media(max-width:760px){ .news-grid{grid-template-columns:1fr;} }

  .info{background:var(--forest); color:#fff; padding:90px 0;}
  .info .eyw{font-family:var(--display); font-style:italic; color:#cfe0d3; font-size:17px; letter-spacing:3px; text-transform:uppercase;}
  .info h2{font-family:var(--serif); font-weight:900; font-size:31px; color:#fff; margin:8px 0 0; letter-spacing:.05em;}
  .info h2::after{content:""; display:block; width:46px; height:3px; border-radius:3px; background:rgba(255,255,255,.5); margin:18px auto 0;}
  .info-card{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:24px; padding:32px 36px; max-width:600px; margin:32px auto 0; backdrop-filter:blur(2px);}
  .info-items{display:grid; grid-template-columns:repeat(2,1fr); gap:20px 28px; text-align:left;}
  .info-items b{display:block; color:#cfe0d3; font-size:12px; letter-spacing:1.5px; margin-bottom:3px;}
  .info-items span{font-size:15px; color:#fff;}
  .info .btn{margin-top:28px;}
  @media(max-width:560px){ .info-items{grid-template-columns:1fr;} }

  footer{background:var(--footer); color:#bfae97; padding:30px 0;}
  .foot{display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; text-align:left;}
  .foot-l{display:flex; align-items:center; gap:18px;}
  .foot-l .flogo{height:56px; width:56px; background:#fff; border-radius:16px; padding:7px; object-fit:contain; flex:none;}
  .foot-info{font-size:12.5px; line-height:2; color:#b6a489;}
  .foot-info b{color:#fff; font-weight:700; letter-spacing:.5px;}
  .foot-info .sep{color:#6f5d46; margin:0 8px;}
  .foot-info .cp{color:#8b7a62; font-size:11.5px;}
  .foot-r{display:flex; align-items:center; gap:18px;}
  .foot-r .socs{display:flex; gap:9px;}
  .foot-r .socs a{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-size:15px; transition:.25s var(--ease);}
  .foot-r .socs a:hover{background:var(--forest); transform:translateY(-2px);}
  .foot-r .line-btn{background:#06C755; color:#fff; font-weight:700; font-size:13.5px; padding:10px 18px; border-radius:999px; white-space:nowrap; transition:.25s;}
  @media(max-width:760px){ .foot{justify-content:center; text-align:center;} .foot-l{flex-direction:column; text-align:center;} }

  .hero .wrap{position:relative; z-index:1;}

  /* signature gallery */
  .gallery{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin:50px auto 0; max-width:760px;}
  .gitem{background:var(--card); border:1px solid var(--biscuit); border-radius:24px; overflow:hidden; box-shadow:var(--shadow); cursor:pointer; transition:.3s var(--ease); display:block;}
  .gitem:hover{transform:translateY(-5px); box-shadow:0 32px 56px -34px rgba(99,74,46,.55);}
  .gitem .ph{aspect-ratio:1/1; overflow:hidden; background:#fdf8f1;}
  .gitem .ph img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
  .gitem:hover .ph img{transform:scale(1.06);}
  .gitem .cap{padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:10px;}
  .gitem .cap h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:15.5px; letter-spacing:.03em; text-align:left;}
  .gitem .cap .pr{font-family:"DM Sans",var(--sans); font-weight:700; color:var(--caramel); font-size:16px; white-space:nowrap;}
  .gitem.cta{background:var(--forest); color:#fff; display:flex; align-items:center; justify-content:center;}
  .gitem.cta .cta-in{padding:30px; text-align:center;}
  .gitem.cta .ico{font-size:34px;}
  .gitem.cta h3{font-family:var(--serif); font-weight:700; font-size:18px; margin:10px 0 6px; color:#fff;}
  .gitem.cta p{font-size:13.5px; color:#e8d9c5; line-height:1.7;}
  @media(max-width:760px){ .gallery{grid-template-columns:1fr 1fr;} }
  @media(max-width:430px){ .gallery{grid-template-columns:1fr;} }

  /* lightbox */
  .lightbox{position:fixed; inset:0; z-index:200; background:rgba(244,236,224,.97); backdrop-filter:blur(8px); display:none; align-items:center; justify-content:center; flex-direction:column; padding:30px;}
  .lightbox.open{display:flex; animation:fadein .3s var(--ease);}
  .lightbox img{max-width:min(90vw,600px); max-height:72vh; border-radius:22px; box-shadow:0 40px 80px -40px rgba(99,74,46,.6);}
  .lightbox .lb-cap{margin-top:20px; font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:19px; letter-spacing:.04em;}
  .lightbox .lb-price{font-family:var(--fancy); font-weight:700; color:var(--caramel); font-size:18px; margin-top:4px;}
  .lightbox .lb-close{position:absolute; top:22px; right:26px; width:48px; height:48px; border-radius:50%; background:#fff; color:var(--walnut); font-size:18px; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:var(--shadow-sm);}
  .lightbox .lb-close:hover{background:var(--parchment);}

  .brand-stamp{width:80px; margin:0 auto 18px;}
  /* video */
  .video{background:var(--card);}
  .video-frame{position:relative; max-width:880px; margin:50px auto 0; aspect-ratio:16/9; border-radius:26px; overflow:hidden; box-shadow:0 40px 80px -44px rgba(99,74,46,.6); background:#000;}
  .video-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
  .video .partner{margin-top:22px; font-size:12.5px; color:var(--sage);}
  /* feedback */
  .feedback{background:var(--parchment);}
  .fb-card{background:var(--card); border:1px solid var(--biscuit); border-radius:26px; padding:46px 40px; max-width:600px; margin:42px auto 0; box-shadow:var(--shadow);}
  .fb-card p{color:var(--soft); font-size:15.5px; line-height:1.9; margin:6px 0 24px;}

  .float{position:fixed; right:20px; bottom:20px; z-index:60; background:#06C755; color:#fff; padding:14px 22px; border-radius:999px; font-weight:800; font-size:15px; box-shadow:0 14px 30px -10px rgba(6,199,85,.6); display:flex; align-items:center; gap:8px; transition:.25s var(--ease);}
  .float:hover{transform:translateY(-3px) scale(1.03);}

  /* sub-page */
  .subhead{padding:118px 0 78px;}
  .backlink{display:inline-flex; align-items:center; gap:6px; color:var(--forest); font-weight:700; font-size:14px; margin-bottom:14px;}
  .backlink:hover{color:var(--walnut);}
  .prose{max-width:680px; margin:0 auto; text-align:left;}
  .prose p{font-size:16px; color:var(--soft); line-height:2; margin-bottom:18px;}
  .prose p strong{color:var(--walnut);}
  .story-cta{margin-top:40px;}

  /* about teaser + store */
  .about-teaser{background:var(--card);}
  .store-card{background:var(--card); border:1px solid var(--biscuit); border-radius:24px; padding:32px 36px; max-width:560px; margin:34px auto 0; box-shadow:var(--shadow); text-align:left;}
  .store-card h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:22px; letter-spacing:.04em;}
  .store-card .srow{display:flex; gap:12px; font-size:15px; color:var(--soft); padding:9px 0; border-top:1px dashed var(--biscuit); margin-top:10px;}
  .store-card .srow.first{border-top:0; margin-top:14px;}
  .store-card .srow b{color:var(--caramel); min-width:72px; font-weight:700;}
  .store-card .btn{margin-top:22px;}

  .links a.active{color:var(--forest); border-bottom-color:var(--forest);}

  /* app page */
  .appicon-wrap{display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:40px;}
  .appicon{width:118px; height:118px; border-radius:27px; box-shadow:0 20px 44px -22px rgba(99,74,46,.55);}
  .appicon-wrap .lbl{font-size:13.5px; color:var(--soft); font-weight:600; letter-spacing:.04em;}
  .memcard{position:relative; max-width:300px; margin:46px auto 0;}
  .memcard .mc-bg{width:100%; display:block; filter:drop-shadow(0 26px 34px rgba(99,74,46,.42));}
  .memcard .mc-info{position:absolute; left:0; right:0; top:25%; text-align:center; padding:0 13%;}
  .memcard .mc-name{font-family:var(--serif); font-weight:700; color:#5e4420; font-size:21px; letter-spacing:.06em;}
  .memcard .mc-tier{display:inline-block; margin-top:7px; font-size:10.5px; color:#fff5e0; background:rgba(122,92,60,.78); padding:3px 13px; border-radius:999px; letter-spacing:2px;}
  .memcard .mc-miles{font-family:"DM Sans",var(--sans); font-weight:700; color:#6b4f22; font-size:44px; line-height:1; margin-top:14px;}
  .memcard .mc-miles span{display:block; font-size:12.5px; color:#8a6a3a; font-weight:500; letter-spacing:.1em; margin-top:5px;}
  .memcard .mc-meals{font-size:12px; color:#6f5328; margin-top:11px; line-height:1.5;}
  .memcard .mc-meals b{font-family:"DM Sans",var(--sans); color:#6b4f22; font-size:15px;}
  .memcard .mc-bar{height:7px; border-radius:999px; background:rgba(122,92,60,.22); margin:14px 6% 8px; overflow:hidden;}
  .memcard .mc-bar i{display:block; height:100%; width:64%; background:linear-gradient(90deg,#d9b15a,#7a5c3c); border-radius:999px;}
  .memcard .mc-next{font-size:11.5px; color:#6f5328; line-height:1.6;}
  .memcard .mc-verse{position:absolute; left:0; right:0; bottom:19.5%; text-align:center; padding:0 11%; font-family:var(--serif); font-weight:700; font-size:12.5px; line-height:1.95; color:#5a3c16; letter-spacing:.04em; text-shadow:0 1px 2px rgba(255,250,238,.8);}
  .memcard-cap{font-size:11px; color:var(--sage); text-align:center; margin-top:14px;}
  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:46px; text-align:left;}
  .step{background:var(--card); border:1px solid var(--biscuit); border-radius:20px; padding:26px;}
  .step .n{font-family:var(--fancy); font-size:26px; color:var(--sandy);}
  .step h3{font-family:var(--serif); color:var(--walnut); font-size:17px; margin:6px 0 6px; letter-spacing:.04em;}
  .step p{font-size:14px; color:var(--soft); line-height:1.85;}
  @media(max-width:760px){ .steps{grid-template-columns:1fr;} }
  .milestones{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:46px;}
  .ms{background:var(--card); border:1px solid var(--biscuit); border-radius:22px; padding:32px 22px; box-shadow:var(--shadow); transition:.25s var(--ease);}
  .ms:hover{transform:translateY(-4px);}
  .ms .ic{font-size:36px;}
  .ms h3{font-family:var(--serif); color:var(--walnut); font-size:18px; margin:12px 0 4px;}
  .ms .mi{font-family:"DM Sans",var(--sans); color:var(--caramel); font-weight:700; font-size:13.5px; letter-spacing:.04em;}
  .ms p{font-size:13.5px; color:var(--soft); margin-top:8px; line-height:1.8;}
  @media(max-width:760px){ .milestones{grid-template-columns:1fr;} }
  .badge-soon{display:inline-block; background:var(--biscuit); color:var(--walnut); font-size:12px; font-weight:700; padding:6px 16px; border-radius:999px; letter-spacing:2px; margin-top:18px;}

  /* unlocked stories */
  .stories{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; text-align:left;}
  .scard{background:var(--card); border:1px solid var(--biscuit); border-radius:22px; box-shadow:var(--shadow); display:flex; flex-direction:column; overflow:hidden; transition:.25s var(--ease);}
  .scard:hover{transform:translateY(-4px);}
  .scard .top{padding:24px 24px 0;}
  .scard .mi{font-family:"DM Sans",var(--sans); font-weight:700; color:var(--caramel); font-size:12px; letter-spacing:.08em;}
  .scard h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:18px; margin:8px 0 0; letter-spacing:.02em;}
  .scard .body{padding:14px 24px 18px; font-size:13.5px; color:var(--soft); line-height:1.9; flex:1;}
  .scard .lock{margin:0 24px 22px; font-size:12px; color:var(--forest); font-weight:700; display:flex; align-items:center; gap:6px;}
  @media(max-width:760px){ .stories{grid-template-columns:1fr;} }

  /* kindness / esg flow */
  .flow{max-width:660px; margin:48px auto 0; text-align:left;}
  .flow .fstep{display:flex; gap:20px; padding:20px 0; border-bottom:1px dashed var(--biscuit); align-items:flex-start;}
  .flow .fstep:last-child{border-bottom:0;}
  .flow .fn{flex:none; width:44px; height:44px; border-radius:50%; background:var(--forest); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--fancy); font-weight:700; font-size:17px;}
  .flow .ft h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:17.5px; margin-bottom:5px; letter-spacing:.03em;}
  .flow .ft p{font-size:14.5px; color:var(--soft); line-height:1.9;}
  .flow .ft p b{color:var(--forest);}
  .kindcard{background:var(--card); border:1px solid var(--biscuit); border-left:5px solid var(--sage); border-radius:20px; padding:30px 34px; max-width:720px; margin:40px auto 0; text-align:left; box-shadow:var(--shadow);}
  .kindcard h3{font-family:var(--serif); font-weight:700; color:var(--walnut); font-size:21px; margin-bottom:10px;}
  .kindcard p{font-size:15.5px; color:var(--soft); line-height:1.95;}
  .kindcard p strong{color:var(--forest);}

  /* menu extras */
  .mcard .mbase{font-size:12.5px; color:var(--sage); margin-top:10px; padding-top:9px; border-top:1px dashed var(--biscuit); line-height:1.7;}
  .mcard .mbase b{color:var(--forest); font-weight:700;}
  .combo-note{background:var(--card); border:1px solid var(--biscuit); border-left:4px solid var(--forest); border-radius:14px; padding:15px 20px; max-width:580px; margin:28px auto 0; font-size:14px; color:var(--soft); text-align:left; line-height:1.85;}
  .combo-note b{color:var(--forest);}

  /* news carousel */
  .carousel{position:relative; margin-top:42px;}
  .car-viewport{overflow:hidden;}
  .car-track{display:flex; gap:20px; transition:transform .6s var(--ease); will-change:transform;}
  .car-track .ncard{flex:0 0 calc((100% - 40px)/3); margin:0;}
  @media(max-width:860px){ .car-track .ncard{flex:0 0 calc((100% - 20px)/2);} }
  @media(max-width:560px){ .car-track .ncard{flex:0 0 100%;} }
  .ncard .nimg{aspect-ratio:16/10; overflow:hidden; border-radius:14px; margin-bottom:15px; background:#f4ece0;}
  .ncard .nimg img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
  .ncard:hover .nimg img{transform:scale(1.05);}
  .car-arrow{position:absolute; top:34%; width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--biscuit); box-shadow:var(--shadow-sm); color:var(--walnut); font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:3; transition:.2s;}
  .car-arrow:hover{background:var(--parchment); color:var(--forest);}
  .car-prev{left:-12px;} .car-next{right:-12px;}
  .car-dots{display:flex; gap:8px; justify-content:center; margin-top:26px;}
  .car-dots button{width:9px; height:9px; border-radius:50%; border:0; background:var(--sandy); cursor:pointer; padding:0; transition:.25s;}
  .car-dots button.on{background:var(--forest); width:24px; border-radius:5px;}
  @media(max-width:760px){ .car-arrow{display:none;} }
