/* Copy Master landing — matches professional Graphite Desk theme */
body.gl-landing-page{
  --cm-ink:#121417;
  --cm-muted:#6b7280;
  --cm-paper:#f5f6f8;
  --cm-line:#e6e8ec;
  --cm-surface:#ffffff;
  background:linear-gradient(180deg, #fafbfc 0%, var(--cm-paper) 45%, #eef0f3 100%);
  color:var(--cm-ink);
}

body.gl-landing-page .gl-app-shell-public,
body.gl-landing-page .gl-app-main{
  background:transparent;
}

body.gl-landing-page .gl-app-topbar-landing{
  position:sticky;
  top:0;
  z-index:30;
  margin:0;
  padding:.9rem clamp(1rem, 3vw, 2.2rem);
  border:0;
  border-radius:0;
  background:rgba(245,246,248,.88);
  backdrop-filter:blur(12px);
  box-shadow:none;
  border-bottom:1px solid var(--cm-line);
}

body.gl-landing-page .gl-app-content-landing{ padding:0; }

.cm-topbar-brand{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:clamp(1.15rem, 2vw, 1.4rem);
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--cm-ink);
  text-decoration:none;
}

.cm-topbar-mark{
  width:2rem;
  height:2rem;
  border-radius:9px;
  display:block;
  flex:0 0 auto;
}

.cm-topbar-brand:hover{ color:var(--cm-ink); opacity:.75; }

.cm-landing{
  font-family:"Public Sans",sans-serif;
  color:var(--cm-ink);
}

.cm-hero{
  position:relative;
  min-height:calc(100svh - 4.4rem);
  display:grid;
  grid-template-rows:minmax(220px, 1fr) auto;
  overflow:hidden;
}

.cm-hero-stage{
  position:relative;
  min-height:240px;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 40%, rgba(18,20,23,.05), transparent 48%),
    linear-gradient(180deg, #fafbfc, transparent);
}

.cm-stage-glow{
  position:absolute;
  left:50%;
  top:18%;
  width:min(70vw, 380px);
  height:min(70vw, 380px);
  border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle, rgba(18,20,23,.06), transparent 68%);
  animation:cm-pulse 5s ease-in-out infinite;
}

.cm-stage-beam{
  position:absolute;
  left:18%;
  right:18%;
  top:48%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, #121417, #6b7280, #121417);
  transform-origin:left center;
  animation:cm-beam 1.3s cubic-bezier(.22,.8,.24,1) .1s both;
}

.cm-stage-beam:after{
  content:"";
  position:absolute;
  inset:-7px 0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent);
  animation:cm-shimmer 2.2s linear infinite;
}

.cm-stage-nodes{
  position:absolute;
  left:14%;
  right:14%;
  top:34%;
  display:flex;
  justify-content:space-between;
}

.cm-stage-node{
  display:grid;
  justify-items:center;
  gap:.45rem;
  animation:cm-rise .75s ease both;
}

.cm-stage-master{ animation-delay:.3s; }
.cm-stage-you{ animation-delay:.5s; }

.cm-stage-node span{
  width:4.4rem;
  height:4.4rem;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-family:"Bricolage Grotesque",sans-serif;
  font-weight:800;
  font-size:1.25rem;
  letter-spacing:-.04em;
  color:#fff;
  background:#121417;
}

.cm-stage-you span{
  background:#2a2f36;
  font-size:.95rem;
}

.cm-stage-node small{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cm-muted);
}

.cm-hero-copy{
  position:relative;
  z-index:1;
  width:min(720px, calc(100% - 2rem));
  margin:0 auto;
  padding:0 0 clamp(2.4rem, 6vh, 3.8rem);
  background:linear-gradient(180deg, rgba(245,246,248,0), rgba(245,246,248,.95) 30%, var(--cm-paper));
}

.cm-brand{
  margin:0 0 .3rem;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:clamp(2.8rem, 9vw, 5.2rem);
  font-weight:800;
  letter-spacing:-.06em;
  line-height:.9;
  animation:cm-rise .7s ease both;
}

.cm-headline{
  margin:0 0 .85rem;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:clamp(1.5rem, 3.2vw, 2.1rem);
  font-weight:700;
  letter-spacing:-.04em;
  color:#2a2f36;
  animation:cm-rise .7s ease .05s both;
}

.cm-lead{
  margin:0 0 1.45rem;
  max-width:36ch;
  font-size:1.05rem;
  line-height:1.55;
  color:var(--cm-muted);
  animation:cm-rise .7s ease .1s both;
}

