/* ==========================================================================
   ThaDigital Enterprise - marketing page components
   ========================================================================== */

/* ---------- Hero ---------------------------------------------------------- */

.hero{
  position:relative;
  padding-top:calc(var(--header-h) + clamp(56px,9vw,110px));
  padding-bottom:clamp(60px,9vw,110px);
  background:
    radial-gradient(ellipse 120% 90% at 18% -10%,rgba(226,163,60,.13),transparent 55%),
    radial-gradient(ellipse 90% 70% at 90% 8%,rgba(60,127,177,.10),transparent 60%),
    var(--ink-850);
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(34px,5vw,64px);
  align-items:center;
}
@media (max-width:980px){.hero-grid{grid-template-columns:minmax(0,1fr);}}

.hero h1{margin-bottom:24px;}
.hero h1 .glow{
  background:linear-gradient(96deg,var(--amber-bright),var(--amber) 45%,#E8CB94);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--amber);
}
.hero .lede{margin-bottom:32px;font-size:clamp(1.04rem,1.7vw,1.24rem);}

.hero-proof{
  display:flex;flex-wrap:wrap;gap:10px 26px;
  margin-top:34px;padding-top:26px;
  border-top:1px solid var(--line-dark);
  font-size:.855rem;color:var(--tx-on-dark-faint);
}
.hero-proof span{display:inline-flex;align-items:center;gap:8px;}
.hero-proof span::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--amber);flex:none;
}

/* ---------- Live terminal mock (hero right) ------------------------------- */

.mock{
  border:1px solid var(--line-dark-strong);
  border-radius:var(--r-xl);
  background:linear-gradient(180deg,var(--ink-750),var(--ink-800));
  box-shadow:var(--shadow-dark);
  overflow:hidden;
}
.mock-bar{
  display:flex;align-items:center;gap:9px;
  padding:11px 15px;
  background:rgba(255,255,255,.03);
  border-bottom:1px solid var(--line-dark);
}
.mock-dot{width:9px;height:9px;border-radius:50%;background:var(--ink-500);flex:none;}
.mock-dot:first-child{background:#E05A50;}
.mock-dot:nth-child(2){background:#E0A93C;}
.mock-dot:nth-child(3){background:#4FB16B;}
.mock-title{
  margin-left:8px;font-family:var(--font-mono);font-size:.7rem;
  color:var(--tx-on-dark-soft);letter-spacing:.05em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mock-body{padding:18px;}

.mock-line{
  display:flex;align-items:baseline;gap:10px;
  font-family:var(--font-mono);font-size:.775rem;line-height:2;
  color:var(--tx-on-dark-soft);
}
.mock-line .k{color:var(--tx-on-dark-faint);flex:none;width:15ch;}
.mock-line .v{color:var(--tx-on-dark);}
.mock-line .v.ok{color:#5FCB84;}
.mock-line .v.am{color:var(--amber);}

.mock-rows{border-top:1px solid var(--line-dark);margin-top:14px;padding-top:14px;}
.mock-row{
  display:grid;grid-template-columns:1fr auto auto;gap:12px;
  padding:8px 0;font-size:.8rem;
  border-bottom:1px solid rgba(255,255,255,.045);
}
.mock-row:last-child{border-bottom:none;}
.mock-row .nm{color:var(--tx-on-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mock-row .qt,.mock-row .am2{font-family:var(--font-mono);font-size:.76rem;color:var(--tx-on-dark-soft);}
.mock-total{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-dark-strong);
}
.mock-total .lbl{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  font-family:var(--font-mono);color:var(--tx-on-dark-faint);}
.mock-total .val{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--amber);}

/* ---------- Marquee of capabilities --------------------------------------- */

.marquee{
  border-block:1px solid var(--line-dark);
  background:var(--ink-900);
  padding-block:15px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{
  display:flex;gap:0;width:max-content;
  animation:slide 46s linear infinite;
}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee-item{
  display:inline-flex;align-items:center;gap:11px;
  padding-inline:26px;
  font-family:var(--font-mono);font-size:.755rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--tx-on-dark-faint);white-space:nowrap;
}
.marquee-item::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--amber);opacity:.5;}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;}}

/* ---------- Stat strip ----------------------------------------------------- */

.stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line-dark);border-radius:var(--r-lg);
  overflow:hidden;background:var(--ink-800);
}
@media (max-width:820px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
.stat{padding:26px 24px;border-right:1px solid var(--line-dark);}
.stat:last-child{border-right:none;}
@media (max-width:820px){
  .stat:nth-child(2n){border-right:none;}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line-dark);}
}
.stat .n{
  font-family:var(--font-display);font-size:clamp(1.75rem,3.2vw,2.35rem);
  font-weight:600;color:var(--amber);line-height:1;letter-spacing:-.03em;
}
.stat .l{margin-top:11px;font-size:.845rem;color:var(--tx-on-dark-soft);line-height:1.5;}

