.page-hero{padding:92px 0 72px}

.page-hero-grid{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:70px;
  align-items:end;
}

.page-hero h1{margin-top:24px;max-width:10.2ch}

.page-lead{
  margin-top:28px;
  color:var(--ink-2);
  font-size:20px;
  line-height:1.58;
  max-width:690px;
}

.page-note{
  border-left:1px solid var(--line-2);
  padding:4px 0 4px 20px;
  color:var(--ink-3);
  font-size:14px;
  line-height:1.65;
}

.page-note strong{display:block;color:var(--ink);font-weight:540;margin-bottom:8px}
.page-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.block{padding:88px 0}

.two-col{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:70px;
  align-items:start;
}

.three-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.panel{
  border:1px solid var(--line-2);
  border-radius:24px;
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  box-shadow:var(--shadow);
  overflow:hidden;
}

.panel-head{
  padding:17px 20px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--ink-3);
  font-family:var(--mono);
  font-size:12px;
}

.panel-body{padding:22px}

.table{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
}

.table-row{
  display:grid;
  grid-template-columns:190px 1fr 140px;
  gap:16px;
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  align-items:center;
  font-size:13px;
}

.table-row:last-child{border-bottom:0}
.table-row .label{color:var(--ink-3);font-family:var(--mono);font-size:11px}
.table-row .value{color:var(--ink);line-height:1.5}
.table-row .status{justify-self:end}

.matrix{
  display:grid;
  grid-template-columns:180px repeat(4,1fr);
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
}

.matrix div{
  min-height:50px;
  display:flex;
  align-items:center;
  padding:12px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:var(--ink-2);
  font-size:13px;
}

.matrix div:nth-child(5n){border-right:0}
.matrix div:nth-last-child(-n+5){border-bottom:0}
.matrix .head{font-family:var(--mono);color:var(--ink-4);font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}

.timeline{border-top:1px solid var(--line-2)}
.timeline-row{display:grid;grid-template-columns:90px 1fr 190px;gap:26px;padding:26px 0;border-bottom:1px solid var(--line)}
.timeline-row .num{color:var(--ink-4);font-family:var(--mono);font-size:12px;padding-top:5px}
.timeline-row h3{font-size:22px;letter-spacing:-.045em;font-weight:540;margin-bottom:8px}
.timeline-row p{color:var(--ink-2);line-height:1.62}
.timeline-row .tag{justify-self:end;align-self:start}

.accordion{border:1px solid var(--line);border-radius:20px;overflow:hidden}
.accordion-item{border-bottom:1px solid var(--line)}
.accordion-item:last-child{border-bottom:0}
.accordion-trigger{width:100%;background:transparent;color:var(--ink);display:flex;justify-content:space-between;gap:20px;padding:18px 20px;text-align:left;font-weight:520}
.accordion-trigger span:last-child{color:var(--ink-4);font-family:var(--mono)}
.accordion-panel{display:none;padding:0 20px 18px;color:var(--ink-2);line-height:1.62}
.accordion-item.open .accordion-panel{display:block}
.accordion-item.open .accordion-trigger span:last-child{color:var(--violet)}

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.price-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--surface),var(--surface-2));padding:28px;min-height:430px;display:flex;flex-direction:column}
.price-card.featured{border-color:color-mix(in srgb,var(--violet) 40%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--violet) 12%,transparent) inset,var(--shadow)}
.price-card h3{font-size:24px;letter-spacing:-.05em;font-weight:540}
.price{margin-top:18px;font-size:36px;letter-spacing:-.06em;font-weight:560}
.price small{display:block;margin-top:5px;color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:0}
.features{margin:28px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;color:var(--ink-2);font-size:14px;line-height:1.45}
.price-card .btn{margin-top:auto;width:max-content}

.form-card{border:1px solid var(--line-2);border-radius:24px;background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:var(--shadow);padding:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1 / -1}
label{color:var(--ink-3);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
input,textarea,select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--ink);padding:12px 13px;outline:none}
textarea{min-height:128px;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:color-mix(in srgb,var(--violet) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 9%,transparent)}

.login-wrap{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:72px 0}
.login-card{width:min(440px,calc(100% - 32px));border:1px solid var(--line-2);border-radius:26px;background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:var(--shadow);padding:32px}
.login-card h1{font-size:44px;letter-spacing:-.065em;line-height:.95;margin-top:20px}
.login-card p{color:var(--ink-2);line-height:1.6;margin:16px 0 28px}
.login-form{display:flex;flex-direction:column;gap:14px}

@media (max-width:980px){
  .page-hero-grid,.two-col,.pricing-grid{grid-template-columns:1fr}
  .three-grid{grid-template-columns:1fr 1fr}
  .matrix{grid-template-columns:1fr}
  .matrix div{border-right:0}
  .timeline-row{grid-template-columns:54px 1fr}
  .timeline-row .tag{grid-column:2;justify-self:start}
}

@media (max-width:700px){
  .page-hero{padding-top:68px}
  .three-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .table-row{grid-template-columns:1fr;gap:7px}
  .table-row .status{justify-self:start}
}


/* Dark-mode green page accents */
html[data-theme="dark"] .accordion-item.open .accordion-trigger span:last-child {
  color:#64d49a;
}

html[data-theme="dark"] input:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] select:focus {
  border-color:rgba(100,212,154,.5);
  box-shadow:0 0 0 3px rgba(100,212,154,.08);
}

html[data-theme="dark"] .price-card.featured {
  border-color:rgba(100,212,154,.38);
  box-shadow:
    0 0 0 1px rgba(100,212,154,.1) inset,
    var(--shadow);
}

html[data-theme="dark"] .matrix .head {
  box-shadow:0 -1px 0 rgba(100,212,154,.035) inset;
}
