:root {
  --dt-bg:#fff;
  --dt-text:#111;
  --dt-border:#dedede;
  --dt-surface:#f6f6f6;
  --dt-muted:#666;
}
html[data-theme="dark"] {
  --dt-bg:#101010;
  --dt-text:#fff;
  --dt-border:#383838;
  --dt-surface:#1b1b1b;
  --dt-muted:#aaa;
}
.dt-page {
  background:var(--dt-bg);
  color:var(--dt-text);
  min-height:100vh;
  font-family:Montserrat,sans-serif;
}
.dt-page * {box-sizing:border-box}
.dt-hero {
  padding:clamp(45px,7vw,95px) 0;
  border-bottom:1px solid var(--dt-border);
}
.dt-eyebrow {
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}
.dt-hero h1 {
  font-size:clamp(36px,6vw,78px);
  line-height:1.07;
  letter-spacing:-.055em;
  margin:18px 0;
}
.dt-hero p,.dt-heading p {
  max-width:660px;
  color:var(--dt-muted);
  font-size:13px;
  line-height:1.8;
}
.dt-hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.dt-button,.dt-outline {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:13px 20px;
  border-radius:6px;
  text-decoration:none;
  font:800 11px Montserrat,sans-serif;
  cursor:pointer;
}
.dt-button {
  background:var(--dt-text);
  color:var(--dt-bg);
  border:1px solid var(--dt-text);
}
.dt-outline {
  color:var(--dt-text);
  border:1px solid var(--dt-text);
  background:transparent;
}
.dt-section {padding:clamp(38px,6vw,75px) 0}
.dt-alt {background:var(--dt-surface)}
.dt-heading h2 {
  font-size:clamp(26px,3vw,42px);
  letter-spacing:-.04em;
  margin:12px 0;
}
.dt-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:26px 0 20px;
}
.dt-tabs button {
  padding:12px 18px;
  border:1px solid var(--dt-border);
  border-radius:6px;
  background:transparent;
  color:var(--dt-text);
  font:700 11px Montserrat,sans-serif;
  cursor:pointer;
}
.dt-tabs button.active {
  background:var(--dt-text);
  color:var(--dt-bg);
}
.dt-form {
  padding:25px;
  border:1px solid var(--dt-border);
  border-radius:12px;
}
.dt-fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:22px;
}
.dt-fields[hidden] {display:none}
.dt-fields label {
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
}
.dt-fields input,.dt-fields select {
  width:100%;
  min-width:0;
  height:46px;
  padding:0 12px;
  border:1px solid var(--dt-border);
  border-radius:6px;
  background:var(--dt-bg);
  color:var(--dt-text);
  font:500 12px Montserrat,sans-serif;
}
.dt-help,.dt-notice {
  font-size:12px;
  line-height:1.8;
  color:var(--dt-muted);
}
.dt-notice {
  margin-top:18px;
  padding:16px;
  border:1px solid var(--dt-border);
  border-radius:8px;
}
.dt-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:28px 0;
}
.dt-card {
  min-width:0;
  padding:28px;
  border:1px solid var(--dt-border);
  border-radius:10px;
  background:var(--dt-bg);
}
.dt-card i {font-size:27px}
.dt-card h3 {font-size:16px;margin:20px 0 10px}
.dt-card p {
  color:var(--dt-muted);
  font-size:12px;
  line-height:1.8;
}
@media(max-width:850px) {
  .dt-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
  .dt-cards {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:550px) {
  .dt-fields,.dt-cards {grid-template-columns:1fr}
  .dt-form {padding:16px}
  .dt-hero h1 {font-size:36px}
  .dt-card {padding:21px}
  .dt-hero-actions a {width:100%}
}
