/* v19 — shared typography, color, spacing and LINE controls. */
:root{--font-latin:var(--font);--body-size:17px;--body-leading:2;--heading-tracking:-.025em;--section-space:104px;--surface-blue:#edf3f8;--control-radius:12px;--night-copy:#c4d2df}
:is(.concept-copy,.encounter-head,.editorial-heading,.expression-making,.engineering-intro,.mechanism-copy,.personality-heading,.personal-copy) .body-copy,.life-intro{font-family:var(--font);font-size:var(--body-size);font-weight:400;line-height:var(--body-leading);letter-spacing:.015em;color:var(--muted)}
.engineering .body-copy{color:var(--night-copy)}
:is(.concept-copy,.encounter-head,.life-heading,.editorial-heading,.engineering-intro,.personality-heading,.personal-copy) h2{font-weight:700;line-height:1.5;letter-spacing:var(--heading-tracking)}
.expression-making h3{letter-spacing:var(--heading-tracking)}
.expression-note{grid-column:5/12}
.expression-note .phrase{display:inline-block;white-space:nowrap}
.conclusion-copy h2{letter-spacing:0}
:is(.concept,.encounter,.expressions,.engineering,.personality,.personal,.details,.closing){padding-block:var(--section-space)}
.life-heading{padding-top:var(--section-space);padding-bottom:72px}
.encounter,.personality,.global{background:var(--surface-blue)}
.life-conclusion,.conclusion-backdrop{background:var(--night)}
.scene-copy>p:last-child{font-size:var(--body-size);line-height:var(--body-leading);color:#e0eaf2}
.scene-label{color:#e0eaf2}
.spec-table th,.spec-table td{border-color:var(--line)}
.spec-table td{color:var(--muted)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom-color:var(--line)}
.life-watch{border-color:var(--line)}
.style-option[aria-pressed=true]{border-color:var(--teal)}
.personality-option{border-radius:8px}
.personality-option,.personality-conversation{border-color:#c3d4e1}
.personality-brief .eyebrow,.personality-index,.conversation-header>p>span,.conversation-caption{color:var(--muted)}
.site-footer{border-color:#bfd2e1;color:var(--muted)}
.launch-main{border-color:var(--line)}
.announcement-date{font-weight:400}
.type-note,.expression-portrait figcaption>span{font-size:12px;line-height:1.8;letter-spacing:.035em}
.expression-portrait figcaption strong{text-wrap:balance}
.hero-offer-terms,.line-popup-terms,.line-popup-eyebrow{font-size:11px;line-height:1.8}
.line-popup{border-color:var(--line);box-shadow:0 12px 42px #20364b14}
.cta-line-icon{display:block;object-fit:contain;flex:none}
.site-header .line-popup-trigger{grid-template-columns:28px auto;gap:0 11px;padding:9px 16px;min-height:56px;border-radius:var(--control-radius)}
.line-popup-trigger>.cta-line-icon{grid-column:1;grid-row:1/3;width:28px;height:28px}
.line-popup-trigger>span{grid-column:2;grid-row:1;font-size:10px;line-height:1.35;letter-spacing:.025em}
.line-popup-trigger>strong{grid-column:2;grid-row:2;font:700 22px/1.15 var(--font-latin);letter-spacing:-.025em}
.site-header .line-popup-trigger[aria-expanded=true]{background:#007537}
.line-benefit-button{display:grid;grid-template-columns:40px minmax(0,1fr) 36px;gap:16px;align-items:center;padding:19px 21px;border-radius:var(--control-radius)}
.line-benefit-button>.cta-line-icon{width:40px;height:40px}
.benefit-button-copy{min-width:0}
.benefit-button-copy>strong{font-size:13px;font-weight:500;gap:7px;letter-spacing:0}
.benefit-button-copy>strong>b{font:700 32px/1 var(--font-latin);letter-spacing:-.035em}
.benefit-button-copy>strong>b>span{font-size:21px}
.benefit-button-copy>small{font-size:12px;line-height:1.65;letter-spacing:.01em}
.benefit-button-arrow{width:36px;height:36px}
.line-popup-register{border-radius:var(--control-radius)}
.line-popup-register .cta-line-icon{width:28px;height:28px}
@media(max-width:1100px) and (min-width:721px){.line-benefit-button{grid-template-columns:34px minmax(0,1fr) 30px;gap:12px;padding-inline:18px}.line-benefit-button>.cta-line-icon{width:34px;height:34px}.benefit-button-arrow{width:30px;height:30px}.benefit-button-copy>strong{font-size:12px}.benefit-button-copy>strong>b{font-size:30px}}
@media(max-width:720px){
 :root{--body-size:15px;--section-space:64px}
 .life-heading{padding-bottom:48px}
 .engineering-intro>.body-copy br{display:none}
 .hero-lead{font-size:16px;line-height:1.9}
 .scene-copy>p:last-child{font-size:15px;line-height:2}
 .conclusion-copy>p{font-size:16px;line-height:2}
 .site-header .line-popup-trigger{grid-template-columns:26px auto;gap:0 8px;min-height:48px;padding:7px 11px}
 .line-popup-trigger>.cta-line-icon{width:26px;height:26px}
 .line-popup-trigger>span{font-size:10px}.line-popup-trigger>strong{font-size:20px}
 .line-benefit-button{grid-template-columns:34px minmax(0,1fr) 30px;gap:12px;min-height:98px;padding:18px 17px}
 .line-benefit-button>.cta-line-icon{width:34px;height:34px}
 .benefit-button-copy>strong{font-size:12px;gap:6px}.benefit-button-copy>strong>b{font-size:30px}.benefit-button-copy>strong>b>span{font-size:20px}
 .benefit-button-copy>small{font-size:11px;line-height:1.65;letter-spacing:0}
 .benefit-button-arrow{width:30px;height:30px}
 .type-note{font-size:12px;letter-spacing:0}.expression-portrait figcaption>span{font-size:11px;letter-spacing:.02em}
 .expression-note{grid-column:1/4}.expression-note>p{font-size:clamp(18px,5vw,28px)}
 .hero-offer-terms{font-size:11px;line-height:1.8}
}
@media(max-width:360px){
 .site-header .line-popup-trigger{padding-inline:9px;gap:0 7px}.line-popup-trigger>strong{font-size:19px}
 .line-benefit-button{grid-template-columns:30px minmax(0,1fr) 26px;gap:9px;padding:17px 13px}
 .line-benefit-button>.cta-line-icon{width:30px;height:30px}
 .benefit-button-copy>strong{font-size:11px;gap:5px}.benefit-button-copy>strong>b{font-size:28px}.benefit-button-copy>strong>b>span{font-size:18px}
 .benefit-button-arrow{width:26px;height:26px}.benefit-button-arrow svg{width:16px;height:16px}
}