/* ---------- Capability cards ---------------------------------------------- */

.cap{position:relative;overflow:hidden;}
.cap h3{margin-bottom:11px;}
.cap p{font-size:.925rem;line-height:1.66;}
.cap-list{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:9px;}
.cap-list li{
  position:relative;padding-left:19px;font-size:.875rem;
  color:var(--tx-on-dark-soft);line-height:1.55;
}
.band-paper .cap-list li,.band-white .cap-list li,.band-paper-alt .cap-list li{color:var(--tx-on-light-soft);}
.cap-list li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:7px;height:1.5px;background:var(--amber);
}

/* ---------- Feature matrix (dense module grid) ----------------------------- */

.matrix{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));
  gap:1px;background:var(--line-light);
  border:1px solid var(--line-light);border-radius:var(--r-lg);overflow:hidden;
}
.band-dark .matrix,.band-panel .matrix,.band-darker .matrix{background:var(--line-dark);border-color:var(--line-dark);}
.mx{
  background:var(--paper-000);padding:20px 19px;
  transition:background-color .18s var(--ease);
}
.band-dark .mx,.band-panel .mx,.band-darker .mx{background:var(--ink-800);}
.mx:hover{background:var(--paper-050);}
.band-dark .mx:hover,.band-panel .mx:hover,.band-darker .mx:hover{background:var(--ink-750);}
.mx .code{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;
  color:var(--amber-deep);display:block;margin-bottom:9px;
}
.band-dark .mx .code,.band-panel .mx .code,.band-darker .mx .code{color:var(--amber);}
.mx h4,.mx .card-h{font-size:.945rem;margin-bottom:6px;font-family:var(--font-body);font-weight:600;letter-spacing:-.008em;}
.mx p{font-size:.815rem;line-height:1.55;color:var(--tx-on-light-soft);}
.band-dark .mx p,.band-panel .mx p,.band-darker .mx p{color:var(--tx-on-dark-soft);}

/* ---------- Demo cards ----------------------------------------------------- */

.demo-card{
  display:flex;flex-direction:column;
  border:1px solid var(--line-dark);border-radius:var(--r-lg);
  background:var(--ink-800);overflow:hidden;
  transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);
}
.demo-card:hover{border-color:var(--amber-line);transform:translateY(-3px);box-shadow:var(--shadow-dark);}
.demo-card-visual{
  aspect-ratio:16/10;position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--ink-700),var(--ink-850));
  border-bottom:1px solid var(--line-dark);
  display:flex;align-items:center;justify-content:center;
}
.demo-card-visual::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:26px 26px;
}
.demo-card-body{padding:24px;display:flex;flex-direction:column;flex:1;gap:12px;}
.demo-card-body h3{font-size:1.2rem;}
.demo-card-body p{font-size:.9rem;color:var(--tx-on-dark-soft);line-height:1.62;flex:1;}
.demo-card-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-top:14px;margin-top:2px;border-top:1px solid var(--line-dark);
}

.demo-badge{
  position:absolute;top:14px;left:14px;z-index:2;
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 11px;border-radius:100px;
  background:rgba(11,12,14,.7);backdrop-filter:blur(6px);
  border:1px solid var(--amber-line);
  font-family:var(--font-mono);font-size:.63rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--amber);
}
.demo-badge .pulse{
  width:6px;height:6px;border-radius:50%;background:var(--amber);
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.28;}}

/* ---------- Process / timeline --------------------------------------------- */

.steps{counter-reset:step;display:grid;gap:1px;background:var(--line-light);
  border:1px solid var(--line-light);border-radius:var(--r-lg);overflow:hidden;}
