.icems-destiny {
    --idr-bg: #f8f6f1;
    --idr-panel: #ffffff;
    --idr-ink: #1d1c1a;
    --idr-muted: #6d675d;
    --idr-line: #d9d2c5;
    --idr-accent: #6b4f2a;
    max-width: 1040px;
    margin: 0 auto;
    color: var(--idr-ink);
    font-family: inherit;
}

.icems-destiny *,
.icems-destiny *::before,
.icems-destiny *::after { box-sizing: border-box; }

.icems-destiny__intro,
.icems-destiny__form,
.icems-destiny__report,
.icems-destiny__notice {
    background: var(--idr-panel);
    border: 1px solid var(--idr-line);
    border-radius: 16px;
    padding: clamp(20px, 4vw, 40px);
    margin-bottom: 24px;
}

.icems-destiny__eyebrow {
    margin: 0 0 8px;
    font-size: 12px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--idr-accent);
    font-weight: 700;
}

.icems-destiny h2,
.icems-destiny h3,
.icems-destiny h4 { line-height: 1.2; }
.icems-destiny h2 { margin: 0 0 16px; }
.icems-destiny h3 { margin-top: 0; }

.icems-destiny__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.icems-destiny__full { grid-column: 1 / -1; }

.icems-destiny label span {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
}

.icems-destiny label small {
    font-weight: 400;
    color: var(--idr-muted);
}

.icems-destiny input,
.icems-destiny select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--idr-line);
    border-radius: 10px;
    background: #fff;
    color: var(--idr-ink);
    font: inherit;
}

.icems-destiny input:focus,
.icems-destiny select:focus {
    outline: 2px solid rgba(107, 79, 42, .35);
    outline-offset: 2px;
}

.icems-destiny__privacy,
.icems-destiny__notice {
    color: var(--idr-muted);
    font-size: .95em;
}

.icems-destiny__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.icems-destiny__button {
    appearance: none;
    border: 1px solid var(--idr-accent);
    border-radius: 999px;
    padding: 11px 18px;
    background: var(--idr-accent);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.icems-destiny__button--secondary {
    background: transparent;
    color: var(--idr-accent);
}

.icems-destiny__error {
    margin-top: 14px;
    color: #8d1f1f;
    font-weight: 700;
}

.idr-report-head {
    border-bottom: 1px solid var(--idr-line);
    padding-bottom: 28px;
    margin-bottom: 30px;
}

.idr-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.idr-summary-grid > div {
    background: var(--idr-bg);
    border: 1px solid var(--idr-line);
    border-radius: 12px;
    padding: 16px;
}

.idr-summary-grid span,
.idr-summary-grid small { display: block; color: var(--idr-muted); }
.idr-summary-grid strong { display: block; font-size: 1.15em; margin: 4px 0; }

.idr-section {
    padding: 26px 0;
    border-bottom: 1px solid var(--idr-line);
}
.idr-section:last-child { border-bottom: 0; }
.idr-section p { line-height: 1.7; }
.idr-section ol { padding-left: 22px; }
.idr-section li { margin: 10px 0; line-height: 1.6; }

.idr-table-wrap {
    overflow-x: auto;
    margin: 16px 0;
}

.icems-destiny table {
    width: 100%;
    border-collapse: collapse;
    min-width: 660px;
}

.icems-destiny th,
.icems-destiny td {
    border: 1px solid var(--idr-line);
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
}

.icems-destiny th { background: var(--idr-bg); }

.idr-calc-block,
.idr-movement,
.idr-gate-readings article {
    background: var(--idr-bg);
    border: 1px solid var(--idr-line);
    border-radius: 12px;
    padding: 16px;
    margin: 14px 0;
}

.idr-calc-block details summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--idr-accent);
}

.idr-final {
    border: 1px solid var(--idr-line);
    background: var(--idr-bg);
    border-radius: 14px;
    padding: 22px;
    margin-top: 28px;
}

@media (max-width: 760px) {
    .icems-destiny__grid,
    .idr-summary-grid { grid-template-columns: 1fr; }
    .icems-destiny__full { grid-column: auto; }
    .icems-destiny__intro,
    .icems-destiny__form,
    .icems-destiny__report,
    .icems-destiny__notice { padding: 20px; border-radius: 12px; }
}
