/* ============================================================
   DISCLOSURE UNDER REGULATION 46 — UNIQUE DESIGN SYSTEM
   "Emerald Ledger" concept: a horizontal, pill-tab command bar
   in a single green-gradient palette drives a governance record;
   each committee is a ledger card with a gradient chairman seal.
   Built on top of the existing Techfruits tokens (style.css).
   ============================================================ */

:root{
  --reg46-ink:      var(--tf-black, #0A0A0A);
  --reg46-grey:     var(--tf-grey, #888888);
  --reg46-line:     rgba(4,61,46,.10);
  --reg46-line-2:   rgba(4,61,46,.06);

  /* single-hue emerald gradient family — the ONLY accent used on this page */
  --reg46-green:       #10B981;
  --reg46-green-mid:   #059669;
  --reg46-green-dark:  #047857;
  --reg46-green-deep:  #043D2E;
  --reg46-green-glow:  rgba(16,185,129,.16);
  --reg46-green-glow-2:rgba(16,185,129,.32);
  --reg46-gradient:    linear-gradient(120deg, var(--reg46-green-mid), var(--reg46-green));
  --reg46-gradient-2:  linear-gradient(120deg, var(--reg46-green), var(--reg46-green-dark), var(--reg46-green-mid), var(--reg46-green));

  --reg46-paper:    #FFFFFF;
  --reg46-surface:  #F3FBF8;
  --reg46-radius:   18px;
  --reg46-radius-sm:10px;
  --reg46-mono:     'JetBrains Mono', 'SFMono-Regular', Menlo, Consolas, monospace;
  --reg46-ease:     cubic-bezier(.22,.8,.28,1);
}

/* ============================================================
   REVEAL-ON-SCROLL (local, staggered via --reg46-delay)
   ============================================================ */
.reg46-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s var(--reg46-ease), transform .7s var(--reg46-ease);
  transition-delay:var(--reg46-delay, 0s);
}
.reg46-reveal.is-visible{
  opacity:1;
  transform:none;
  text-align: center;
}

/* ============================================================
   1. INTRO SECTION
   ============================================================ */
.reg46-intro{
  position:relative;
  padding:60px 0 10px;
  overflow:hidden;
  isolation:isolate;
}

.reg46-intro__blob{
  position:absolute;
  border-radius:50%;
  filter:blur(6px);
  z-index:-1;
  animation:reg46-drift 11s ease-in-out infinite;
}

.reg46-intro__blob--1{
  width:360px; height:360px;
  top:-180px; left:-80px;
  background:radial-gradient(circle, var(--reg46-green-glow) 0%, transparent 72%);
}

.reg46-intro__blob--2{
  width:260px; height:260px;
  bottom:-140px; right:4%;
  background:radial-gradient(circle, var(--reg46-green-glow) 0%, transparent 72%);
  animation-delay:-4s;
}

@keyframes reg46-drift{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-16px) scale(1.05); }
}

.reg46-intro__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--reg46-mono);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--reg46-green-dark);
  margin-bottom:16px;
}

.reg46-intro__eyebrow-dot{
  width:7px; height:7px;
  border-radius:50%;
  background:var(--reg46-gradient);
  box-shadow:0 0 0 4px var(--reg46-green-glow);
  animation:reg46-blink 1.8s ease-in-out infinite;
}

.reg46-intro__title{
  font-size:clamp(1.55rem, 2.6vw, 2.15rem);
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--reg46-ink);
  margin:0 0 14px;
  line-height:1.28;
}

.reg46-intro__text{
  font-size:1.02rem;
  color:var(--reg46-grey);
  margin:0;
  line-height:1.7;
}

/* ============================================================
   2. TABS SECTION SHELL — horizontal command-bar layout
   ============================================================ */
.reg46-tabs-section{
  position:relative;
  padding:8px 0 60px;
  overflow:hidden;
}

.reg46-dossier{
  display:flex;
  flex-direction:column;
  gap:28px;
}

/* ============================================================
   3. HORIZONTAL TAB BAR (Filed Index command strip)
   ============================================================ */
.reg46-dossier__rail{
  position:sticky;
  top:90px;
  z-index:5;
  background:var(--reg46-paper);
  border:1px solid var(--reg46-line);
  border-radius:var(--reg46-radius);
  padding:16px 18px;
  box-shadow:0 18px 44px rgba(4,61,46,.08);
}

.reg46-rail__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:12px;
  margin-bottom:14px;
  border-bottom:1px dashed var(--reg46-line);
}