.band-dark .steps,.band-panel .steps{background:var(--line-dark);border-color:var(--line-dark);}
.step{
  counter-increment:step;
  background:var(--paper-000);padding:clamp(22px,3vw,32px);
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start;
}
.band-dark .step,.band-panel .step{background:var(--ink-800);}
.step::before{
  content:counter(step,decimal-leading-zero);
  font-family:var(--font-mono);font-size:.82rem;font-weight:500;
  color:var(--amber-deep);letter-spacing:.06em;
  padding-top:3px;
}
.band-dark .step::before,.band-panel .step::before{color:var(--amber);}
.step h3{font-size:1.1rem;margin-bottom:9px;}
.step p{font-size:.91rem;line-height:1.66;color:var(--tx-on-light-soft);}
.band-dark .step p,.band-panel .step p{color:var(--tx-on-dark-soft);}
@media (max-width:560px){.step{gap:14px;}}

/* ---------- Case study cards ----------------------------------------------- */

.case{
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(24px,4vw,54px);align-items:center;
  padding-block:clamp(34px,5vw,58px);
  border-bottom:1px solid var(--line-light);
}
.band-dark .case,.band-panel .case{border-bottom-color:var(--line-dark);}
.case:last-child{border-bottom:none;}
@media (max-width:880px){.case{grid-template-columns:minmax(0,1fr);}}
.case-sector{
  font-family:var(--font-mono);font-size:.685rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--amber-deep);margin-bottom:14px;display:block;
}
.band-dark .case-sector,.band-panel .case-sector{color:var(--amber);}
.case h3{font-size:clamp(1.3rem,2.4vw,1.75rem);margin-bottom:16px;}
.case-outcomes{list-style:none;display:grid;gap:12px;margin-top:22px;}
.case-outcomes li{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;
  font-size:.9rem;line-height:1.6;
}
.case-outcomes li svg{width:17px;height:17px;color:var(--good);margin-top:3px;flex:none;}

.case-panel{
  border:1px solid var(--line-light);border-radius:var(--r-lg);
  background:var(--paper-000);padding:24px;box-shadow:var(--shadow-sm);
}
.band-dark .case-panel,.band-panel .case-panel{background:var(--ink-800);border-color:var(--line-dark);box-shadow:none;}
.case-panel h4,.case-panel .card-h{
  font-family:var(--font-mono);font-size:.67rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--tx-on-light-faint);margin-bottom:16px;
}
.band-dark .case-panel h4,.band-panel .case-panel h4{color:var(--tx-on-dark-faint);}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;font-size:.875rem;}
.kv dt{color:var(--tx-on-light-faint);font-family:var(--font-mono);font-size:.76rem;padding-top:2px;}
.kv dd{margin:0;color:var(--tx-on-light);}
.band-dark .kv dt,.band-panel .kv dt{color:var(--tx-on-dark-faint);}
.band-dark .kv dd,.band-panel .kv dd{color:var(--tx-on-dark);}

/* ---------- Accordion (FAQ) ------------------------------------------------ */

.acc{border-top:1px solid var(--line-light);}
.band-dark .acc,.band-panel .acc{border-top-color:var(--line-dark);}
.acc-item{border-bottom:1px solid var(--line-light);}
.band-dark .acc-item,.band-panel .acc-item{border-bottom-color:var(--line-dark);}
.acc-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 4px;text-align:left;
  font-family:var(--font-display);font-size:1.03rem;font-weight:600;
  letter-spacing:-.015em;color:inherit;
}
.acc-q .chev{
  width:20px;height:20px;flex:none;color:var(--amber-deep);
  transition:transform .25s var(--ease);
}
.band-dark .acc-q .chev,.band-panel .acc-q .chev{color:var(--amber);}
.acc-item.is-open .acc-q .chev{transform:rotate(45deg);}
.acc-a{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .3s var(--ease);
}
.acc-item.is-open .acc-a{grid-template-rows:1fr;}
.acc-a>div{overflow:hidden;}
.acc-a p{
  padding:0 4px 24px;max-width:74ch;font-size:.935rem;line-height:1.7;
  color:var(--tx-on-light-soft);
}
.band-dark .acc-a p,.band-panel .acc-a p{color:var(--tx-on-dark-soft);}

/* ---------- Forms ---------------------------------------------------------- */

