.asc-page{background:#f4f9fc;padding-bottom:70px;min-height:70vh}.asc-hero{background:linear-gradient(135deg,#178fc9,#37a4dd);color:#fff;padding:64px 0 86px;text-align:center}.asc-hero h1{color:#fff;font-size:44px;margin:10px 0 14px}.asc-hero p{font-size:18px;max-width:760px;margin:0 auto;opacity:.92;line-height:1.65}.asc-kicker{font-size:12px!important;letter-spacing:2px;font-weight:700;color:#fff3df}.asc-content{margin-top:-42px}.asc-panel,.asc-results{background:#fff;border-radius:16px;box-shadow:0 14px 45px rgba(28,119,168,.14);padding:32px;margin-bottom:28px}.asc-form-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:18px;align-items:start}.asc-field{position:relative}.asc-field label{display:block;font-weight:700;color:#222222;margin-bottom:8px}.asc-field input{width:100%;height:48px;border:1px solid #d7e6ee;border-radius:8px;padding:0 13px;font-size:16px;background:#fff}.asc-field input:focus{outline:2px solid rgba(55,164,221,.22);border-color:#37a4dd}.asc-field small{display:block;margin-top:6px;color:#777;line-height:1.4}.asc-submit{display:block;margin:26px auto 0;background:#37a4dd;color:#fff;border:0;border-radius:999px;padding:14px 30px;font-size:16px;font-weight:700;cursor:pointer}.asc-submit:hover{background:#0592dc}.asc-suggestions{position:absolute;z-index:50;left:0;right:0;top:79px;background:#fff;border:1px solid #cfe2ec;border-radius:9px;box-shadow:0 12px 28px rgba(31,103,141,.18);max-height:320px;overflow:auto}.asc-suggestion{display:flex;width:100%;flex-direction:column;text-align:left;padding:11px 14px;background:#fff;border:0;border-bottom:1px solid #e7f0f5;cursor:pointer}.asc-suggestion:hover,.asc-suggestion:focus{background:#edf7fc;outline:0}.asc-suggestion strong{color:#222222;font-size:14px}.asc-suggestion small{color:#666666;margin-top:3px}.asc-validation{color:#a72a3b;margin:8px 0}.asc-main-result{display:flex;align-items:center;justify-content:center;gap:24px;padding:28px;border-radius:14px;background:linear-gradient(135deg,#edf8fd,#fff4e8);text-align:left}.asc-main-result p{font-size:12px;letter-spacing:1.5px;font-weight:700;color:#37a4dd;margin:0}.asc-main-result h2{font-size:42px;color:#222222;margin:4px 0}.asc-main-result strong{font-size:22px;color:#ff7e00}.asc-sign-symbol{font-size:88px;line-height:1;color:#37a4dd}.asc-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.asc-result-card{border:1px solid #e1edf3;border-radius:12px;padding:20px}.asc-result-card span{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#666666}.asc-result-card h3{font-size:21px;color:#222222;margin:9px 0}.asc-result-card p{margin:0;color:#666666}.asc-details,.asc-houses{margin-top:30px}.asc-details h2,.asc-houses h2{font-size:25px;color:#222222}.asc-details dl{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid #e1edf3;border-radius:12px;overflow:hidden}.asc-details dl div{padding:14px 16px;border-bottom:1px solid #e1edf3}.asc-details dt{font-size:12px;text-transform:uppercase;color:#666666}.asc-details dd{margin:4px 0 0;color:#222222;font-weight:600}.asc-house-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.asc-house-grid article{background:#f7fbfd;border:1px solid #e1edf3;border-radius:10px;padding:14px}.asc-house-grid span,.asc-house-grid small{display:block;color:#666666}.asc-house-grid strong{display:block;font-size:17px;color:#222222;margin:5px 0}.asc-note{margin:25px 0 0;padding:14px 16px;border-left:4px solid #37a4dd;background:#f1f9fd;color:#5d5363}.field-validation-error{display:block;color:#a72a3b;margin-top:5px}@media(max-width:900px){.asc-form-grid,.asc-result-grid{grid-template-columns:1fr}.asc-house-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.asc-hero{padding:45px 16px 72px}.asc-hero h1{font-size:33px}.asc-panel,.asc-results{padding:20px}.asc-main-result{align-items:center;gap:14px}.asc-sign-symbol{font-size:62px}.asc-main-result h2{font-size:32px}.asc-house-grid{grid-template-columns:repeat(2,1fr)}.asc-details dl{grid-template-columns:1fr}}

.asc-chart{margin:30px 0 8px;padding:24px;border:1px solid #e1edf3;border-radius:14px;background:#ffffff;text-align:center}.asc-chart figcaption{margin-bottom:18px}.asc-chart h2{font-size:25px;color:#222222;margin:0 0 6px}.asc-chart p{margin:0;color:#666666}.asc-chart-svg{width:100%;max-width:900px;margin:0 auto}.asc-chart-svg svg{display:block;width:100%;height:auto;max-width:100%}@media(max-width:600px){.asc-chart{padding:12px;margin-top:22px}.asc-chart h2{font-size:22px}}


.asc-technical{margin:30px 0;padding:24px;border:1px solid #e1edf3;border-radius:14px;background:#fff}.asc-section-heading h2,.asc-technical h3{color:#222222}.asc-section-heading h2{font-size:25px;margin:0 0 6px}.asc-section-heading p,.asc-aspect-matrix-wrap>p{color:#666666}.asc-balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.asc-balance-card{border:1px solid #e1edf3;border-radius:12px;padding:18px;background:#f7fbfd}.asc-balance-card h3{margin:0 0 12px;font-size:19px}.asc-balance-row{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid #e1edf3}.asc-balance-row:first-of-type{border-top:0}.asc-degree-strip-wrap{margin:26px 0}.asc-degree-strip{position:relative;height:132px;margin-top:14px;border:1px solid #d7e6ee;border-radius:10px;background:linear-gradient(to right,transparent 19.8%,#e1edf3 20%,transparent 20.2%,transparent 39.8%,#e1edf3 40%,transparent 40.2%,transparent 59.8%,#e1edf3 60%,transparent 60.2%,transparent 79.8%,#e1edf3 80%,transparent 80.2%)}.asc-degree-strip:after{content:"";position:absolute;left:0;right:0;bottom:27px;border-top:2px solid #4f7183}.asc-degree-tick{position:absolute;bottom:4px;transform:translateX(-50%);font-size:12px;color:#666666}.asc-degree-tick:after{content:"";position:absolute;left:50%;bottom:23px;height:8px;border-left:1px solid #4f7183}.asc-degree-point{position:absolute;z-index:2;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;min-width:30px;font-size:19px;color:#222222}.asc-degree-point small{font-size:10px;color:#666666}.asc-degree-point:after{content:"";height:18px;border-left:1px dotted #8aa6b5}.asc-degree-point.lane-0{top:8px}.asc-degree-point.lane-1{top:34px}.asc-degree-point.lane-2{top:60px}.asc-position-table{margin-top:20px}.asc-aspect-matrix-wrap{margin-top:28px}.asc-aspect-matrix-scroll{overflow-x:auto;padding-bottom:8px}.asc-aspect-matrix{border-collapse:collapse;min-width:760px;background:#fff}.asc-aspect-matrix th,.asc-aspect-matrix td{width:46px;height:42px;border:1px solid #d7e6ee;text-align:center;vertical-align:middle}.asc-aspect-matrix th{background:#edf7fc;color:#222222;font-size:18px}.asc-aspect-matrix td.empty{background:#f7fbfd}.asc-aspect-matrix td strong{display:block;font-size:20px;line-height:17px}.asc-aspect-matrix td small{display:block;font-size:9px;color:#666666}.aspect-conjunction,.aspect-opposition{color:#d43a3a}.aspect-square{color:#e05252}.aspect-trine,.aspect-sextile{color:#315bd6}@media(max-width:700px){.asc-technical{padding:14px}.asc-balance-grid{grid-template-columns:1fr}.asc-degree-strip{height:150px}.asc-degree-point{font-size:17px}}

/* Layout pagina tema natale - patch 010 */
.asc-details{margin-top:22px}.asc-chart{margin-top:26px}.asc-technical-summary-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.7fr);gap:18px;align-items:stretch;margin-top:20px}.asc-technical-summary-grid .asc-balance-grid{height:100%;margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}.asc-technical-summary-grid .asc-balance-card{height:100%}.asc-degree-summary,.asc-degree-summary .asc-degree-strip-wrap{height:100%;margin:0}.asc-degree-summary{border:1px solid #e1edf3;border-radius:12px;padding:18px;background:#f7fbfd}.asc-degree-summary h3{margin:0 0 12px;font-size:19px}.asc-degree-summary .asc-degree-strip{margin-top:10px;background-color:#fff}.asc-technical-columns{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(420px,1.35fr) minmax(320px,1fr);gap:16px;align-items:start;margin-top:20px}.asc-technical-card{min-width:0;border:1px solid #e1edf3;border-radius:12px;padding:16px;background:#fff}.asc-technical-card>h3,.asc-technical-card>h2{font-size:19px;margin:0 0 10px;color:#222222}.asc-technical-card>p{margin:0 0 12px;color:#666666}.asc-technical-card .asc-position-table,.asc-technical-card .asc-aspect-matrix-wrap{margin:0}.asc-technical-card .table{font-size:13px;margin-bottom:0}.asc-technical-card .table th,.asc-technical-card .table td{padding:7px 8px;white-space:nowrap}.asc-matrix-card{display:flex;justify-content:center}.asc-matrix-card .asc-aspect-matrix-wrap{width:100%;text-align:center}.asc-aspect-matrix-scroll{display:flex;justify-content:center;width:100%;overflow-x:auto}.asc-aspect-matrix{margin-inline:auto;min-width:680px}.asc-aspects-card h2{font-size:19px}.asc-aspects-card .table th:nth-child(5),.asc-aspects-card .table td:nth-child(5){display:none}
@media(max-width:1200px){.asc-technical-columns{grid-template-columns:1fr 1fr}.asc-matrix-card{grid-column:1/-1;order:3}.asc-aspect-matrix{min-width:760px}.asc-technical-summary-grid{grid-template-columns:1fr}}
@media(max-width:800px){.asc-technical-columns{grid-template-columns:1fr}.asc-matrix-card{grid-column:auto;order:initial}.asc-technical-summary-grid .asc-balance-grid{grid-template-columns:1fr 1fr}.asc-aspect-matrix-scroll{justify-content:flex-start}}
@media(max-width:600px){.asc-technical-summary-grid .asc-balance-grid{grid-template-columns:1fr}.asc-degree-summary{padding:14px}.asc-technical-card{padding:12px}.asc-technical-card .table{font-size:12px}.asc-aspect-matrix{min-width:680px}}

/* Patch 011 FIX: restore chart spacing and remove desktop horizontal scrollbars. */
.asc-chart {
    overflow: visible;
}

.asc-chart-svg {
    box-sizing: border-box;
    width: 100%;
    max-width: 940px;
    margin: 0 auto;
    padding: 18px 34px 26px;
    overflow: visible;
}

.asc-chart-svg svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
}

/* Technical data are intentionally stacked on desktop: no compressed columns. */
.asc-technical-summary-grid {
    grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
    align-items: stretch;
}

.asc-technical-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 20px;
}

