
:root{--ink:#1a1f16;--forest:#2c3d2a;--moss:#3d5438;--gold:#c9a96e;--gold-light:#e8d5a8;--parchment:#f0ead8;--cream:#faf7f0}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;overflow-x:hidden;max-width:100%;background:var(--ink);color:var(--parchment);font-family:'PingFang TC','Microsoft JhengHei','Noto Sans TC',system-ui,sans-serif;font-weight:300;line-height:1.85;font-size:15px}a{color:var(--gold)}nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.15rem 2.5rem;background:rgba(26,31,22,.92);border-bottom:.5px solid rgba(201,169,110,.2);backdrop-filter:blur(10px)}.nav-logo{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:.12em;color:var(--gold);text-decoration:none}.nav-links{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.nav-links a{text-decoration:none;color:rgba(240,234,216,.72);font-size:13px}.nav-cta,.btn{display:inline-block;border:1px solid var(--gold);padding:.65rem 1.2rem;text-decoration:none;color:var(--gold);border-radius:999px;font-size:13px}.btn.primary{background:var(--gold);color:var(--ink)}.hero{padding:6rem 2.5rem 3rem;background:radial-gradient(ellipse at 70% 20%,rgba(61,84,56,.35),transparent 60%)}.wrap{max-width:980px;margin:0 auto}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}h1{font-family:'Cormorant Garamond','Songti TC','Noto Serif TC','PMingLiU','Microsoft JhengHei',serif;font-size:clamp(2.6rem,7vw,5rem);font-weight:300;line-height:1.08;color:var(--cream);margin:.8rem 0 1rem}h2{font-family:'Songti TC','Noto Serif TC','PMingLiU','Microsoft JhengHei',serif;font-weight:300;color:var(--gold-light);font-size:1.45rem;margin:0 0 1rem}.lead{max-width:760px;color:rgba(240,234,216,.72);font-size:1.05rem}.meta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}.pill{border:.5px solid rgba(201,169,110,.38);padding:.35rem .75rem;border-radius:999px;color:rgba(240,234,216,.76);font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin:2rem 0}.card,.note{background:rgba(250,247,240,.045);border:.5px solid rgba(201,169,110,.22);padding:1.4rem}.card ul{margin:.2rem 0 0 1.2rem;padding:0}.card li{margin:.45rem 0;color:rgba(240,234,216,.74)}.content{padding:2rem 2.5rem 5rem}.faq details{border:.5px solid rgba(201,169,110,.22);padding:1rem 1.2rem;margin:.75rem 0;background:rgba(250,247,240,.035)}summary{cursor:pointer;color:var(--gold-light)}.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.breadcrumb{font-size:13px;color:rgba(240,234,216,.55);margin-bottom:2rem}.breadcrumb a{text-decoration:none}footer{padding:2rem;text-align:center;color:rgba(240,234,216,.42);border-top:.5px solid rgba(201,169,110,.16);display:flex;flex-direction:column;gap:.75rem;align-items:center}.footer-brand{font-family:'Cormorant Garamond',serif;color:var(--gold);letter-spacing:.1em}.footer-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.footer-links a{color:rgba(240,234,216,.65);text-decoration:none;font-size:13px}.footer-links a:hover{color:var(--gold-light)}.footer-copy{font-size:12px;color:rgba(240,234,216,.36)}@media(max-width:720px){nav{padding:1rem 1.25rem}.nav-links{display:none}.hero,.content{padding-left:1.25rem;padding-right:1.25rem}.grid{grid-template-columns:1fr}.actions{flex-direction:column}.btn{text-align:center}}

/* Mobile menu stability patch */
body.menu-open { overflow: hidden; }
@media (max-width: 900px) {
  .nav-hamburger { display: flex; flex-direction: column; gap: 5px; cursor: pointer; position: relative; z-index: 202; border: 0; background: transparent; padding: .5rem; }
  .nav-hamburger span { width: 22px; height: 1px; background: var(--gold, #c9a96e); display: block; transition: transform .28s ease, opacity .2s ease; }
  .nav-hamburger.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-hamburger.is-open span:nth-child(2) { opacity: 0; }
  .nav-hamburger.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .nav-links.open {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 1rem !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 6rem 1.5rem 3rem !important;
    background: #1a1f16 !important;
    border: 0 !important;
    z-index: 201 !important;
  }
  .nav-links.open li { width: 100%; }
  .nav-links.open a { display: block; width: 100%; padding: .35rem 0; font-size: 18px !important; line-height: 1.6; }
}


.service-visual{margin:2.1rem 0 0;display:flex;align-items:center;gap:1.2rem;max-width:760px}
.service-visual img{width:min(220px,46vw);height:auto;display:block;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(0,0,0,.18))}
.service-visual figcaption{color:rgba(240,234,216,.58);font-size:13px;line-height:1.8;max-width:360px}
.service-card-illus{width:110px;height:110px;object-fit:contain;float:right;margin:-.35rem 0 .65rem .85rem;opacity:.96}
@media(max-width:720px){.service-visual{display:block;text-align:center}.service-visual img{margin:0 auto .75rem;width:min(210px,72vw)}.service-visual figcaption{margin:0 auto}.service-card-illus{width:88px;height:88px}}


/* Chacha & Berlini corner easter egg */
.character-peek{position:fixed;right:max(.55rem, env(safe-area-inset-right));bottom:8.4rem;z-index:160;display:flex;align-items:flex-end;gap:.55rem;pointer-events:none}
.character-peek-toggle{pointer-events:auto;border:0;background:transparent;padding:0;margin:0;cursor:pointer;transform:translateX(24%);transition:transform .28s ease, filter .28s ease;filter:drop-shadow(0 10px 24px rgba(0,0,0,.18))}
.character-peek-toggle img{display:block;width:118px;height:auto}
.character-peek:hover .character-peek-toggle,.character-peek:focus-within .character-peek-toggle,.character-peek.is-open .character-peek-toggle{transform:translateX(0)}
.character-peek-bubble{pointer-events:auto;position:absolute;right:95px;bottom:34px;min-width:190px;max-width:220px;padding:.85rem .95rem;background:rgba(250,247,240,.96);color:#1a1f16;border:1px solid rgba(201,169,110,.45);border-radius:16px 16px 4px 16px;box-shadow:0 16px 34px rgba(0,0,0,.2);opacity:0;transform:translateY(8px);visibility:hidden;transition:opacity .22s ease,transform .22s ease,visibility .22s ease;font-size:13px;line-height:1.65}
.character-peek:hover .character-peek-bubble,.character-peek:focus-within .character-peek-bubble,.character-peek.is-open .character-peek-bubble{opacity:1;transform:translateY(0);visibility:visible}
.character-peek-bubble strong{display:block;font-size:14px;color:#2c3d2a;margin-bottom:.1rem}
.character-peek-bubble a{display:inline-block;margin-top:.45rem;color:#7a5528;text-decoration:none;border-bottom:1px solid rgba(122,85,40,.28)}
@media(max-width:720px){.character-peek{right:max(.35rem, env(safe-area-inset-right));bottom:7.9rem}.character-peek-toggle{transform:translateX(10%)}.character-peek-toggle img{width:82px}.character-peek-bubble{right:64px;bottom:24px;min-width:172px;max-width:188px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.character-peek-toggle,.character-peek-bubble{transition:none}}


/* mobile edge alignment patch */
html, body { overflow-x: hidden; max-width: 100%; }
.herb-letter-trigger { right: max(1rem, env(safe-area-inset-right)) !important; bottom: max(1rem, env(safe-area-inset-bottom)) !important; }
.character-peek { right: max(.55rem, env(safe-area-inset-right)) !important; bottom: 8.4rem !important; }
.character-peek-toggle { transform: translateX(24%) !important; }
.character-peek:hover .character-peek-toggle, .character-peek:focus-within .character-peek-toggle, .character-peek.is-open .character-peek-toggle { transform: translateX(0) !important; }
@media (max-width: 720px) {
  .character-peek { right: max(.35rem, env(safe-area-inset-right)) !important; bottom: 7.9rem !important; }
  .character-peek-toggle { transform: translateX(10%) !important; }
  .character-peek-toggle img { width: 82px !important; }
  .character-peek-bubble { right: 64px !important; bottom: 24px !important; max-width: min(188px, calc(100vw - 112px)) !important; min-width: 0 !important; }
}

/* Final mobile-safe Chacha widget override */
img{max-width:100%;height:auto}.wrap{width:100%;max-width:1120px}.brand-grid,.story-grid,.brand-visual,.brand-copy,.story-card{min-width:0;max-width:100%}
@media(max-width:720px){
  .character-peek{right:max(.45rem, env(safe-area-inset-right)) !important;bottom:8.1rem !important;max-width:92px !important;z-index:145 !important;}
  .character-peek-toggle{transform:translateX(18%) !important;}
  .character-peek:hover .character-peek-toggle,.character-peek:focus-within .character-peek-toggle,.character-peek.is-open .character-peek-toggle{transform:translateX(0) !important;}
  .character-peek-toggle img{width:72px !important;max-width:26vw !important;height:auto !important;}
  .character-peek-bubble{position:fixed !important;right:max(1rem, env(safe-area-inset-right)) !important;bottom:calc(13.35rem + env(safe-area-inset-bottom)) !important;width:min(260px, calc(100vw - 2rem)) !important;min-width:0 !important;max-width:none !important;padding:.78rem .88rem !important;font-size:12px !important;line-height:1.75 !important;writing-mode:horizontal-tb !important;word-break:keep-all !important;overflow-wrap:break-word !important;white-space:normal !important;text-align:left !important;border-radius:16px 16px 4px 16px !important;}
  .character-peek-bubble strong{font-size:13px !important;line-height:1.5 !important;}
}
@media(max-width:380px){
  .character-peek-toggle img{width:66px !important;}
  .character-peek-bubble{width:min(236px, calc(100vw - 1.5rem)) !important;right:max(.75rem, env(safe-area-inset-right)) !important;}
}
