@media only screen and (max-width: 1200px){
  .ty-shell { width:96%; }
  .ty-master-grid { grid-template-columns:repeat(2,1fr); }
  .ty-exp-grid { grid-template-columns:repeat(2,1fr); }
  .ty-tea-grid { grid-template-columns:repeat(2,1fr); }
  .ty-gal-grid { grid-template-columns:repeat(3,1fr); }
  .ty-family-grid { grid-template-columns:repeat(4,1fr); }
  .ty-review-grid { grid-template-columns:repeat(2,1fr); }
  .ty-faq-grid { grid-template-columns:repeat(2,1fr); }
  .ty-list-layout { grid-template-columns:1fr 280px; gap:18px; }
  .ty-news-layout { grid-template-columns:1fr 280px; gap:18px; }
  .ty-doc-layout { grid-template-columns:200px 1fr; gap:22px; }
  .ty-related-grid { grid-template-columns:repeat(2,1fr); }
}

@media only screen and (max-width: 960px){
  .ty-topbar .ty-welcome { display:none; }
  .ty-nav-extra { display:none; }
  .ty-burger { display:block; position:absolute; right:14px; top:8px; width:40px; height:48px; cursor:pointer; z-index:10; margin:0; }
  .ty-burger .ty-navicon, .ty-burger .ty-navicon::before, .ty-burger .ty-navicon::after { content:""; position:absolute; left:8px; width:24px; height:2px; background:var(--ink); transition:transform .25s; }
  .ty-burger .ty-navicon { top:23px; }
  .ty-burger .ty-navicon::before { top:-7px; }
  .ty-burger .ty-navicon::after { top:7px; }
  .ty-burger.open .ty-navicon { background:transparent; }
  .ty-burger.open .ty-navicon::before { transform:translateY(7px) rotate(45deg); }
  .ty-burger.open .ty-navicon::after { transform:translateY(-7px) rotate(-45deg); }
  .ty-menu { display:none; position:absolute; top:64px; left:0; right:0; flex-direction:column; background:var(--surface); padding:10px 16px 20px; gap:2px; border-bottom:1px solid var(--line); box-shadow:0 10px 30px rgba(60,40,15,.1); }
  .ty-menu.open { display:flex; }
  .ty-menu li { width:100%; }
  .ty-menu li a { padding:12px 14px; }
  .ty-brand .pcpc { display:none; }
  .ty-brand .wapwap { display:block; height:34px; }
  .ty-nav-box { height:56px; }
  .ty-sec { padding:24px 0 14px; }
  .ty-sec-no { font-size:28px; }
  .ty-sec-title { font-size:23px; }
  .ty-master-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .ty-exp-grid { grid-template-columns:1fr; }
  .ty-gal-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:130px; }
  .ty-gal-cell-1 { grid-column:span 2; }
  .ty-tea-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .ty-family-grid { grid-template-columns:repeat(3,1fr); }
  .ty-feed-grid { grid-template-columns:1fr; gap:20px; }
  .ty-list-layout, .ty-news-layout { grid-template-columns:1fr; }
  .ty-rbox { position:static; flex-direction:row; flex-wrap:wrap; }
  .ty-side-block { flex:1 1 45%; }
  .ty-side-cta { flex:1 1 100%; }
  .ty-doc-layout { grid-template-columns:1fr; }
  .ty-doc-toc { position:static; max-height:none; }
  .ty-related-grid { grid-template-columns:repeat(2,1fr); }
  .ty-foot-main { grid-template-columns:1fr; gap:28px; }
  .ty-trust { grid-template-columns:repeat(2,1fr); }
  .ty-list-card { flex-direction:column; gap:12px; }
  .ty-list-card-media { width:100%; height:160px; }
}