.reg46-rail__head-label{
  font-family:var(--reg46-mono);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--reg46-grey);
}

.reg46-rail__head-label::before{
  content:"";
  display:inline-block;
  width:6px; height:6px;
  border-radius:50%;
  margin-right:8px;
  background:var(--reg46-gradient);
  vertical-align:middle;
}

.reg46-rail__head-count{
  font-family:var(--reg46-mono);
  font-size:.68rem;
  font-weight:700;
  color:#fff;
  background:var(--reg46-gradient);
  padding:3px 10px;
  border-radius:999px;
  letter-spacing:.04em;
}

/* horizontal, wrapping tab track */
.reg46-rail__track{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:10px;
  position:relative;
}

.reg46-rail__btn{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:12px;
  flex:1 1 auto;
  min-width:min(230px, 100%);
  padding:13px 16px;
  border:1.5px solid var(--reg46-line);
  border-radius:14px;
  background:var(--reg46-surface);
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:background .4s var(--reg46-ease), border-color .4s var(--reg46-ease),
             transform .35s var(--reg46-ease), box-shadow .4s var(--reg46-ease);
}

/* diagonal shimmer sweep on hover */
.reg46-rail__btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(115deg, transparent 30%, var(--reg46-green-glow) 50%, transparent 70%);
  background-size:220% 100%;
  background-position:150% 0;
  opacity:0;
  transition:opacity .4s ease;
}

.reg46-rail__btn:hover::before{
  opacity:1;
  animation:reg46-sweep 1.1s ease forwards;
}

@keyframes reg46-sweep{
  from{ background-position:150% 0; }
  to{ background-position:-50% 0; }
}

/* animated underline that grows from the center on hover */
.reg46-rail__btn::after{
  content:"";
  position:absolute;
  left:50%; bottom:0;
  width:0; height:2.5px;
  background:var(--reg46-gradient);
  transform:translateX(-50%);
  transition:width .4s var(--reg46-ease);
  border-radius:2px 2px 0 0;
}

.reg46-rail__btn:hover::after{ width:60%; }

.reg46-rail__btn-index{
  flex:0 0 auto;
  width:28px; height:28px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--reg46-mono);
  font-size:.72rem;
  font-weight:700;
  color:var(--reg46-green-dark);
  background:#fff;
  border:1px solid var(--reg46-line);
  border-radius:50%;
  transition:all .4s var(--reg46-ease);
}

.reg46-rail__btn-body{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

.reg46-rail__btn-icon{
  flex:0 0 auto;
  font-size:.82rem;
  color:var(--reg46-grey);
  transition:color .35s var(--reg46-ease), transform .45s var(--reg46-ease);
}

.reg46-rail__btn-label{
  font-size:.87rem;
  font-weight:600;
  color:var(--reg46-ink);
  line-height:1.3;
  white-space:normal;
  transition:color .35s var(--reg46-ease);
}

.reg46-rail__btn:hover{
  border-color:rgba(16,185,129,.30);
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(4,61,46,.10);
}

.reg46-rail__btn:hover .reg46-rail__btn-icon{
  color:var(--reg46-green-mid);
  transform:scale(1.14) rotate(-6deg);
}

.reg46-rail__btn:hover .reg46-rail__btn-index{
  border-color:var(--reg46-green);
  color:var(--reg46-green-mid);
}

/* active tab — full gradient fill with a slow ambient shimmer */
.reg46-rail__btn.is-active{
  background:var(--reg46-gradient-2);
  background-size:300% 300%;
  animation:reg46-gradient-flow 6s ease infinite;
  border-color:transparent;
  box-shadow:0 16px 32px var(--reg46-green-glow-2);
  transform:translateY(-2px);
}

@keyframes reg46-gradient-flow{
  0%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
  100%{ background-position:0% 50%; }
}

.reg46-rail__btn.is-active::after{
  width:70%;
  background:rgba(255,255,255,.85);
}

.reg46-rail__btn.is-active .reg46-rail__btn-index{
  background:#fff;
  border-color:#fff;
  color:var(--reg46-green-dark);
}

.reg46-rail__btn.is-active .reg46-rail__btn-icon{
  color:#fff;
}

.reg46-rail__btn.is-active .reg46-rail__btn-label{
  color:#fff;
}

.reg46-rail__btn:focus-visible{
  outline:2px solid var(--reg46-green);
  outline-offset:2px;
}

/* ripple (kept for the click micro-interaction) */
.reg46-ripple{
  position:absolute;
  width:10px; height:10px;
  background:#fff;
  opacity:.35;
  border-radius:50%;
  transform:translate(-50%,-50%);
  animation:reg46-ripple .65s ease-out;
  pointer-events:none;
}

@keyframes reg46-ripple{
  from{ opacity:.45; transform:translate(-50%,-50%) scale(0); }
  to{ opacity:0; transform:translate(-50%,-50%) scale(22); }
}

/* ============================================================
   4. CONTENT COLUMN + PANELS
   ============================================================ */
.reg46-dossier__content{
  min-width:0;
}

.reg46-panel{
  display:none;
  opacity:0;
  transform:translateY(24px);
}

.reg46-panel.is-active{
  display:block;
  animation:reg46-panel-in .55s var(--reg46-ease) forwards;
}

@keyframes reg46-panel-in{
  from{ opacity:0; transform:translateY(24px); }
  to{ opacity:1; transform:none; }
}

.reg46-panel-head{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-bottom:18px;
  margin-bottom:26px;
  border-bottom:1px solid var(--reg46-line);
  position:relative;
}

.reg46-panel-head::after{
  content:"";
  position:absolute;
  left:0; bottom:-1px;
  width:56px; height:2.5px;
  background:var(--reg46-gradient);
  animation:reg46-underline .8s var(--reg46-ease) .15s both;
}

@keyframes reg46-underline{
  from{ width:0; }
  to{ width:56px; }
}

.reg46-panel-head__eyebrow{
  font-family:var(--reg46-mono);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--reg46-green-dark);
}