.asc-planets-card,
.asc-aspects-card,
.asc-matrix-card {
    width: 100%;
}

.asc-technical-card .asc-position-table,
.asc-technical-card .table-responsive {
    width: 100%;
    overflow: visible;
}

.asc-technical-card .table {
    width: 100%;
    table-layout: auto;
}

.asc-technical-card .table th,
.asc-technical-card .table td {
    white-space: normal;
    overflow-wrap: anywhere;
}

.asc-planets-card .table th:nth-child(1),
.asc-planets-card .table td:nth-child(1) {
    width: 26%;
}

.asc-planets-card .table th:nth-child(2),
.asc-planets-card .table td:nth-child(2) {
    width: 44%;
}

.asc-aspects-card .table th:nth-child(1),
.asc-aspects-card .table td:nth-child(1),
.asc-aspects-card .table th:nth-child(3),
.asc-aspects-card .table td:nth-child(3) {
    width: 28%;
}

.asc-matrix-card {
    display: block;
    text-align: center;
}

.asc-matrix-card .asc-aspect-matrix-wrap {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.asc-aspect-matrix-scroll {
    display: flex;
    justify-content: center;
    width: 100%;
    overflow: visible;
    padding-bottom: 0;
}

.asc-aspect-matrix {
    width: auto;
    min-width: 0;
    margin-inline: auto;
}

@media (max-width: 900px) {
    .asc-technical-summary-grid {
        grid-template-columns: 1fr;
    }

    .asc-chart-svg {
        padding-inline: 24px;
    }
}

@media (max-width: 700px) {
    .asc-chart-svg {
        padding: 10px 12px 18px;
    }

    .asc-aspect-matrix-scroll {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .asc-aspect-matrix {
        min-width: 680px;
    }

    .asc-technical-card .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .asc-technical-card .table {
        min-width: 620px;
    }
}

/* SEO content shown before calculation */
.asc-seo-content {
    margin-bottom: 28px;
    padding: 36px;
    border: 1px solid #e1edf3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 45px rgba(28, 119, 168, .10);
}

.asc-seo-eyebrow {
    margin: 0 0 8px;
    color: #178fc9;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.asc-seo-intro {
    max-width: 940px;
    margin: 0 auto;
}

.asc-seo-intro h2,
.asc-seo-section h2,
.asc-faq h2 {
    color: #222222;
}

.asc-seo-intro h2 {
    margin: 0 0 16px;
    font-size: 30px;
}

.asc-seo-intro p,
.asc-seo-section p,
.asc-seo-factors p,
.asc-faq p {
    color: #5f6870;
    line-height: 1.75;
}

.asc-seo-factors {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 28px 0;
}

.asc-seo-factors article {
    padding: 22px;
    border: 1px solid #dcebf2;
    border-radius: 12px;
    background: #f7fbfd;
}

.asc-seo-factors span {
    color: #ff7e00;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
}

.asc-seo-factors h3 {
    margin: 8px 0 7px;
    color: #222222;
    font-size: 19px;
}

.asc-seo-factors p {
    margin: 0;
}

.asc-seo-section {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    margin-top: 30px;
}

.asc-seo-section > div {
    padding-top: 24px;
    border-top: 2px solid #e1edf3;
}

.asc-seo-section h2 {
    margin: 0 0 10px;
    font-size: 23px;
}

.asc-faq {
    margin-top: 34px;
}

.asc-faq h2 {
    margin: 0 0 16px;
    font-size: 25px;
}

.asc-faq details {
    border-top: 1px solid #dcebf2;
}

.asc-faq details:last-child {
    border-bottom: 1px solid #dcebf2;
}

.asc-faq summary {
    position: relative;
    padding: 17px 42px 17px 0;
    color: #222222;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.asc-faq summary::-webkit-details-marker {
    display: none;
}

.asc-faq summary::after {
    content: "+";
    position: absolute;
    top: 12px;
    right: 4px;
    color: #178fc9;
    font-size: 25px;
    font-weight: 400;
}

.asc-faq details[open] summary::after {
    content: "−";
}

.asc-faq details p {
    margin: -3px 0 17px;
    padding-right: 42px;
}

@media (max-width: 800px) {
    .asc-seo-factors,
    .asc-seo-section {
        grid-template-columns: 1fr;
    }

    .asc-seo-section {
        gap: 18px;
    }
}

@media (max-width: 600px) {
    .asc-seo-content {
        padding: 24px 20px;
    }

    .asc-seo-intro h2 {
        font-size: 25px;
    }

    .asc-seo-factors article {
        padding: 18px;
    }
}

/* Interactive chart help - phase 1 */
.asc-chart-interactive {
    position: relative;
    max-width: 940px;
    margin: 0 auto;
}

.asc-chart-instruction {
    max-width: 760px;
    margin: 10px auto 0 !important;
    color: #5f6870 !important;
    font-size: 14px;
    line-height: 1.55;
}

.asc-chart-tooltip {
    position: absolute;
    z-index: 20;
    width: min(320px, calc(100% - 16px));
    padding: 13px 15px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    background: #2f2832;
    box-shadow: 0 10px 30px rgba(30, 24, 32, .24);
    color: #ffffff;
    pointer-events: none;
    text-align: left;
}

.asc-chart-tooltip[hidden] {
    display: none;
}

.asc-chart-tooltip strong,
.asc-chart-tooltip span {
    display: block;
}

.asc-chart-tooltip strong {
    margin-bottom: 4px;
    color: #fff3df;
    font-size: 15px;
}

.asc-chart-tooltip span {
    font-size: 13px;
    line-height: 1.5;
}

.asc-chart-svg .dz-chart-hotspot {
    cursor: pointer;
}

.asc-chart-svg .dz-planet.dz-chart-hotspot:focus {
    outline: none;
}

.asc-chart-svg .dz-planet-hit-area,
.asc-chart-svg .dz-angle-hit-area {
    fill: transparent;
    stroke: transparent;
    pointer-events: all;
}

.asc-chart-svg .dz-planet.is-chart-selected {
    filter: drop-shadow(0 0 7px rgba(23, 143, 201, .55));
}

.asc-chart-svg .dz-planet.is-chart-selected > circle:not(.dz-planet-hit-area) {
    stroke-width: 3.2;
}

.asc-chart-svg .dz-angle-axis.is-chart-selected {
    filter: drop-shadow(0 0 5px rgba(23, 143, 201, .48));
    stroke-width: 5.2;
}

.asc-chart-svg .dz-angle-badge.is-chart-selected {
    filter: drop-shadow(0 0 5px rgba(23, 143, 201, .42));
    stroke-width: 3.2;
}

.asc-chart-svg .dz-angle-label.is-chart-selected {
    font-weight: 900;
}

.asc-chart-guide {
    margin: 28px 0 8px;
    padding: 30px;
    border: 1px solid #e1edf3;
    border-radius: 14px;
    background: linear-gradient(145deg, #f7fbfd, #ffffff);
}

.asc-chart-guide > header {
    max-width: 860px;
    margin: 0 auto 24px;
    text-align: center;
}

.asc-chart-guide-eyebrow {
    margin: 0 0 7px;
    color: #178fc9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.asc-chart-guide h2 {
    margin: 0 0 12px;
    color: #222222;
    font-size: 25px;
}

.asc-chart-guide > header > p:last-child {
    margin: 0;
    color: #5f6870;
    line-height: 1.7;
}

.asc-chart-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.asc-chart-guide-grid article {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    padding: 17px;
    border: 1px solid #dcebf2;
    border-radius: 11px;
    background: #ffffff;
}

.asc-chart-guide-grid article > span {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf8fd;
    color: #178fc9;
    font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif;
    font-size: 22px;
    font-weight: 700;
}

.asc-chart-guide-grid h3 {
    margin: 1px 0 5px;
    color: #222222;
    font-size: 18px;
}

.asc-chart-guide-grid p {
    margin: 0;
    color: #5f6870;
    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 700px) {
    .asc-chart-tooltip {
        width: min(290px, calc(100% - 16px));
    }

    .asc-chart-guide {
        padding: 22px 18px;
    }

    .asc-chart-guide-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .asc-chart-guide-grid article {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 11px;
        padding: 14px;
    }

    .asc-chart-guide-grid article > span {
        width: 40px;
        height: 40px;
        font-size: 19px;
    }
}

/* Personal natal chart interpretation - phase 1 */
.asc-personal-reading {
    margin: 30px 0;
    padding: 32px;
    border: 1px solid #e1edf3;
    border-radius: 14px;
    background:
        radial-gradient(circle at top right, rgba(255, 126, 0, .08), transparent 32%),
        linear-gradient(145deg, #ffffff, #f7fbfd);
}

.asc-personal-reading-header {
    max-width: 880px;
    margin: 0 auto 26px;
    text-align: center;
}

.asc-personal-reading-eyebrow {
    margin: 0 0 7px;
    color: #178fc9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.asc-personal-reading-header h2 {
    margin: 0 0 12px;
    color: #222222;
    font-size: 27px;
}

.asc-personal-reading-header > p:last-child {
    margin: 0;
    color: #5f6870;
    line-height: 1.7;
}

.asc-personal-pillar-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.asc-personal-pillar {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 21px;
    border: 1px solid #dcebf2;
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(28, 119, 168, .07);
}

.asc-personal-pillar > header {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding-bottom: 16px;
    border-bottom: 1px solid #e7f0f5;
}

.asc-personal-pillar-symbol {
    display: flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf8fd;
    color: #178fc9;
    font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif;
    font-size: 25px;
    font-weight: 800;
}

.asc-personal-pillar-moon .asc-personal-pillar-symbol {
    background: #f1eef9;
    color: #735ca8;
}

.asc-personal-pillar-ascendant .asc-personal-pillar-symbol {
    background: #fff3e7;
    color: #df7200;
    font-size: 18px;
}

.asc-personal-pillar h3 {
    margin: 0 0 4px;
    color: #222222;
    font-size: 21px;
}

.asc-personal-pillar > header p {
    margin: 0;
    color: #5f6870;
    font-size: 13px;
    line-height: 1.45;
}

.asc-personal-reading-block {
    padding-top: 17px;
}

.asc-personal-reading-block h4 {
    margin: 0 0 7px;
    color: #178fc9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.asc-personal-reading-block p {
    margin: 0;
    color: #4f5961;
    font-size: 14px;
    line-height: 1.68;
}

.asc-personal-reading-block-case {
    margin-top: 17px;
    padding: 16px;
    border-radius: 10px;
    background: #f7fbfd;
}

.asc-personal-reading-block-case h4 {
    color: #df7200;
}

.asc-personal-evidence {
    display: flex;
    gap: 7px;
    align-items: flex-start;
    margin: auto 0 0;
    padding-top: 16px;
    color: #66747c;
    font-size: 12px;
    line-height: 1.45;
}

.asc-personal-evidence span {
    flex: 0 0 auto;
    color: #178fc9;
    font-weight: 800;
}

.asc-personal-synthesis {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-top: 20px;
    padding: 24px;
    border: 1px solid #f2d9bd;
    border-radius: 13px;
    background: linear-gradient(135deg, #fff8f0, #ffffff);
}

.asc-personal-synthesis-symbol {
    display: flex;
    width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffead2;
    color: #df7200;
    font-size: 25px;
}

.asc-personal-synthesis h3 {
    margin: 1px 0 8px;
    color: #222222;
    font-size: 21px;
}

.asc-personal-synthesis > div > p:not(.asc-personal-evidence) {
    margin: 0;
    color: #4f5961;
    line-height: 1.72;
}

.asc-personal-synthesis .asc-personal-evidence {
    margin-top: 12px;
}

.asc-personal-disclaimer {
    margin: 20px 0 0;
    padding: 13px 15px;
    border-left: 4px solid #37a4dd;
    background: rgba(237, 248, 253, .78);
    color: #5f6870;
    font-size: 12px;
    line-height: 1.55;
}

.asc-personal-subsection {
    margin-top: 32px;
    padding-top: 30px;
    border-top: 1px solid #dcebf2;
}

.asc-personal-subsection-header {
    max-width: 880px;
    margin: 0 auto 24px;
    text-align: center;
}

.asc-personal-subsection-header h2 {
    margin: 0 0 12px;
    color: #222222;
    font-size: 25px;
}

.asc-personal-subsection-header > p:last-child {
    margin: 0;
    color: #5f6870;
    line-height: 1.7;
}

.asc-personal-pillar-mercury .asc-personal-pillar-symbol {
    background: #eaf7fd;
    color: #178fc9;
}

.asc-personal-pillar-venus .asc-personal-pillar-symbol {
    background: #f9eef5;
    color: #b75486;
}

.asc-personal-pillar-mars .asc-personal-pillar-symbol {
    background: #fff0eb;
    color: #d85a37;
}

.asc-personal-synthesis-secondary {
    border-color: #d9d7ef;
    background: linear-gradient(135deg, #f6f4fc, #ffffff);
}

.asc-personal-synthesis-secondary .asc-personal-synthesis-symbol {
    background: #e9e5f7;
    color: #735ca8;
}

@media (max-width: 980px) {
    .asc-personal-pillar-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .asc-personal-reading {
        padding: 23px 17px;
    }

    .asc-personal-reading-header h2 {
        font-size: 24px;
    }

    .asc-personal-subsection {
        margin-top: 26px;
        padding-top: 25px;
    }

    .asc-personal-subsection-header h2 {
        font-size: 23px;
    }

    .asc-personal-pillar {
        padding: 17px;
    }

    .asc-personal-synthesis {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 13px;
        padding: 18px;
    }

    .asc-personal-synthesis-symbol {
        width: 44px;
        height: 44px;
        font-size: 20px;
    }
}

/* Complete natal chart interpretation - final phase */
.asc-complete-reading {
    margin-top: 34px;
}

.asc-complete-overview {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 19px;
    align-items: start;
    margin-bottom: 22px;
    padding: 25px;
    border: 1px solid #cfe5ef;
    border-radius: 14px;
    background:
        radial-gradient(circle at top right, rgba(55, 164, 221, .10), transparent 36%),
        #ffffff;
}

.asc-complete-overview-symbol {
    display: flex;
    width: 62px;
    height: 62px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e5f5fc;
    color: #178fc9;
    font-size: 27px;
}

.asc-complete-overview h3 {
    margin: 1px 0 9px;
    color: #222222;
    font-size: 22px;
}

.asc-complete-overview > div > p:not(.asc-personal-evidence) {
    margin: 0;
    color: #4f5961;
    line-height: 1.75;
}

.asc-reading-details {
    margin-top: 14px;
    border: 1px solid #dcebf2;
    border-radius: 13px;
    background: #ffffff;
    overflow: hidden;
}

.asc-reading-details > summary {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding: 17px 54px 17px 18px;
    color: #222222;
    cursor: pointer;
    list-style: none;
}

.asc-reading-details > summary::-webkit-details-marker {
    display: none;
}

.asc-reading-details > summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    color: #178fc9;
    font-size: 28px;
    font-weight: 400;
    transform: translateY(-50%);
}

.asc-reading-details[open] > summary::after {
    content: "−";
}

.asc-reading-details > summary > span:first-child {
    display: flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf8fd;
    color: #178fc9;
    font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif;
    font-size: 20px;
    font-weight: 800;
}

.asc-reading-details > summary strong,
.asc-reading-details > summary small {
    display: block;
}

.asc-reading-details > summary strong {
    font-size: 17px;
}

.asc-reading-details > summary small {
    margin-top: 3px;
    color: #68757d;
    font-weight: 400;
}

.asc-reading-details[open] > summary {
    border-bottom: 1px solid #e5eff4;
    background: #f8fcfe;
}

.asc-reading-details-body {
    padding: 20px;
}

.asc-social-planet-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.asc-personal-pillar-jupiter .asc-personal-pillar-symbol {
    background: #fff4dd;
    color: #c87b00;
}

.asc-personal-pillar-saturn .asc-personal-pillar-symbol {
    background: #eef0f3;
    color: #56616b;
}

.asc-insight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.asc-social-planet-grid + .asc-insight-grid {
    margin-top: 16px;
}

.asc-insight-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.asc-insight-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 19px;
    border: 1px solid #dcebf2;
    border-radius: 12px;
    background: #fbfdfe;
}

.asc-insight-card > header {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.asc-insight-card > header > span {
    display: flex;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf8fd;
    color: #178fc9;
    font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif;
    font-size: 18px;
    font-weight: 800;
}

.asc-insight-card > header > span.asc-house-number {
    font-family: inherit;
    font-size: 14px;
}

.asc-insight-card h3 {
    margin: 0;
    color: #222222;
    font-size: 18px;
}

.asc-insight-card > p:not(.asc-personal-evidence) {
    margin: 0;
    color: #4f5961;
    font-size: 14px;
    line-height: 1.68;
}

.asc-insight-card-uranus > header > span {
    background: #e9f7f7;
    color: #238f91;
}

.asc-insight-card-neptune > header > span {
    background: #eef0fb;
    color: #5867ad;
}

.asc-insight-card-pluto > header > span {
    background: #f5eef7;
    color: #805990;
}

.asc-aspect-reading-list {
    display: grid;
    gap: 12px;
}

.asc-aspect-reading {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    padding: 17px;
    border: 1px solid #dcebf2;
    border-radius: 11px;
    background: #fbfdfe;
}

.asc-aspect-reading-symbol {
    display: flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf8fd;
    color: #178fc9;
    font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif;
    font-size: 23px;
}

.asc-aspect-reading header {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 7px;
}

.asc-aspect-reading h3 {
    margin: 0;
    color: #222222;
    font-size: 18px;
}

.asc-aspect-reading header > span {
    flex: 0 0 auto;
    padding: 4px 9px;
    border-radius: 999px;
    background: #eaf6fb;
    color: #237ca7;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.asc-aspect-reading > div > p:not(.asc-personal-evidence) {
    margin: 0;
    color: #4f5961;
    font-size: 14px;
    line-height: 1.68;
}

.asc-balance-reading {
    background: linear-gradient(135deg, #f7fbfd, #ffffff);
}

.asc-reading-empty {
    margin: 0;
    color: #5f6870;
    line-height: 1.65;
}

.asc-strength-growth {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.asc-strength-growth > section {
    padding: 18px;
    border: 1px solid #dcebf2;
    border-radius: 12px;
    background: #fbfdfe;
}

.asc-strength-growth > section:first-child {
    background: #f7fcfa;
}

.asc-strength-growth > section:last-child {
    background: #fffaf6;
}

.asc-strength-growth > section > h3 {
    margin: 0 0 13px;
    color: #222222;
    font-size: 20px;
}

.asc-compact-insight {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    padding: 14px 0;
    border-top: 1px solid #e3edf2;
}

.asc-compact-insight:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.asc-compact-insight:last-child {
    padding-bottom: 0;
}

.asc-compact-insight > span {
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf8fd;
    color: #178fc9;
    font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", sans-serif;
    font-weight: 800;
}

.asc-compact-insight h4 {
    margin: 0 0 5px;
    color: #222222;
    font-size: 16px;
}

.asc-compact-insight > div > p:not(.asc-personal-evidence) {
    margin: 0;
    color: #4f5961;
    font-size: 13px;
    line-height: 1.62;
}

.asc-compact-insight .asc-personal-evidence {
    padding-top: 9px;
}

@media (max-width: 980px) {
    .asc-social-planet-grid,
    .asc-insight-grid,
    .asc-insight-grid-three {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .asc-complete-overview {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 13px;
        padding: 18px;
    }

    .asc-complete-overview-symbol {
        width: 46px;
        height: 46px;
        font-size: 21px;
    }

    .asc-reading-details > summary {
        grid-template-columns: 38px minmax(0, 1fr);
        padding: 14px 46px 14px 13px;
    }

    .asc-reading-details > summary > span:first-child {
        width: 38px;
        height: 38px;
        font-size: 18px;
    }

    .asc-reading-details > summary::after {
        right: 14px;
    }

    .asc-reading-details-body {
        padding: 13px;
    }

    .asc-aspect-reading {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 11px;
        padding: 14px;
    }

    .asc-aspect-reading-symbol {
        width: 38px;
        height: 38px;
        font-size: 19px;
    }

    .asc-aspect-reading header {
        display: block;
    }

    .asc-aspect-reading header > span {
        display: inline-block;
        margin-top: 6px;
    }

    .asc-strength-growth {
        grid-template-columns: 1fr;
    }
}
