/* GN2 Live Turnaround — section-scoped styles.
   Consumes the shared Full Frame tokens from gn2-base.css (--void/--bone/--ink/
   --cobalt/--acid/--line/--mut/--grot/--mono/--sans). Nothing global is redefined.
   Everything here is namespaced .lt-* or scoped to .gn2-lt-policy. */

/* The binding script toggles the `hidden` attribute to swap the live and
   unavailable states. Enforced here so a display rule elsewhere cannot revive
   a hidden node — an "unavailable" panel showing next to live data would be worse
   than either state on its own. */
.gn2-lt-policy [hidden],[data-gn2lt] [hidden]{display:none !important;}

/* ---- shared eyebrow -------------------------------------------------- */
.lt-eye{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 clamp(18px,3vw,30px);
  font-family:var(--mono,monospace);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.lt-eye i{width:8px;height:8px;border-radius:50%;background:var(--acid,#B6FF00);box-shadow:0 0 10px var(--acid,#B6FF00);flex:none;}
.lt-eye.cobalt{color:var(--ink,#131313);}
.lt-eye.cobalt i{background:var(--cobalt,#005BFF);box-shadow:none;}
.lt-eye-note{color:var(--mut,#6B6759);font-weight:600;letter-spacing:.12em;}

/* ---- 1. live hero ---------------------------------------------------- */
.lt-hero .pg-eye{margin-bottom:clamp(20px,3vw,34px);}
.lt-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:start;gap:clamp(14px,3vw,44px);}
.lt-hero-cell{min-width:0;}
.lt-k{margin:0 0 6px;font-family:var(--mono,monospace);font-size:10.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);}
.lt-big{margin:0;color:#fff;font-family:var(--grot,sans-serif);font-weight:900;
  text-transform:uppercase;line-height:.92;letter-spacing:-.035em;
  /* Scales with the container, so "WEDNESDAY, SEPTEMBER 30" cannot overflow. */
  font-size:clamp(34px,6.4vw,104px);
  overflow-wrap:break-word;word-break:normal;hyphens:none;
  font-variant-numeric:tabular-nums;}
.lt-big time{color:inherit;}
.lt-arrow{align-self:center;color:var(--acid,#B6FF00);font-size:clamp(20px,2.4vw,34px);line-height:1;padding-top:clamp(16px,3vw,42px);}
.lt-sub{margin:8px 0 0;font-family:var(--mono,monospace);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.lt-sub.acid{color:var(--acid,#B6FF00);}
.lt-sub.strong{color:#fff;font-weight:700;}
.lt-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;
  margin:clamp(26px,4vw,44px) 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.18);
  font-family:var(--mono,monospace);font-size:10.5px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.55);}
.lt-meta i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.4);flex:none;}
.lt-meta strong{color:#fff;font-variant-numeric:tabular-nums;}
.lt-down{margin:clamp(18px,3vw,28px) 0 0;max-width:62ch;font-size:15px;line-height:1.6;color:rgba(255,255,255,.78);}
.lt-down a{color:var(--acid,#B6FF00);}
.lt-rows-sec .lt-down{color:#4a4a46;}
.lt-rows-sec .lt-down a{color:var(--cobalt,#005BFF);}

/* ---- 2. process rows (bone) ------------------------------------------ */
.lt-rows-sec{background:var(--bone,#F4F2EC);color:var(--ink,#131313);}
.lt-rows{margin:0;border-top:1.5px solid var(--ink,#131313);}
.lt-row{display:grid;grid-template-columns:minmax(72px,20%) minmax(0,1fr);align-items:center;
  gap:16px;padding:clamp(16px,2.4vw,26px) 0 clamp(16px,2.4vw,26px) 14px;
  border-bottom:1px solid var(--line,#DAD7CC);border-left:3px solid transparent;}
.lt-row.is-over{border-left-color:var(--acid,#B6FF00);}
.lt-row-k{margin:0;font-family:var(--mono,monospace);font-size:12px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink,#131313);}
.lt-row-v{margin:0;text-align:right;min-width:0;}
.lt-date{display:block;font-family:var(--grot,sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:-.03em;line-height:.98;
  /* Long month + weekday names (e.g. "WEDNESDAY, SEPTEMBER 30") shrink instead of clipping. */
  font-size:clamp(19px,3.4vw,52px);
  overflow-wrap:break-word;font-variant-numeric:tabular-nums;}
.lt-by{display:block;margin-top:6px;font-family:var(--mono,monospace);font-size:10.5px;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut,#6B6759);}
/* Dark variant, for any future dark placement of the same component. */
.lt-rows--dark{border-top-color:#2A2A28;}
.lt-rows--dark .lt-row{border-bottom-color:#2A2A28;}
.lt-rows--dark .lt-row-k,.lt-rows--dark .lt-date{color:#fff;}
.lt-rows--dark .lt-by{color:rgba(255,255,255,.55);}

/* ---- 3. the rule ----------------------------------------------------- */
.lt-rule-h{margin:0 0 clamp(26px,4vw,46px);font-family:var(--grot,sans-serif);font-weight:900;
  text-transform:uppercase;letter-spacing:-.035em;line-height:.9;
  font-size:clamp(38px,6.6vw,92px);color:var(--ink,#131313);}
.lt-defs{margin:0;border-top:1.5px solid var(--ink,#131313);}
.lt-def{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;
  padding:clamp(14px,2vw,22px) 0;border-bottom:1px solid var(--line,#DAD7CC);}
.lt-def dt{margin:0;font-family:var(--grot,sans-serif);font-weight:700;letter-spacing:-.015em;
  font-size:clamp(17px,2vw,26px);text-transform:uppercase;color:var(--ink,#131313);}
.lt-def dd{margin:0;font-family:var(--mono,monospace);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt,#005BFF);text-align:right;}
.lt-rule-cta{margin:clamp(22px,3vw,34px) 0 0;}

/* ---- 4. retained policy content -------------------------------------- */
.lt-h2{margin:0 0 clamp(14px,2vw,22px);}
.lt-lede{max-width:74ch;font-size:clamp(15px,1.5vw,17px);line-height:1.62;color:#3a3a3a;}
.lt-lede p{margin:0 0 12px;}
.lt-lede p:last-child{margin:0;}
.lt-steps{list-style:none;margin:clamp(24px,4vw,42px) 0 0;padding:0;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line,#DAD7CC);
  border:1px solid var(--line,#DAD7CC);}
.lt-steps li{background:var(--bone,#F4F2EC);padding:clamp(18px,2.4vw,28px);}
.lt-step-n{display:block;font-family:var(--mono,monospace);font-size:11px;font-weight:700;
  letter-spacing:.14em;color:var(--cobalt,#005BFF);margin-bottom:12px;}
.lt-steps h3{margin:0 0 8px;font-family:var(--grot,sans-serif);font-weight:700;
  font-size:clamp(17px,1.8vw,21px);line-height:1.15;letter-spacing:-.015em;}
.lt-steps p{margin:0;font-size:14px;line-height:1.55;color:#4a4a46;}
.lt-more{margin:22px 0 0;font-size:15px;line-height:1.6;color:#4a4a46;}
.lt-more a{color:var(--cobalt,#005BFF);font-weight:600;text-decoration:none;}
.lt-more a:hover{text-decoration:underline;}

/* ---- unavailable state ----------------------------------------------- */
.gn2lt-down .lt-hero-grid,.gn2lt-down .lt-rows{opacity:.35;}

/* ---- responsive ------------------------------------------------------ */
@media (max-width:1024px){
  .lt-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:768px){
  .lt-hero-grid{grid-template-columns:minmax(0,1fr);gap:clamp(20px,5vw,32px);}
  .lt-arrow{display:none;}
  .lt-big{font-size:clamp(38px,11vw,72px);}
  .lt-row{grid-template-columns:minmax(0,1fr);gap:6px;}
  .lt-row-v{text-align:left;}
  .lt-date{font-size:clamp(24px,7.2vw,44px);}
  .lt-def dd{text-align:left;width:100%;}
}
@media (max-width:390px){
  .lt-big{font-size:clamp(30px,10.5vw,44px);}
  .lt-date{font-size:clamp(21px,7vw,30px);}
  .lt-rule-h{font-size:clamp(31px,10vw,44px);}
  .lt-steps{grid-template-columns:minmax(0,1fr);}
}

/* ---- reduced motion --------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .lt-row,.lt-def,.lt-big,.lt-date{transition:none !important;animation:none !important;}
  /* The shared accordion animates max-height; open/close instantly instead. */
  .gn2-lt-policy .faq-a{transition:none !important;}
  /* Belt and braces over the foundation's own reduced-motion rule: the live
     values must be readable the instant they arrive, never faded in. */
  .gn2-lt-policy [data-reveal]{opacity:1 !important;transform:none !important;transition:none !important;}
}
