/* 統一閱讀字級與觸控間距；放在既有品牌樣式之後。 */
html{font-size:100%}
body{font-size:1.0625rem;line-height:1.8}
main p{overflow-wrap:break-word}
.site-nav{font-size:1rem;gap:22px}
.language,.menu-button{font-size:1rem}
.eyebrow,.hero-note,.intro-band span,.card-meta span,
.collection-footnote,.result-count,.series-caption,.detail-code,
.image-caption,.wood-card p,.swatch-card>span,.swatch-card small,
.selection-preview figcaption,.wood-hero-photo figcaption,
.hardware-story-copy .eyebrow,.hardware-configuration-note,
.lock-home-models,.lock-image-note,.lock-specs>p,
.thumbnail-strip span,dialog>p,footer p,.footer-company p{
  font-size:.875rem;line-height:1.65
}
.eyebrow{letter-spacing:.1em}
.hero-intro,.section-heading>p:last-child,.principles article p,
.series-card>p,.wood-options-heading>p:last-of-type,
.hardware-story-copy>p:last-child,.is-compact .hardware-story-copy>p:last-child,
.lock-intro,.detail-info p:not(.eyebrow),.company-section>div>p:last-child{
  font-size:1.0625rem;line-height:1.85
}
.text-link,.wood-secondary-link,.inquiry-link,.lock-jump-links a{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:1rem;line-height:1.65;max-width:100%;white-space:normal
}
.wood-secondary-link{display:block;padding:10px 0}
.lock-next .text-link,.lock-home-copy .text-link,.wood-brand-home a,
.wood-hero-copy .text-link{display:inline-flex}
.lock-features{gap:10px 20px}
.lock-features li{font-size:.9375rem;line-height:1.7}
.wood-card h3,.swatch-card strong{font-size:1rem;line-height:1.65}
.hardware-story-copy h3,.is-compact .hardware-story-copy h3{font-size:1.125rem}
.wood-search,.option-tools label,.wood-selection-fields label,
.inquiry-form label{font-size:1rem;line-height:1.65}
input,select,textarea,button{font:inherit}
.wood-search input,.option-tools input,.option-tools select,
.wood-selection select,.inquiry input,.inquiry select,.inquiry textarea{
  font-size:1rem;min-height:48px;min-width:0;max-width:100%;line-height:1.6
}
.inquiry input,.inquiry select,.inquiry textarea{width:100%}
.inquiry button{font-size:1rem;min-height:48px;line-height:1.6}
.form-note{font-size:.875rem;line-height:1.8;color:#c5c3ba!important}
.inquiry-status{font-size:1rem}
.filter-bar button,.wood-filter button,.lock-specs summary{
  font-size:1rem;min-height:44px;line-height:1.6
}
dl>div,.company-section dl>div,.lock-entry dl>div{font-size:1rem;line-height:1.8}
.detail-info .muted-note{font-size:.9375rem!important}
.footer-company{font-size:.9375rem;line-height:1.85}
.footer-company address{overflow-wrap:anywhere}
.thumbnail-strip{gap:12px;align-items:stretch}
.thumbnail-strip button{
  flex:0 0 132px;width:132px;height:auto;min-height:124px;padding:8px;
  justify-content:flex-start;gap:7px
}
.thumbnail-strip img{height:76px;flex-shrink:0}
.thumbnail-strip span{white-space:normal;overflow-wrap:anywhere;text-align:center}
.main-photo>span,.wood-technical span{font-size:.9375rem;line-height:1.5}
.main-photo>span{padding:10px 14px}
.viewer-close{font-size:1rem;min-height:44px;min-width:88px}
.wood-section-title>*,.section-heading>*,.detail-lead>*,
.wood-options-intro>*,.lock-entry>*,.wood-selection>*,
.company-section>*,.inquiry-form>*,footer>*{min-width:0}
.lock-entry dt{flex-shrink:1;min-width:4em}
.lock-entry dd{overflow-wrap:anywhere}

/* 平板寬度也使用完整字級的展開式選單。 */
@media(max-width:1100px){
  .menu-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:64px}
  .site-nav{
    display:none;position:absolute;top:82px;right:0;left:0;
    background:var(--paper);padding:18px 6vw 24px;flex-direction:column;
    align-items:stretch;gap:4px;border-bottom:1px solid var(--line);font-size:1rem
  }
  .site-nav.open{display:flex}
  .site-nav a{display:flex;align-items:center;min-height:48px;padding:8px 0;width:100%}
  .site-nav .language{padding-top:12px;font-size:.9375rem}
}

@media(max-width:800px){
  body{font-size:1rem;line-height:1.85}
  .site-header{height:76px}
  .site-nav{top:76px}
  .hero-copy{min-height:0;padding:56px 7vw 48px}
  .hero h1{font-size:clamp(2.5rem,10vw,3.5rem);line-height:1.3}
  .hero-intro,.section-heading>p:last-child,.principles article p,
  .series-card>p,.wood-options-heading>p:last-of-type,
  .hardware-story-copy>p:last-child,.is-compact .hardware-story-copy>p:last-child,
  .lock-intro,.detail-info p:not(.eyebrow),.company-section>div>p:last-child{
    font-size:1rem;line-height:1.85
  }
  .series-caption,.eyebrow,.wood-card p,.swatch-card>span,.swatch-card small,
  .selection-preview figcaption,.thumbnail-strip span{font-size:.875rem}
  .series-card h2{font-size:1.375rem;line-height:1.5}
  .wood-card h3{font-size:1rem;line-height:1.65}
  .lock-entry-copy h2{font-size:1.75rem;line-height:1.45}
  .filter-bar,.wood-filter{flex-wrap:wrap;overflow:visible;gap:8px 20px}
  .filter-bar button,.wood-filter button{padding:10px 0;font-size:1rem}
  .option-tools{flex-direction:column;align-items:stretch;gap:20px}
  .option-tools label:first-child{min-width:0}
  .swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
  .swatch-card{min-height:44px}
  .main-photo{height:min(100vw,480px)}
  .thumbnail-strip button{flex-basis:124px;width:124px;min-height:124px;height:auto}
  .thumbnail-strip img{height:76px}
  .main-photo>span{bottom:12px;right:12px;font-size:.9375rem}
  .detail-info dl>div,.company-section dl>div,.lock-entry dl>div{
    display:grid;grid-template-columns:minmax(0,1fr);gap:6px;
    align-items:start;padding:16px 0;font-size:1rem
  }
  .detail-info dd,.company-section dd,.lock-entry dd{
    max-width:none;text-align:left;min-width:0;overflow-wrap:anywhere
  }
  .detail-info dt,.company-section dt,.lock-entry dt{font-weight:600}
  .lock-jump-links{gap:10px 20px}
  .lock-specs summary{padding:12px 0}
  .related span{font-size:.9375rem;line-height:1.7}
  .wood-technical img{height:230px}
  dialog{width:calc(100vw - 20px);padding:64px 14px 24px;max-height:calc(100dvh - 20px);overflow:auto}
  dialog>img,#wood-viewer>img{height:65vh;height:65svh}
  .viewer-close{top:8px;right:10px}
  footer{gap:28px}
  .card-meta{grid-template-columns:28px minmax(0,1fr);gap:10px}
  .card-meta span:last-child{grid-column:2}
}

@media(max-width:480px){
  .wood-grid,.hardware-grid{grid-template-columns:minmax(0,1fr)}
  .wood-card-photo{height:380px}
  .hardware-photo{height:220px}
  .wood-options-heading h1{font-size:2rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
