/* Page type and blocks mapped to the design system. Load after the page's own <style>.
   Source: Figma ZXJwji7AoYr2FE8uRxBEBO [진행중] 공통 컴포넌트.
   Text styles: heading-04, heading-01, label-04, body-02, caption-01. Content / Type=Article for fact rows, Card / Type=Browse for cards.
   Product screen mocks keep their own type. */

/* heading-04: hero and section titles */
.hero h1,.sh h2,.ship .sh h2,.ftext h2,.tour-copy h2,.more h2,.faq h2,.cta h2,.run h2{
  font:700 48px/1.12 var(--ds-font-display);letter-spacing:-.015em;color:var(--ds-text-primary)}

/* body-03: hero and section sentences */
.hero p,.sh p,.ship .sh p,.ftext p,.tour-copy p,.cta p,.dtext>p{
  font:400 18px/1.65 var(--ds-font-body);color:var(--ds-text-secondary)}
.cta h2,.cta p{color:inherit}

/* label-04: product name above the hero title */
.plabel{font:600 18px/1.3 var(--ds-font-display);color:var(--ds-text-primary);letter-spacing:0;text-transform:none}
.plabel i{display:none}

/* Content / Type=Article: fact rows. Title label-04, excerpt body-02, divider border-subtle */
.facts{list-style:none;margin-top:var(--ds-spacing-07);display:block;text-align:left;border-top:1px solid var(--ds-border-subtle)}
.sh.c .facts{display:block;max-width:760px;margin-left:auto;margin-right:auto}
.facts li{display:flex;flex-direction:column;gap:var(--ds-spacing-03);padding:var(--ds-spacing-07) 0;border-bottom:1px solid var(--ds-border-subtle)}
.facts li::before{display:none}
.facts li b{font:600 18px/1.3 var(--ds-font-display);color:var(--ds-text-primary)}
.facts li span{font:400 16px/1.5 var(--ds-font-body);color:var(--ds-text-secondary)}

/* Card / Type=Browse: radius 8, padding 32, layer-01, shadow. Title heading-01, text body-02 */
.cell{background:var(--ds-layer-01);border:1px solid var(--ds-layer-01);border-radius:8px;padding:var(--ds-spacing-08);gap:var(--ds-spacing-05);
  box-shadow:0 16px 40px rgba(20,19,23,.06),0 1px 2px rgba(20,19,23,.06)}
a.cell:hover{border-color:var(--ds-orange-60)}
.cell h3{font:700 24px/1.25 var(--ds-font-display);letter-spacing:-.01em;color:var(--ds-text-primary)}
.cell p{font:400 16px/1.5 var(--ds-font-body);color:var(--ds-text-secondary)}
.cell .lk{font:400 14px/1.5 var(--ds-font-body);color:var(--ds-text-secondary)}

/* FAQ: question label-04, answer body-02 */
.qa summary{font:600 18px/1.3 var(--ds-font-display);color:var(--ds-text-primary)}
.qa p{font:400 16px/1.5 var(--ds-font-body);color:var(--ds-text-secondary)}

/* table and small notes */
.tcap{font:600 18px/1.3 var(--ds-font-display);color:var(--ds-text-primary);margin:var(--ds-spacing-10) 0 var(--ds-spacing-05)}
.tnote{font:400 16px/1.5 var(--ds-font-body);color:var(--ds-text-secondary);margin-top:var(--ds-spacing-05)}
.note{font:400 12px/1.6 var(--ds-font-body);color:var(--ds-text-secondary)}
.subl{font:400 16px/1.5 var(--ds-font-body);color:var(--ds-text-secondary)}

/* reveal for rows and cards when they enter the view */
.rv{opacity:0;transform:translateY(12px);transition:opacity .45s ease-out,transform .45s ease-out;transition-delay:calc(var(--i,0) * .08s)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* GNB dropdown: white panel, hovered and current items on background-subtle so the state is visible */
.drop-inner{background:var(--ds-layer-01);border-radius:8px}
.drop-item{border-radius:4px;transition:background .15s}
.drop-item.cur{background:transparent}
.drop-item.cur b::after{display:none}
.drop-item:hover{background:var(--ds-background-subtle)}
.drop-item:hover b{color:var(--ds-text-primary)}
.drop-item:hover b::after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--ds-orange-60)}

/* GNB utility: Company link in place of Get started (R1 IA 2026-10-30) */
.nav-co{font:500 14px/1.3 var(--ds-font-body);color:var(--ds-text-primary);opacity:.78;padding:10px 14px;border-radius:4px}
.nav-co:hover{opacity:1;background:var(--ds-background-subtle)}

/* R1 footer shared by every demo. From home.html */
.ft{background:var(--ds-background-subtle);color:var(--ds-text-primary);padding:var(--ds-spacing-12) 0 var(--ds-spacing-08);border-top:1px solid var(--ds-border-subtle);font-family:var(--ds-font-body)}
.ft a{color:inherit;text-decoration:none}
.ft .f-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ds-spacing-10);gap:var(--ds-spacing-05)}
.ft .tagline{font:400 14px/1.5 var(--ds-font-body);color:var(--ds-text-secondary)}
.ft .f-top-link{font:600 14px/1.3 var(--ds-font-display);color:var(--ds-text-primary)}
.ft .f-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ds-spacing-09) var(--ds-spacing-08)}
.ft h5{font:600 14px/1.3 var(--ds-font-display);color:var(--ds-text-primary);margin:0 0 var(--ds-spacing-05)}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ds-spacing-04);font:400 14px/1.5 var(--ds-font-body);color:var(--ds-text-secondary)}
.ft ul a:hover,.ft .f-legal a:hover{color:var(--ds-text-primary)}
.ft .f-bottom{margin-top:var(--ds-spacing-11);padding-top:var(--ds-spacing-06);border-top:1px solid var(--ds-border-subtle);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--ds-spacing-05);font:400 12px/1.6 var(--ds-font-body);color:var(--ds-text-secondary)}
.ft .f-legal{display:flex;gap:var(--ds-spacing-06);flex-wrap:wrap;align-items:center}
.ft .sns{display:flex;gap:var(--ds-spacing-05)}.ft .sns a{width:20px;height:20px;color:var(--ds-text-secondary)}.ft .sns svg{width:100%;height:100%}
.ft .logo{display:flex;align-items:center;gap:9px;font:700 18px/1 var(--ds-font-display)}

/* CTA band on the design system inverse background instead of the old slate gradient */
.cta{background:var(--ds-background-inverse)!important;color:var(--ds-text-inverse)}
.cta p{color:var(--ds-text-inverse-secondary)!important}