.cm-cta{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  animation:cm-rise .7s ease .15s both;
}

.cm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.9rem;
  padding:.8rem 1.15rem;
  border-radius:10px;
  border:1px solid transparent;
  font-family:"Public Sans",sans-serif;
  font-size:.95rem;
  font-weight:700;
  text-decoration:none;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}

.cm-btn:hover{ transform:translateY(-1px); }

.cm-landing a.cm-btn-copy,
.cm-btn-copy{
  background:#121417;
  color:#fff !important;
}

.cm-landing a.cm-btn-copy:hover,
.cm-btn-copy:hover{
  background:#2a2f36;
  color:#fff !important;
}

.cm-landing a.cm-btn-soft,
.cm-btn-soft{
  background:#fff;
  border-color:var(--cm-line);
  color:var(--cm-ink) !important;
}

.cm-landing a.cm-btn-soft:hover,
.cm-btn-soft:hover{
  background:#eef0f3;
  color:var(--cm-ink) !important;
}

.cm-btn-sm{
  min-height:2.4rem;
  padding:.55rem .95rem;
  font-size:.9rem;
}

.cm-section{ padding: clamp(3rem, 6vw, 4.5rem) 0; }
.cm-wrap{ width:min(1040px, calc(100% - 2rem)); margin:0 auto; }

.cm-title{
  margin:0 0 .5rem;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:clamp(1.6rem, 3vw, 2.2rem);
  font-weight:800;
  letter-spacing:-.04em;
}

.cm-text{
  margin:0;
  max-width:44ch;
  color:var(--cm-muted);
  font-size:1.02rem;
  line-height:1.55;
}

.cm-pipe{
  border-top:1px solid var(--cm-line);
  background:#fff;
}

.cm-pipe-row{
  margin-top:1.8rem;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:.75rem;
  align-items:center;
}

.cm-pipe-step{ display:grid; gap:.3rem; }
.cm-pipe-step strong{
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:1.1rem;
  font-weight:700;
}
.cm-pipe-step span{ color:var(--cm-muted); font-size:.92rem; }

.cm-pipe-arrow{
  width:2rem;
  height:2px;
  background:#121417;
  position:relative;
}
.cm-pipe-arrow:after{
  content:"";
  position:absolute;
  right:-1px;
  top:50%;
  width:7px;
  height:7px;
  border-right:2px solid #121417;
  border-top:2px solid #121417;
  transform:translateY(-50%) rotate(45deg);
}

.cm-roster{
  background:linear-gradient(180deg, #eef0f3, #f5f6f8);
}

.cm-roster-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.4rem;
}

.cm-link{
  font-weight:700;
  color:var(--cm-ink);
  text-decoration:none;
  border-bottom:1px solid var(--cm-ink);
}
.cm-link:hover{ opacity:.7; color:var(--cm-ink); }

.cm-roster-list{ display:grid; gap:.75rem; }

.cm-master{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.95fr) auto;
  gap:1rem;
  align-items:center;
  padding:1rem 1.1rem;
  border:1px solid var(--cm-line);
  border-radius:14px;
  background:#fff;
  transition:border-color .15s ease, transform .15s ease;
}

.cm-master:hover{
  transform:translateY(-1px);
  border-color:#c5c9d0;
}

.cm-master-who{
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:0;
}

.cm-master-mark{
  width:2.6rem;
  height:2.6rem;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#121417;
  color:#fff;
  font-family:"Bricolage Grotesque",sans-serif;
  font-weight:800;
}

.cm-master-who h3{
  margin:0 0 .15rem;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:1.05rem;
  font-weight:700;
}

.cm-master-who p{
  margin:0;
  color:var(--cm-muted);
  font-size:.9rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.cm-master-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
  margin:0;
}

.cm-master-stats dt{
  margin:0;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--cm-muted);
  font-weight:700;
}

.cm-master-stats dd{
  margin:.12rem 0 0;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:1.02rem;
  font-weight:700;
}

