/* One text-spacing system for all prototype pages, including embedded UI. */
:root{--type-body-leading:1.7;--type-title-leading:1.45;--type-label-leading:1.5;--type-leading:var(--type-body-leading);--type-tracking:0px}
/* Stable inherited roles also reach inline copy-edit wrappers, rather than leaving
   old per-span line-height/letter-spacing values inside otherwise matching cards. */
html body :is(#page,#boards,.original-board,.siteheader,footer) :is(h1,h2,h3,h4,p,span,div,article,section,strong,b,em,small,li,a,button,summary,label,time,figcaption,dt,dd,td,th){line-height:var(--type-leading)!important;letter-spacing:var(--type-tracking)!important}
:is(.hero,.blog-page,.original-board,.stage) h1{--type-leading:1.4;--type-tracking:-1px}
:is(.section,.contact,.original-board) h2{--type-leading:var(--type-title-leading);--type-tracking:-.8px}
:is(.section,.original-board,.stage) :is(h3,h4),.original-board .presentation-card-title,.original-board .comparison-title{--type-leading:var(--type-title-leading);--type-tracking:-.5px}
:is(.original-board,.stage) :is(.sub,.small,.admin-phase,.admin-task,.admin-confirm,.bank-account),.hero-copy>p,.section :is(p,.lead,li),.contact p,.blog-article-body{--type-leading:var(--type-body-leading);--type-tracking:0px}
:is(.hero,.section,.contact,.blog-page,.siteheader,.original-board,.stage,footer) :is(a,button,summary,small,time,.eyeline,.kicker,.stepno,.service-hero-tag,.reward-topic-chip,.reward-speed-badge,.reward-timeline-step>small,.reward-timeline-step>em,.hero-delivery-card small,.hero-delivery-card em,.participation-meta,.report-kicker,.report-state,.report-progress,.report-status-row,.experience-phone-head,.experience-tabs,.alimtalk-profile,.alimtalk-yellow,.alimtalk-action,.notification-message-head,.eyebrow){--type-leading:var(--type-label-leading);--type-tracking:0px}
/* Miniature screens keep their sizes; prose within them still uses the same rhythm. */
:is(.checkup-report,.checkup-experience) :is(.report-input,.report-file,.report-ready,.report-document-title,.experience-exam,.experience-details,.experience-details>div,.experience-checklist>div,.experience-follow-card,.experience-confirmation){--type-leading:var(--type-body-leading);--type-tracking:0px}
.experience-phone h4,.report-document h3{--type-leading:var(--type-title-leading);--type-tracking:-.5px}
.original-board :is([data-dc-tpl="13"],[data-dc-tpl="75"],[data-dc-tpl="83"],[data-dc-tpl="139"],[data-dc-tpl="154"],[data-dc-tpl="164"],[data-dc-tpl="176"],[data-dc-tpl="183"],[data-dc-tpl="206"],[data-dc-tpl="283"]){--type-leading:var(--type-label-leading);--type-tracking:0px}
html body .original-board.original-board :is(.reward-message,.proposal-buddi,.proposal-client,[data-dc-tpl="187"],[data-dc-tpl="194"],[data-dc-tpl="195"],[data-dc-tpl="202"]),.alimtalk-body,.alimtalk-body p,.notification-message p{font-size:14px!important;--type-leading:var(--type-body-leading);--type-tracking:0px}
.original-board :is(.reward-message,.proposal-buddi,.proposal-client,[data-dc-tpl="187"],[data-dc-tpl="194"],[data-dc-tpl="195"],[data-dc-tpl="202"]) [data-original-edit]{font-size:inherit!important}
.original-board .proposal-buddi>:is(b,.proposal-label){--type-leading:var(--type-label-leading);--type-tracking:0px}
/* Large numerical indicators are not paragraphs. Keep their compact number row. */
:is(.metric,.factstrip,.pricecompare,.participation-head,.admin-time,.operations-report) :is(strong,b){--type-leading:1.2;--type-tracking:0px}
.metric strong small{--type-leading:var(--type-label-leading);--type-tracking:0px}
.product-tray-card figcaption,.photo .step{--type-leading:var(--type-label-leading);--type-tracking:0px}
.section h3.eyeline{--type-leading:var(--type-title-leading);--type-tracking:-.5px}
/* Existing sender treatment: emerald wordmark directly on the light message. */
.original-board .reward-message>.reward-sender-logo{display:block;width:64px;height:auto;object-fit:contain;margin:0 0 10px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
/* Only the three mobile hero benefits stack; desktop markup/layout is unchanged. */
@media(max-width:800px){
 .original-board [data-dc-tpl="22"]>div{align-items:flex-start!important}
 .original-board :is([data-dc-tpl="29"],[data-dc-tpl="37"],[data-dc-tpl="44"]){display:block;min-width:0;word-break:keep-all;overflow-wrap:normal;white-space:normal}
 .original-board :is([data-dc-tpl="29"],[data-dc-tpl="37"],[data-dc-tpl="44"])>b{display:block}
 .original-board :is([data-dc-tpl="29"],[data-dc-tpl="37"],[data-dc-tpl="44"])>span{display:block;margin-top:3px;word-break:keep-all;overflow-wrap:normal;white-space:normal}
 .original-board [data-dc-tpl="22"] [data-original-edit]{word-break:keep-all!important;overflow-wrap:normal!important;white-space:normal}
}
