/* Shared typography: homepage + gallery. Images and logo artwork are untouched. */
@font-face{font-family:'Davinci Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/noto-sans-kr.woff2') format('woff2')}
@font-face{font-family:'Davinci Serif';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-kr-500.woff2') format('woff2')}
:root{
  --sans:'Davinci Sans','Noto Sans KR',sans-serif;
  --serif:'Davinci Serif','Noto Serif KR',serif;
  --type-display:3rem;--type-section:2rem;--type-card:1.5rem;
  --type-body:1rem;--type-small:.875rem;--type-label:.75rem;
  font-size:100%;font-family:var(--sans);font-synthesis:none;
}
body{font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.8;letter-spacing:-.015em;word-break:keep-all;overflow-wrap:break-word}
button,input,select,textarea{font:inherit}
strong,b{font-weight:600}em{font-style:normal}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.5;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:var(--type-display);line-height:1.4}
h2{font-size:var(--type-section)}h3{font-size:var(--type-card)}
p{line-height:1.8}
.eyebrow{font-family:var(--sans);font-size:var(--type-label);font-weight:500;line-height:1.6;letter-spacing:.12em}
.brand span{font-family:var(--sans);font-size:.625rem;font-weight:500;line-height:1.5;letter-spacing:.1em}
.site-header{background:var(--paper)}
.site-header nav,.home-link,.mobile-nav,.menu-toggle{font-family:var(--sans);font-size:var(--type-small);font-weight:500;line-height:1.6;letter-spacing:0}
.button,.text-link,.round-link,.social-dock a{font-family:var(--sans);font-size:var(--type-small);font-weight:500;line-height:1.6;letter-spacing:0}
.text-link span,.round-link span{font-family:var(--sans);font-size:1.125rem;font-weight:400;line-height:1}
.hero-copy h1,.hero h1,.page-intro h1,.series-intro h1{font-size:var(--type-display);line-height:1.4}
.hero-description,.page-intro .lead,.series-card p,.quiet-links p,.split-panels p,.cafe-access p,.app-note p,.book-card p,.series-detail>p:not(.eyebrow),.section-note,.section-heading p:not(.eyebrow),.inside-copy,.closing p:not(.eyebrow){font-size:var(--type-body);line-height:1.8}
.section-heading h2,.about-layout h2,.maker-inner h2,.split-panels h2,.faq h2,.closing h2{font-size:var(--type-section);line-height:1.5}
.quiet-links h2,.cafe-access h2,.app-note h2,.seminar-section h2,.series-detail h3,.dialog-details h2{font-family:var(--serif);font-size:var(--type-card);font-weight:500;line-height:1.5;letter-spacing:-.035em}
.app-note{flex-wrap:wrap;gap:16px 40px}.app-note h2{white-space:normal}
.book-card h2{font-size:1.25rem;line-height:1.5}
.learning-path strong,.join-steps li,.inside-caption h3,.showroom-card h3,.product-meta h3{font-family:var(--sans);font-size:var(--type-body);font-weight:500;line-height:1.6;letter-spacing:-.015em}
.learning-path span,.resource-list,.join-steps p,.seminar-section p,.signature,.photo-note,.caption,.hero-bottom,.hero-foot,.footer-tag,.shared-footer small,.back-link,.series-total,.family-heading,.family-heading .muted,.family-card figcaption,.family-card figcaption small,.product-meta>span,.product-meta small,.edition-footnote,.inside-caption p,.showroom-note,.dialog-subtitle,.photo-thumbs button,.photo-thumbs span,.photo-position,.product-specs,.image-dialog>p,.turntable>p,#turn-controls label,footer,footer>a,.footer-brand span{
  font-family:var(--sans);font-size:var(--type-small);font-weight:400;line-height:1.75;letter-spacing:0;
}
.label,.first-badge,.showroom-card figcaption span{font-family:var(--sans);font-size:var(--type-label);font-weight:500;line-height:1.5;letter-spacing:.02em}
.split-panels .number{font-family:var(--sans);font-size:var(--type-small);font-weight:500;line-height:1.6;letter-spacing:.02em}
.join-steps b{font-family:var(--sans);font-size:var(--type-small);font-weight:500;line-height:1.6;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.join-steps p{font-weight:400}
summary{font-family:var(--sans);font-size:var(--type-body);font-weight:500;line-height:1.7}
details>div{font-size:var(--type-body);line-height:1.8}
.dialog-head h2{font-size:var(--type-card);line-height:1.5}
.book-layout h3{font-size:var(--type-card)}
.view-controls button,.inside-tabs button,.filter-pills button,.view-mode button,.turn-buttons button,#autorotate{font-family:var(--sans);font-size:var(--type-small);font-weight:500;line-height:1.6;letter-spacing:0;min-height:44px}
.filter-pills{flex-wrap:wrap}.filter-pills button span{font-family:var(--sans);font-size:var(--type-label);font-weight:400;line-height:1.5}
.series-tabs button{font-family:var(--sans);font-size:var(--type-body);font-weight:500;line-height:1.6}
.series-tabs button>span{font-family:var(--sans);font-size:var(--type-label);line-height:1.5}
.search input{font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.6}
.intro-strip>p{font-family:var(--serif);font-size:var(--type-card);font-weight:500;line-height:1.6;letter-spacing:-.035em}
.intro-numbers>span{font-size:var(--type-small);line-height:1.5}
.intro-numbers strong{font-family:var(--sans);font-size:var(--type-card);font-weight:500;line-height:1.5;font-variant-numeric:tabular-nums}
.image-pager{font-family:var(--sans);font-size:var(--type-small);line-height:1.5;font-variant-numeric:tabular-nums}
.footer-brand{font-family:var(--sans);font-size:1.125rem;font-weight:500;line-height:1.6;letter-spacing:.04em}
/* Utility symbols are icons, not extra text styles. */
.close,.icon-button{font-family:var(--sans);font-size:1.75rem;font-weight:400;line-height:1}
.image-button .expand,.image-expand,.image-pager button,.photo-arrow,.product-arrow{font-size:1.375rem;font-weight:400;line-height:1}
summary:after{font-size:1.25rem;line-height:1.6}
@media(max-width:1100px){:root{--type-display:2.5rem}.brand span{display:none}}
@media(max-width:760px){
  :root{--type-display:2rem;--type-section:1.75rem;--type-card:1.375rem}
  .brand span{display:block;font-size:.625rem;letter-spacing:.06em}
  .site-header{gap:16px}.menu-toggle{flex:0 0 44px;white-space:nowrap;padding-inline:4px}.site-header .brand{gap:12px;min-width:0}.brand img{flex-shrink:0}.brand span{white-space:nowrap}.site-header .brand span{padding-left:12px}
  .hero-copy h1,.hero h1{font-size:var(--type-display)}
  .hero-bottom,.hero-foot{font-size:var(--type-small);line-height:1.75;flex-wrap:wrap}
  .book-card h2{font-size:1.125rem;line-height:1.6}
  .book-card .text-link{gap:8px}
  .family-card figcaption{display:block}.family-card figcaption small{display:block;margin-top:4px}
  .family-heading{align-items:flex-start}.family-heading .muted{max-width:160px}
  .series-tabs button{flex-basis:110px}
  .intro-numbers{flex-wrap:wrap;gap:18px}.intro-numbers>span{font-size:var(--type-small)}
  .resource-list{font-size:var(--type-small)}
  .social-dock a{padding-inline:11px}
  .dialog-head h2{font-size:1.25rem}.dialog-head{gap:12px}
  .dialog-subtitle,.photo-thumbs span,.product-specs{font-size:var(--type-small)}
  .view-mode{gap:24px}.turn-buttons{flex-wrap:wrap}
  .dialog-details>.text-link{font-size:var(--type-small);gap:14px}
}
@media(max-width:360px){.brand span{display:none}.hero-copy{padding-inline:20px}.filter-pills button{padding-inline:13px}}

/* Compact gallery titles use the common 14px supporting-text scale. */
.editions-section .product-meta h3{font-size:var(--type-small);line-height:1.6}
