/* Readable supporting text, while retaining the established heading hierarchy. */
body[data-page] main :is(.story-copy>p,.editorial p,.about p,.page-lead>p,.story-wide p,.story-principles p,.history-copy p,.career-intro p,.career-contact p,.career-grid p,.recruit-description p,.recruit-description li,.article-prose p,.journal-dialog p,.collection-intro p,.launch-note p,.product-release-copy,.product-questions p,.visit-guide p,.salon-booking-note>p,.directory-note,.product-preparing p){font-size:15px;line-height:1.8}
body[data-page] main :is(.product-korean,.product-list p,.product-ko-title,.collection-card p){font-size:14px;line-height:1.8}
body[data-page] main :is(.contents-heading>p,.career-note,.purchase-note,.application-section small,.application-privacy,#applicationStatus){font-size:13px;line-height:1.8}
body[data-page] .text-link,body[data-page] main :is(.recruit-button,.recruit-back,.purchase-button,.product-questions summary){font-size:13px;line-height:1.6}
body[data-page] main :is(.recruit-summary dl>div,.application-section label,.application-section legend){font-size:14px;line-height:1.8}
body[data-page] .salon-row.with-photo .salon-info address,body[data-page] .salon-row.with-photo .salon-phone{font-size:13px;line-height:1.8}
body[data-page] .salon-row.with-photo .salon-actions a{font-size:13px;min-height:40px}
body[data-page] .salon-row.with-photo h3 small{font-size:11px;letter-spacing:.8px}
body[data-page] main :is(.eyebrow,.story-signature,.product-status,.product-brand>span,.product-image>span,.product-list li>span,.product-word-art>small,.career-grid span,.story-principles span,.breadcrumb,.instagram-note,.instagram-account>span,.journal-category){font-size:11px;line-height:1.6}
body[data-page] main :is(.journal-card>span,.journal-card .read-journal,.blog-card time,.reel-source){font-size:12px;line-height:1.6}
body[data-page] .page-lead>.eyebrow{font-size:11px}
body[data-page] .desktop-nav a{font-size:11px}
body[data-page] .site-header #branch{font-size:14px}
body[data-page] footer :is(p,.footer-address,.footer-social+div,.footer-social+div>a){font-size:12px;line-height:1.8}
body[data-page] footer .footer-location-label{font-size:11px}
body[data-page] .designer-photo .portrait-caption{font-size:12px}
@media(max-width:700px){
 body[data-page] .site-header #branch{font-size:13px}
 body[data-page] main .application-section input[type=file]{font-size:13px!important}
 body[data-page] .salon-row.with-photo .salon-meta{row-gap:6px}
 body[data-page] .salon-row.with-photo .salon-actions{flex-wrap:wrap;gap:8px 18px}
 body[data-page] .instagram-note{flex-wrap:wrap;gap:12px}
}

body[data-page] main .product-top>.text-link{font-size:13px;letter-spacing:.5px}

/* Compact N mark aligned to the booking label, with no extra accessible text. */
.naver-booking-logo{display:inline-block;width:.8em;height:.8em;max-width:none;object-fit:contain;flex:0 0 auto;vertical-align:0;transform:translateY(-1px)}
body[data-page] .site-header #selectedBranch{display:inline-flex;align-items:center;gap:6px}
body[data-page] .salon-row .salon-actions .salon-booking{display:inline-flex;align-items:center;gap:6px}
body[data-page] .branch-booking{display:inline-flex;align-items:center;gap:6px}


/* Align the wordmark, booking label and arrow on one vertical center. */
body[data-page] .site-header .mini-logo{display:flex;align-items:center;align-self:center}
body[data-page] .site-header #branch{display:inline-flex;align-items:center;align-self:center;line-height:1.4;padding:0;min-height:44px}
body[data-page] .site-header #selectedBranch{border-bottom:0;padding-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;line-height:1.4}
body[data-page] .site-header #branch>span:last-child{align-self:center;line-height:1}

/* Shared menu-page title rhythm; Our Story retains its editorial typography. */
body[data-page]:not([data-page="story"]) .page-lead{padding-bottom:40px}
body[data-page]:not([data-page="story"]) .page-lead h1{font-size:clamp(40px,4.5vw,64px);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin:24px 0 20px}
@media(max-width:700px){
 body[data-page]:not([data-page="story"]) .page-lead{padding-bottom:30px}
 body[data-page]:not([data-page="story"]) .page-lead h1{font-size:clamp(32px,8.2vw,38px);margin:22px 0 16px;line-height:1.2}
}

/* Compact rhythm for the brand-history paragraphs. */
body[data-page="story"] main .history-copy p{line-height:1.7;margin:0}
body[data-page="story"] main .history-copy p:last-child{margin-bottom:0}

/* Muted product availability notice. */
.product-preparing h1{opacity:.5}

/* Contents subsection headings follow the same size as its opening title. */
body[data-page="contents"] .reels-heading h2{font-size:clamp(40px,4.5vw,64px);line-height:1.15;letter-spacing:-.025em}@media(max-width:700px){body[data-page="contents"] .reels-heading h2{font-size:clamp(32px,8.2vw,38px);line-height:1.2}}