.field{display:flex;flex-direction:column;gap:8px;}
.field label{
  font-size:.83rem;font-weight:600;letter-spacing:.005em;
  color:var(--tx-on-dark-soft);
}
.band-paper .field label,.band-white .field label,.band-paper-alt .field label{color:var(--tx-on-light-soft);}
.field label .req{color:var(--amber);margin-left:3px;}

.input,.select,.textarea{
  width:100%;
  padding:12px 14px;
  background:var(--ink-750);
  border:1px solid var(--line-dark-strong);
  border-radius:var(--r);
  color:var(--tx-on-dark);
  font-size:.94rem;
  transition:border-color .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease);
}
.band-paper .input,.band-white .input,.band-paper-alt .input,
.band-paper .select,.band-white .select,.band-paper-alt .select,
.band-paper .textarea,.band-white .textarea,.band-paper-alt .textarea{
  background:var(--paper-000);border-color:var(--line-light-strong);color:var(--tx-on-light);
}
.input::placeholder,.textarea::placeholder{color:var(--tx-on-dark-faint);}
.band-paper .input::placeholder,.band-white .input::placeholder,
.band-paper .textarea::placeholder,.band-white .textarea::placeholder{color:var(--tx-on-light-faint);}
.input:focus,.select:focus,.textarea:focus{
  outline:none;border-color:var(--amber);
  box-shadow:0 0 0 3px var(--amber-wash);
}
.textarea{min-height:132px;resize:vertical;line-height:1.6;}
.select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888f99' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px;
  padding-right:38px;
}
.field-error{font-size:.8rem;color:#E8776D;display:none;}
.field.has-error .input,.field.has-error .select,.field.has-error .textarea{border-color:#C6453C;}
.field.has-error .field-error{display:block;}

.chip-group{display:flex;flex-wrap:wrap;gap:9px;}
.chip{
  position:relative;
  padding:9px 15px;border-radius:100px;
  border:1px solid var(--line-dark-strong);
  font-size:.855rem;color:var(--tx-on-dark-soft);
  cursor:pointer;user-select:none;
  transition:all .16s var(--ease);
}
.band-paper .chip,.band-white .chip,.band-paper-alt .chip{
  border-color:var(--line-light-strong);color:var(--tx-on-light-soft);background:var(--paper-000);
}
.chip input{position:absolute;opacity:0;width:0;height:0;}
.chip:hover{border-color:var(--amber-line);color:var(--amber);}
.chip:has(input:checked){
  background:var(--amber);border-color:var(--amber);color:#0B0C0E;font-weight:600;
}
.chip:has(input:focus-visible){outline:2px solid var(--amber);outline-offset:2px;}

.form-note{
  font-size:.815rem;color:var(--tx-on-dark-faint);line-height:1.6;
}
.band-paper .form-note,.band-white .form-note,.band-paper-alt .form-note{color:var(--tx-on-light-faint);}

.form-status{
  padding:14px 16px;border-radius:var(--r);font-size:.89rem;line-height:1.55;
  display:none;
}
.form-status.is-shown{display:block;}
.form-status.ok{background:rgba(61,163,93,.12);border:1px solid rgba(61,163,93,.4);color:#7FD79A;}
.form-status.err{background:rgba(198,69,60,.12);border:1px solid rgba(198,69,60,.4);color:#E8938C;}
.band-paper .form-status.ok,.band-white .form-status.ok{background:var(--good-soft);color:#256B3C;border-color:#A9D6B8;}
.band-paper .form-status.err,.band-white .form-status.err{background:var(--bad-soft);color:#8E2820;border-color:#E0AEA9;}

/* ---------- Contact cards -------------------------------------------------- */

.contact-tile{
  display:flex;gap:16px;align-items:flex-start;
  padding:20px;border:1px solid var(--line-dark);border-radius:var(--r-lg);
  background:var(--ink-800);
  transition:border-color .18s var(--ease),background-color .18s var(--ease);
}
.contact-tile:hover{border-color:var(--amber-line);background:var(--ink-750);}
.band-paper .contact-tile,.band-white .contact-tile,.band-paper-alt .contact-tile{
  background:var(--paper-000);border-color:var(--line-light);
}
.contact-tile .iplate{margin-bottom:0;width:38px;height:38px;}
.contact-tile h4,.contact-tile .card-h{font-size:.94rem;margin-bottom:3px;}
.contact-tile .val{
  font-family:var(--font-mono);font-size:.87rem;color:var(--amber);word-break:break-word;
}
.band-paper .contact-tile .val,.band-white .contact-tile .val{color:var(--amber-deep);}
.contact-tile .sub{font-size:.79rem;color:var(--tx-on-dark-faint);margin-top:5px;}
.band-paper .contact-tile .sub,.band-white .contact-tile .sub{color:var(--tx-on-light-faint);}

/* ---------- CTA band ------------------------------------------------------- */

.cta-band{
  position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 90% 120% at 12% 0%,rgba(226,163,60,.16),transparent 58%),
    var(--ink-900);
  border-top:1px solid var(--line-dark);
}
.cta-inner{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:clamp(26px,4vw,54px);align-items:center;
}
@media (max-width:860px){.cta-inner{grid-template-columns:minmax(0,1fr);}}

/* ---------- Page hero (interior pages) ------------------------------------- */

.page-hero{
  padding-top:calc(var(--header-h) + clamp(46px,7vw,84px));
  padding-bottom:clamp(38px,5.5vw,64px);
  background:
    radial-gradient(ellipse 110% 100% at 20% -20%,rgba(226,163,60,.11),transparent 58%),
    var(--ink-850);
  border-bottom:1px solid var(--line-dark);
}
.page-hero h1{font-size:clamp(1.95rem,4.4vw,3.15rem);margin-bottom:20px;}
.crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.07em;
  color:var(--tx-on-dark-faint);margin-bottom:22px;
}
.crumbs a{transition:color .18s var(--ease);}
.crumbs a:hover{color:var(--amber);}
.crumbs .sep{opacity:.5;}

/* ---------- Prose (legal pages) -------------------------------------------- */

.prose{max-width:76ch;font-size:.975rem;line-height:1.78;color:var(--tx-on-dark-soft);}
.prose h2{
  font-size:1.42rem;margin-top:52px;margin-bottom:16px;
  color:var(--tx-on-dark);scroll-margin-top:calc(var(--header-h) + 20px);
}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.09rem;margin-top:32px;margin-bottom:11px;color:var(--tx-on-dark);}
.prose p{margin-bottom:17px;}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px;display:flex;flex-direction:column;gap:9px;}
.prose li{padding-left:4px;}
.prose li::marker{color:var(--amber);}
.prose strong{color:var(--tx-on-dark);font-weight:600;}
.prose a{color:var(--amber);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--amber-line);}
.prose a:hover{text-decoration-color:var(--amber);}
.prose table{margin-bottom:22px;font-size:.9rem;}
.prose th,.prose td{
  text-align:left;padding:11px 14px;border:1px solid var(--line-dark);vertical-align:top;
}
.prose th{background:var(--ink-800);font-weight:600;color:var(--tx-on-dark);}
.prose blockquote{
  margin:0 0 22px;padding:16px 20px;
  border-left:2px solid var(--amber);background:var(--ink-800);
  border-radius:0 var(--r) var(--r) 0;
}
.prose blockquote p:last-child{margin-bottom:0;}

.toc{
  position:sticky;top:calc(var(--header-h) + 24px);
  border-left:1px solid var(--line-dark);padding-left:20px;
  display:flex;flex-direction:column;gap:11px;
  font-size:.855rem;
}
.toc a{color:var(--tx-on-dark-faint);transition:color .18s var(--ease);}
.toc a:hover{color:var(--amber);}
.legal-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 236px;
  gap:clamp(30px,5vw,64px);align-items:start;
}
@media (max-width:940px){
  .legal-layout{grid-template-columns:minmax(0,1fr);}
  .toc{display:none;}
}