.cm-master-stats dd.up{ color:#15803d; }
.cm-master-stats dd.down{ color:#b91c1c; }

.cm-empty{
  display:grid;
  gap:1rem;
  justify-items:start;
}
.cm-empty p{ margin:0; color:var(--cm-muted); }

.cm-close{ border-top:1px solid var(--cm-line); background:#fff; }
.cm-close-inner{ padding: clamp(1.2rem, 3vw, 2rem) 0 clamp(2.2rem, 5vw, 3.4rem); }

@keyframes cm-rise{
  from{ opacity:0; transform:translateY(14px); }
  to{ opacity:1; transform:translateY(0); }
}
@keyframes cm-beam{
  from{ transform:scaleX(0); opacity:0; }
  to{ transform:scaleX(1); opacity:1; }
}
@keyframes cm-shimmer{
  from{ transform:translateX(-40%); opacity:0; }
  40%{ opacity:.7; }
  to{ transform:translateX(40%); opacity:0; }
}
@keyframes cm-pulse{
  0%,100%{ transform:translateX(-50%) scale(1); opacity:.8; }
  50%{ transform:translateX(-50%) scale(1.05); opacity:1; }
}

@media (max-width:900px){
  .cm-pipe-row{ grid-template-columns:1fr; gap:1rem; }
  .cm-pipe-arrow{
    width:2px; height:1.3rem; margin-left:1rem;
    background:#121417;
  }
  .cm-pipe-arrow:after{
    left:50%; right:auto; bottom:-2px; top:auto;
    transform:translateX(-50%) rotate(135deg);
  }
  .cm-master{ grid-template-columns:1fr; }
  .cm-master .cm-btn{ justify-self:start; }
}

@media (max-width:640px){
  .cm-hero{ min-height:auto; grid-template-rows:210px auto; }
  .cm-hero-copy{ width:min(100% - 1.4rem, 720px); }
  .cm-stage-nodes{ left:8%; right:8%; }
  .cm-stage-node span{ width:3.6rem; height:3.6rem; font-size:1.05rem; }
  .cm-cta{ flex-direction:column; }
  .cm-btn{ width:100%; }
}

body.gl-landing-page[data-theme="dark"]{
  --cm-ink:#f3f4f6;
  --cm-muted:#9ca3af;
  --cm-paper:#0c0e11;
  --cm-line:rgba(243,244,246,.10);
  --cm-surface:#161a20;
  background:linear-gradient(180deg, #0c0e11 0%, #10141a 100%);
}

body.gl-landing-page[data-theme="dark"] .gl-app-topbar-landing{
  background:rgba(12,14,17,.88);
}

body.gl-landing-page[data-theme="dark"] .cm-hero-stage{
  background:radial-gradient(circle at 50% 40%, rgba(243,244,246,.05), transparent 48%);
}

body.gl-landing-page[data-theme="dark"] .cm-hero-copy{
  background:linear-gradient(180deg, rgba(12,14,17,0), rgba(12,14,17,.95) 30%, #0c0e11);
}

body.gl-landing-page[data-theme="dark"] .cm-stage-node span,
body.gl-landing-page[data-theme="dark"] .cm-master-mark,
body.gl-landing-page[data-theme="dark"] .cm-btn-copy{
  background:#f3f4f6;
  color:#0c0e11 !important;
}

body.gl-landing-page[data-theme="dark"] .cm-stage-you span{ background:#d1d5db; color:#0c0e11; }

body.gl-landing-page[data-theme="dark"] .cm-pipe,
body.gl-landing-page[data-theme="dark"] .cm-close,
body.gl-landing-page[data-theme="dark"] .cm-master,
body.gl-landing-page[data-theme="dark"] .cm-btn-soft{
  background:#161a20;
  border-color:var(--cm-line);
  color:var(--cm-ink) !important;
}

body.gl-landing-page[data-theme="dark"] .cm-roster{ background:#10141a; }
body.gl-landing-page[data-theme="dark"] .cm-headline{ color:#d1d5db; }
body.gl-landing-page[data-theme="dark"] .cm-brand,
body.gl-landing-page[data-theme="dark"] .cm-title,
body.gl-landing-page[data-theme="dark"] .cm-pipe-step strong,
body.gl-landing-page[data-theme="dark"] .cm-master-who h3,
body.gl-landing-page[data-theme="dark"] .cm-topbar-brand,
body.gl-landing-page[data-theme="dark"] .cm-link{
  color:var(--cm-ink);
}

body.gl-landing-page[data-theme="dark"] .cm-stage-beam,
body.gl-landing-page[data-theme="dark"] .cm-pipe-arrow{ background:#f3f4f6; }
body.gl-landing-page[data-theme="dark"] .cm-pipe-arrow:after{
  border-color:#f3f4f6;
}

@media (prefers-reduced-motion: reduce){
  .cm-brand,.cm-headline,.cm-lead,.cm-cta,.cm-stage-node,.cm-stage-beam,.cm-stage-glow,.cm-stage-beam:after{
    animation:none !important; opacity:1 !important; transform:none !important;
  }
  .cm-stage-glow{ transform:translateX(-50%) !important; }
}