.reg46-panel-head__title{
  font-size:clamp(1.2rem, 2vw, 1.5rem);
  font-weight:800;
  color:var(--reg46-ink);
  margin:0;
}

/* ============================================================
   5. COMMITTEE CARDS (ledger records)
   ============================================================ */
.reg46-card-grid{ margin:0 -12px; }
.reg46-card-grid > [class*="col-"]{ padding:0 12px; margin-bottom:24px; }

.reg46-card{
  position:relative;
  height:100%;
  background:var(--reg46-paper);
  border:1px solid var(--reg46-line);
  border-radius:var(--reg46-radius);
  padding:22px 22px 8px;
  transition:box-shadow .5s var(--reg46-ease), border-color .5s var(--reg46-ease);
  transform-style:preserve-3d;
  will-change:transform;
}

.reg46-card__glow{
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:radial-gradient(500px circle at 50% 0%, var(--reg46-green-glow), transparent 60%);
  opacity:0;
  transition:opacity .5s var(--reg46-ease);
  pointer-events:none;
  z-index:0;
}

.reg46-card:hover{
  border-color:rgba(16,185,129,.28);
  box-shadow:0 26px 54px rgba(4,61,46,.12);
}

.reg46-card:hover .reg46-card__glow{ opacity:1; }

.reg46-card__head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:16px;
  margin-bottom:14px;
  border-bottom:1px dashed var(--reg46-line);
}

.reg46-card__num{
  flex:0 0 auto;
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--reg46-mono);
  font-size:.85rem;
  font-weight:700;
  color:var(--reg46-green-dark);
  background:var(--reg46-surface);
  border:1px solid var(--reg46-line);
  border-radius:9px;
  transition:transform .4s var(--reg46-ease), background .4s var(--reg46-ease), color .4s var(--reg46-ease);
}

.reg46-card:hover .reg46-card__num{
  background:var(--reg46-gradient);
  color:#fff;
  border-color:transparent;
  transform:rotate(-6deg);
}

.reg46-card__head h3{
  font-size:1.02rem;
  font-weight:700;
  color:var(--reg46-ink);
  margin:0;
  line-height:1.35;
}

.reg46-card__table-wrap{
  position:relative;
  z-index:1;
  overflow-x:auto;
  scrollbar-width:thin;
}

.reg46-table{
  width:100%;
  border-collapse:collapse;
  font-size:.86rem;
}

.reg46-table thead th{
  text-align:left;
  font-family:var(--reg46-mono);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--reg46-grey);
  padding:0 10px 10px;
  white-space:nowrap;
}

.reg46-table tbody tr{
  border-top:1px solid var(--reg46-line-2);
  transition:background .3s var(--reg46-ease);
}

.reg46-table tbody tr:hover{
  background:var(--reg46-surface);
}

.reg46-table tbody td{
  padding:11px 10px;
  color:var(--reg46-ink);
  vertical-align:middle;
}