/* ---------- Misc ----------------------------------------------------------- */

.note-strip{
  display:flex;gap:13px;align-items:flex-start;
  padding:15px 18px;border-radius:var(--r);
  background:var(--amber-wash);border:1px solid var(--amber-line);
  font-size:.86rem;line-height:1.6;color:var(--tx-on-dark-soft);
}
.band-paper .note-strip,.band-white .note-strip,.band-paper-alt .note-strip{color:var(--tx-on-light-soft);}
.note-strip svg{width:18px;height:18px;color:var(--amber);flex:none;margin-top:2px;}
.band-paper .note-strip svg,.band-white .note-strip svg{color:var(--amber-deep);}

.split{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,5vw,64px);align-items:center;
}
@media (max-width:880px){.split{grid-template-columns:minmax(0,1fr);}}

.industry-pill{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;border-radius:var(--r);
  border:1px solid var(--line-light);background:var(--paper-000);
  font-size:.9rem;font-weight:500;
  transition:all .18s var(--ease);
}
.band-dark .industry-pill,.band-panel .industry-pill{
  border-color:var(--line-dark);background:var(--ink-800);
}
.industry-pill:hover{border-color:var(--amber-line);background:var(--amber-wash);}
.industry-pill svg{width:19px;height:19px;color:var(--amber-deep);flex:none;}
.band-dark .industry-pill svg,.band-panel .industry-pill svg{color:var(--amber);}

