/* Native component layout and typography live in Atomic global classes.
   Retained CSS: decoration, state/descendant rules and breakpoint exceptions. */
.lcsg { --choice-navy: var(--lc-brand-1,#1a305b); --choice-apricot: var(--lc-apricot,#f5a45d); --choice-gold: var(--lc-golden-light,#f5d28a); --choice-paper: var(--lc-surface,#fff8ef); --choice-coral: var(--lc-glow-coral,#ef7970); }
.lcsg .lcsg-button-toolbar { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.lcsg .lcsg-preview-toggle { flex-shrink: 0; min-height: 44px; border: 1px solid #1a305b60; border-radius: 999px; background: #fff; color: #1a305b; padding: 10px 20px; font: 600 14px/1.4 'DM Sans',sans-serif; cursor: pointer; transition: background .2s,color .2s; }
.lcsg .lcsg-preview-toggle[aria-pressed="true"] { background: #1a305b; color: #fff; }
.lcsg .lcsg-preview-toggle:focus-visible { outline: 2px solid #1a305b; outline-offset: 4px; }
.lcsg .lcsg-button-stages, .lcsg .lcsg-compact-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; width: 100%; }
.lcsg .lcsg-button-stage { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 28px 20px; border: 1px solid #1a305b25; border-radius: 16px; }
.lcsg .lcsg-button-stage--paper { background: var(--choice-paper); color: var(--choice-navy); }
.lcsg .lcsg-button-stage--navy { background: var(--choice-navy); color: #fff; border-color: transparent; }
.lcsg .lcsg-button-role { display: flex; flex-direction: column; align-items: center; gap: 18px; width: 100%; }
.lcsg .lcsg-button-caption { font: 400 12px/1.4 'DM Sans',sans-serif; opacity: .75; }
.lcsg .lcsg-compact-stage { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding: 28px; border: 1px solid #1a305b25; border-radius: 16px; }
.lcsg .lcsg-compact-stage--navy { background: var(--choice-navy); color: #fff; border-color: transparent; }
.lcsg .lcsg-compact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; }
.lcsg .lc-choice-button { --choice-fill: var(--choice-navy); --choice-ink: #fff; --choice-halo-opacity: 0; --choice-halo-scale: .9; --choice-icon-x: 0px;  isolation: isolate; flex: none;       white-space: nowrap; cursor: pointer;  transition: background-color .35s ease,color .35s ease; }
.lcsg .lc-choice-button--light { --choice-fill: #fff; --choice-ink: var(--choice-navy);  }
.lcsg .lc-choice-button::after { content: ''; position: absolute; inset: -1px; border-radius: inherit; background: var(--choice-fill); z-index: -1; pointer-events: none; transition: background-color .35s ease; }
.lcsg .lc-choice-button::before { content: ''; position: absolute; inset: -2px -5px; z-index: -2; border-radius: inherit; pointer-events: none; background: linear-gradient(100deg,var(--choice-coral) 0%,var(--choice-apricot) 48%,var(--choice-gold) 100%); filter: blur(9px); opacity: calc(var(--choice-halo-opacity) * 1.15); transform: scale(var(--choice-halo-scale)); transition: opacity .45s ease,transform .45s ease; }
.lcsg .lc-choice-button--light::before { opacity: calc(var(--choice-halo-opacity) * .95); }
.lcsg .lc-choice-button--alt { --choice-fill: var(--lc-button-soft,#ffeddf); --choice-ink: var(--choice-navy); border-color: #1a305b35;  }
.lcsg .lc-choice-button--alt.lc-choice-button--light { --choice-fill: var(--lc-button-soft-dark,#2a426a); --choice-ink: #fff; border-color: #ffffff55;  }
.lcsg .lc-choice-button--alt::before { opacity: calc(var(--choice-halo-opacity) * .65); }
.lcsg.is-button-preview .lc-choice-button, .lcsg .lc-choice-button:focus-visible { --choice-halo-opacity: .8; --choice-halo-scale: 1.03; --choice-icon-x: 3px; }
.lcsg.is-button-preview .lc-choice-button--light:not(.lc-choice-button--alt), .lcsg .lc-choice-button--light:not(.lc-choice-button--alt):focus-visible { --choice-fill: var(--choice-paper); }
.lcsg .lc-choice-button:focus-visible { outline: 2px solid var(--choice-navy); outline-offset: 6px; }
.lcsg .lc-choice-button--light:focus-visible { outline-color: #fff; }
.lcsg .lc-quiet-action { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 0; background: none; border: 0; border-radius: 0; box-shadow: none; color: var(--choice-navy); font: 600 15px/1.4 'DM Sans',sans-serif; cursor: pointer; text-decoration: none; }
.lcsg .lc-quiet-action--light { color: #fff; }
.lcsg .lc-quiet-action::before, .lcsg .lc-quiet-action::after { content: ''; position: absolute; left: 0; right: 0; bottom: 6px; height: 1px; background: currentColor; pointer-events: none; }
.lcsg .lc-quiet-action::before { opacity: .2; }
.lcsg .lc-quiet-action::after { transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.lcsg .lc-quiet-action:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.lcsg.is-button-preview .lc-quiet-action::after, .lcsg .lc-quiet-action:focus-visible::after { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
  .lcsg .lc-choice-button:hover { --choice-halo-opacity: .8; --choice-halo-scale: 1.03; --choice-icon-x: 3px; }
  .lcsg .lc-choice-button--light:not(.lc-choice-button--alt):hover { --choice-fill: var(--choice-paper); }
.lcsg .lc-quiet-action:hover::after { transform: scaleX(1); }
}
@media (max-width: 767px) {
  .lcsg .lcsg-button-stages, .lcsg .lcsg-compact-options { grid-template-columns: 1fr; }
  .lcsg .lcsg-compact-stage { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
.lcsg :is(.lc-choice-button, .lc-choice-button *, .lc-companion-link *, .lcsg-preview-toggle), .lcsg .lc-choice-button::before, .lcsg .lc-choice-button::after, .lcsg .lc-quiet-action::after { transition: none !important; }
}