.reg46-table tbody td:nth-child(2){
  color:var(--reg46-grey);
}

/* ---- role tags + gradient chairman seal (signature element) ---- */
.reg46-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 12px;
  font-size:.74rem;
  font-weight:600;
  color:var(--reg46-grey);
  background:var(--reg46-surface);
  border:1px solid var(--reg46-line);
  border-radius:999px;
  white-space:nowrap;
}

.reg46-tag--chair{
  position:relative;
  color:#fff;
  background:var(--reg46-gradient);
  border-color:transparent;
  box-shadow:0 4px 12px var(--reg46-green-glow);
  transition:transform .4s var(--reg46-ease), box-shadow .4s var(--reg46-ease);
}

.reg46-tag--chair i{
  font-size:.7rem;
  transition:transform .4s var(--reg46-ease);
}

tr:hover .reg46-tag--chair{
  transform:rotate(-4deg) scale(1.05);
  box-shadow:0 8px 18px var(--reg46-green-glow-2);
}

tr:hover .reg46-tag--chair i{
  transform:rotate(12deg);
}

.reg46-tag--external{
  color:var(--reg46-green-dark);
  background:var(--reg46-green-glow);
  border-color:rgba(16,185,129,.30);
}

/* ============================================================
   6. EMPTY-STATE PANELS ("pending filing" placeholder)
   ============================================================ */
.reg46-empty{
  position:relative;
  text-align:center;
  padding:74px 32px;
  border:1.5px dashed var(--reg46-line);
  border-radius:var(--reg46-radius);
  background:
    repeating-linear-gradient(135deg, var(--reg46-surface) 0 12px, var(--reg46-paper) 12px 24px);
}

.reg46-empty__icon{
  width:64px; height:64px;
  margin:0 auto 22px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--reg46-paper);
  border:1px solid var(--reg46-line);
  color:var(--reg46-green-dark);
  font-size:1.3rem;
  position:relative;
}

.reg46-empty__icon::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px dashed var(--reg46-green);
  animation:reg46-pulse-ring 2.6s ease-in-out infinite;
}

@keyframes reg46-pulse-ring{
  0%,100%{ transform:scale(1); opacity:.6; }
  50%{ transform:scale(1.12); opacity:1; }
}

.reg46-empty h3{
  font-size:1.15rem;
  font-weight:800;
  color:var(--reg46-ink);
  margin-bottom:8px;
}

.reg46-empty p{
  color:var(--reg46-grey);
  max-width:40ch;
  margin:0 auto 20px;
  font-size:.94rem;
}

.reg46-empty__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--reg46-mono);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--reg46-green-dark);
  background:var(--reg46-paper);
  border:1px solid var(--reg46-line);
  padding:7px 16px;
  border-radius:999px;
}

.reg46-empty__badge .dot{
  width:6px; height:6px;
  border-radius:50%;
  background:var(--reg46-gradient);
  animation:reg46-blink 1.6s ease-in-out infinite;
}

@keyframes reg46-blink{
  0%,100%{ opacity:1; }
  50%{ opacity:.25; }
}

/* ============================================================
   7. RESPONSIVE
   ============================================================ */
@media (max-width:991px){
  .reg46-dossier__rail{
    position:relative;
    top:auto;
  }
}

@media (max-width:768px){
  .reg46-intro{ padding:44px 0 30px; }

  .reg46-dossier__rail{ padding:12px; }

  .reg46-rail__track{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:2px;
    gap:8px;
  }

  .reg46-rail__track::-webkit-scrollbar{ display:none; }

  .reg46-rail__btn{
    flex:0 0 auto;
    min-width:auto;
    width:auto;
  }

  .reg46-rail__btn-label{ white-space:nowrap; }

  .reg46-card{ padding:18px 18px 6px; }

  .reg46-table{ font-size:.8rem; }

  .reg46-empty{ padding:54px 20px; }
}

@media (max-width:576px){
  .reg46-rail__btn-icon{ display:none; }
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion:reduce){
  .reg46-reveal,
  .reg46-panel,
  .reg46-card,
  .reg46-card__num,
  .reg46-rail__btn,
  .reg46-rail__btn.is-active,
  .reg46-tag--chair,
  .reg46-intro__blob,
  .reg46-intro__eyebrow-dot,
  .reg46-empty__icon::before,
  .reg46-empty__badge .dot{
    animation:none !important;
    transition:none !important;
  }
  .reg46-reveal{ opacity:1; transform:none; }
}