/* ==========================================================================
   Email chooser
   Desktop Chrome frequently has no mail handler registered, so a bare
   mailto: link silently does nothing. This gives every visitor a route
   that works: the address is copied the moment the sheet opens, and
   webmail compose windows are offered alongside the mail-app link.
   ========================================================================== */

.mailsheet-host{
  position:fixed;inset:0;z-index:300;
  display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(6,7,9,.66);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.mailsheet-host.is-open{display:flex;}

.mailsheet{
  width:100%;max-width:420px;
  background:var(--ink-800);
  border:1px solid var(--line-dark-strong);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-dark);
  overflow:hidden;
  animation:msIn .2s var(--ease);
}
@keyframes msIn{from{opacity:0;transform:translateY(12px) scale(.985);}to{opacity:1;transform:none;}}

.mailsheet-head{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;border-bottom:1px solid var(--line-dark);
}
.mailsheet-head h3{font-size:1.02rem;flex:1;}
.mailsheet-head button{
  width:32px;height:32px;border-radius:var(--r);flex:none;
  display:flex;align-items:center;justify-content:center;
  color:var(--tx-on-dark-faint);border:1px solid var(--line-dark);
}
.mailsheet-head button:hover{color:var(--tx-on-dark);border-color:var(--line-dark-strong);}
.mailsheet-head button svg{width:15px;height:15px;}

.mailsheet-body{padding:18px;}
.mailsheet-addr{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;margin-bottom:6px;
  background:var(--ink-750);border:1px solid var(--line-dark);
  border-radius:var(--r);
  font-family:var(--font-mono);font-size:.86rem;
  color:var(--amber);word-break:break-all;
}
.mailsheet-addr button{
  margin-left:auto;flex:none;
  padding:6px 11px;border-radius:var(--r-sm);
  border:1px solid var(--line-dark-strong);
  font-size:.76rem;font-weight:600;color:var(--tx-on-dark-soft);
  transition:all .16s var(--ease);white-space:nowrap;
}
.mailsheet-addr button:hover{border-color:var(--amber);color:var(--amber);}
.mailsheet-addr button.is-done{background:var(--good);border-color:var(--good);color:#fff;}

.mailsheet-note{
  font-size:.79rem;color:var(--tx-on-dark-faint);
  line-height:1.55;margin-bottom:16px;
}

.mailsheet-opts{display:flex;flex-direction:column;gap:8px;}
.mailsheet-opts a{
  display:flex;align-items:center;gap:11px;
  padding:12px 14px;border-radius:var(--r);
  border:1px solid var(--line-dark);
  font-size:.9rem;font-weight:500;color:var(--tx-on-dark);
  transition:all .16s var(--ease);
}
.mailsheet-opts a:hover{border-color:var(--amber);background:var(--amber-wash);color:var(--amber);}
.mailsheet-opts a svg{width:17px;height:17px;flex:none;opacity:.85;}
.mailsheet-opts a .sub{
  margin-left:auto;font-size:.74rem;color:var(--tx-on-dark-faint);font-weight:400;
}

/* Links inside legal prose. The padding stays smaller than the line box, so
   the hit areas grow to the 24px minimum without ever overlapping the line
   above or below - which would cause mis-taps rather than prevent them. */
@media (max-width:640px), (pointer:coarse){
  .prose{line-height:1.85;}
  .prose li{padding-block:1px;}
  .prose a,
  .form-note a{padding-block:4px;}
  .form-note{line-height:1.75;}
}