@media only screen and (max-width: 640px){
  body { font-size:14px; }
  .ty-sec { padding:20px 0 12px; }
  .ty-sec-head { margin-bottom:14px; gap:12px; flex-wrap:wrap; }
  .ty-sec-no { font-size:26px; }
  .ty-sec-title { font-size:20px; }
  .ty-sec-more { font-size:12px; }
  .ty-topbar { display:none; }
  .ty-master-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .ty-master-ph { font-size:42px; }
  .ty-master-body { padding:10px; }
  .ty-master-body h3 { font-size:14px; margin-bottom:6px; }
  .ty-master-tags span { font-size:10px; padding:2px 6px; }
  .ty-master-skill, .ty-master-line, .ty-master-honor, .ty-master-city { font-size:11.5px; line-height:1.6; }
  .ty-exp-card { padding:16px; }
  .ty-exp-top h3 { font-size:17px; }
  .ty-gal-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:110px; gap:8px; }
  .ty-gal-cell-1 { grid-column:span 2; grid-row:span 2; }
  .ty-gal-cell-4 { grid-column:span 2; }
  .ty-studios { padding:14px; margin-top:14px; }
  .ty-studios-title { font-size:15px; }
  .ty-studio-tag { padding:6px 11px; font-size:12px; }
  .ty-tea-grid { grid-template-columns:1fr; gap:12px; }
  .ty-tea-media { height:170px; }
  .ty-family-grid { grid-template-columns:repeat(3,1fr); gap:8px; }
  .ty-family { padding:14px 6px; }
  .ty-family-seal { width:40px; height:40px; font-size:14px; }
  .ty-family-en { font-size:9px; }
  .ty-sec-head-sm .ty-sec-title { font-size:19px; }
  .ty-read-list li { gap:12px; padding:11px 2px; }
  .ty-rl-date { width:46px; font-size:17px; padding-right:10px; }
  .ty-rl-body h3 { font-size:14px; white-space:normal; }
  .ty-rl-body p { font-size:12px; white-space:normal; }
  .ty-review-grid { grid-template-columns:1fr; }
  .ty-rv-text { min-height:auto; }
  .ty-faq-grid { grid-template-columns:1fr; gap:10px; }
  .ty-faq-item { padding:13px 15px; }
  .ty-faq-q { font-size:13.5px; }
  .ty-faq-a { font-size:12px; }
  .ty-crumb { font-size:11px; padding:8px 0; }
  .ty-list-head { flex-wrap:wrap; gap:8px; padding-bottom:12px; }
  .ty-list-title { font-size:21px; }
  .ty-list-count { font-size:11px; }
  .ty-list-filter { gap:6px; margin-bottom:12px; overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; }
  .ty-filter-item { flex-shrink:0; padding:5px 13px; font-size:12px; }
  .ty-list-card-media { width:120px; height:90px; }
  .ty-list-card { gap:12px; padding:11px; }
  .ty-list-card-body h2 { font-size:15px; }
  .ty-list-card-body p { font-size:12px; -webkit-line-clamp:2; }
  .ty-page-btn, .ty-page-numbar a { min-width:34px; height:34px; font-size:12px; }
  .ty-tags-head { flex-wrap:wrap; gap:8px; padding-bottom:12px; }
  .ty-tags-title { font-size:21px; }
  .ty-tags-cloud { padding:13px 14px; }
  .ty-tag-chip { padding:6px 12px; font-size:12px; }
  .ty-news-lbox { padding:20px 18px; }
  .ty-news-title { font-size:21px; }
  .ty-news-meta { gap:6px 14px; font-size:11.5px; }
  .ty-news-lead { padding:13px 14px; font-size:13.5px; line-height:1.7; }
  .ty-news-fields { gap:8px; padding:13px; }
  .ty-field { padding:5px 10px; font-size:12px; }
  .ty-news-content { font-size:14px; line-height:1.85; }
  .ty-news-content p { margin-bottom:14px; }
  .ty-news-tags { gap:8px; padding:14px 0; margin:18px 0; }
  .ty-news-actions { gap:8px; padding:16px 0; }
  .ty-action-btn { padding:7px 14px; font-size:12px; }
  .ty-news-pn { grid-template-columns:1fr; gap:10px; padding:16px 0; }
  .ty-pn-next { text-align:left; }
  .ty-related-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .ty-related-media { height:90px; }
  .ty-related-body b { font-size:12px; }
  .ty-doc-body { padding:22px 18px; }
  .ty-doc-title { font-size:23px; }
  .ty-doc-sec { padding:18px 0; }
  .ty-doc-sec h2 { font-size:19px; }
  .ty-doc-sec h3 { font-size:16px; }
  .ty-doc-content { font-size:14px; line-height:1.85; }
  .ty-doc-content p { margin-bottom:14px; }
  .ty-doc-content h2 { font-size:19px; margin:24px 0 12px; }
  .ty-doc-content h3 { font-size:16px; }
  .ty-doc-share { gap:8px; padding:18px 0; }
  .ty-doc-share > span { width:100%; margin-bottom:4px; }
  .ty-action-btn { padding:7px 14px; font-size:12px; }
  .ty-doc-pn { grid-template-columns:1fr; gap:10px; }
  .ty-pn-next { text-align:left; }
  .ty-doc-sec p { font-size:13.5px; line-height:1.85; }
  .ty-rbox { flex-direction:column; }
  .ty-side-block { flex:1 1 100%; }
  .ty-foot { padding:20px 0 90px; }
  .ty-foot-top { grid-template-columns:1fr 1fr; gap:16px; padding-bottom:12px; }
  .ty-foot-cols { grid-template-columns:1fr 1fr; gap:16px; padding:12px 0; }
  .ty-foot-name { font-size:16px; margin-bottom:4px; }
  .ty-foot-slogan { font-size:11px; margin-bottom:6px; }
  .ty-foot-contact-mini span, .ty-foot-contact-mini a { font-size:11px; }
  .ty-foot-title { font-size:12px; margin-bottom:6px; padding-bottom:4px; }
  .ty-foot-col ul li { font-size:11px; line-height:1.7; }
  .ty-trust { grid-template-columns:1fr; gap:10px; }
  .ty-trust-item { padding:6px 0; }
  .ty-filing-row { gap:8px 14px; }
  .ty-filing-row-2 > span { font-size:11px; }
  .ty-copy { flex-direction:column; align-items:flex-start; gap:10px; }
  .ty-copy-right { flex-wrap:wrap; }

  .ty-dock { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:9998; background:var(--surface); border-top:1px solid var(--line); box-shadow:0 -4px 20px rgba(60,40,15,.1); padding:8px 10px calc(8px + env(safe-area-inset-bottom)); }
  .ty-dock-btn { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 0; font-size:11px; color:var(--ink-2); position:relative; background:none; border:none; cursor:pointer; font-family:inherit; }
  .ty-dock-btn:not(:last-child)::after { content:""; position:absolute; right:0; top:20%; bottom:20%; width:1px; background:var(--line); }
  .ty-dock-btn:hover { color:var(--amber); }
  .ty-dock-ic { width:22px; height:22px; display:block; background-size:contain; background-repeat:no-repeat; background-position:center; }
  .ty-dock-qq { color:var(--tea-deep); }
  .ty-dock-qq-ic { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234a6b3a' d='M12 3c-3.3 0-5.5 2.2-5.5 5.5 0 1 .2 1.9.6 2.7-.8.7-1.6 1.8-1.6 3.3 0 .5.1 1 .3 1.4-.7.3-1.3.8-1.3 1.6 0 .9.7 1.5 1.7 1.5.4 0 .8-.1 1.1-.3.2.4.5.8.9 1-.4.3-.7.6-.7 1.1 0 .2.2.4.4.4h7.4c.2 0 .4-.2.4-.4 0-.5-.3-.8-.7-1.1.4-.2.7-.6.9-1 .3.2.7.3 1.1.3 1 0 1.7-.6 1.7-1.5 0-.8-.6-1.3-1.3-1.6.2-.4.3-.9.3-1.4 0-1.5-.8-2.6-1.6-3.3.4-.8.6-1.7.6-2.7C17.5 5.2 15.3 3 12 3zm-1.5 5c.4 0 .8.3.8.8s-.4.8-.8.8-.8-.3-.8-.8.4-.8.8-.8zm3 0c.4 0 .8.3.8.8s-.4.8-.8.8-.8-.3-.8-.8.4-.8.8-.8z'/%3E%3C/svg%3E"); }
  .ty-dock-tel-ic { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a6b3a' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
  .ty-pop-card { min-width:180px; padding:18px 20px; }
  .ty-pop-body { font-size:16px; }
}
