/* Additive Coached AI overview; the original page and animations stay intact. */
.ca-caption { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 13px; border-bottom: 1px solid #d6dfd7; font: 500 10px/1.5 'Graphik',Arial,sans-serif; text-transform: uppercase; letter-spacing: .09em; color: #53675b; }
.ca-caption > :last-child { font-weight: 400; text-transform: none; letter-spacing: 0; }
.ca-speaker { display: block; font: 500 10px/1.5 'Graphik',Arial,sans-serif; color: #65766a; letter-spacing: .055em; text-transform: uppercase; }
.ca-tools { background: #fafbf7; padding-block: 64px 42px; }
.ca-intro { display: grid; grid-template-columns: .85fr 1.3fr; gap: 70px; align-items: start; margin-bottom: 35px; }
.ca-intro h2 { font: 600 clamp(1.3rem,1.9vw,1.6rem)/1.25 'Tiempos Text',Georgia,serif; letter-spacing: -.025em; }
.ca-intro p { max-width: 66ch; margin: 0; color: #4a574e; font-size: 1rem; line-height: 1.75; }
.ca-tools .home-tool-index { justify-content: space-between; gap: 24px; }
.ca-tools .home-tool-index a { font-size: .94rem; }
.ca-panel { padding-block: 32px; gap: clamp(36px,6vw,90px); min-height: 410px; }
.ca-panel .home-tool-copy { max-width: 51ch; }
.ca-panel .home-tool-copy h3, .ca-panel .home-tool-copy p { font-size: 1rem; line-height: 1.7; }
.ca-panel .home-tool-copy h3 { margin-bottom: 11px; }
.ca-panel .home-tool-copy .ca-outcome { margin-top: 13px; color: #59665c; }
.ca-panel .home-tool-action { font-size: .9rem; margin-top: 20px; }
.ca-example { width: 100%; max-width: 470px; justify-self: end; padding: 22px; border: 1px solid #dce3de; border-radius: 12px; background: radial-gradient(ellipse at 85% 15%,#eaf0e9 0%,transparent 70%),#f1f3ee; }
.ca-paper { background: #fffefb; border: 1px solid #d9dfd6; border-radius: 5px; padding: 19px 21px 21px; min-height: 290px; color: #283c30; box-shadow: 0 5px 16px -12px #30443330; }
.ca-paper p { font: 400 13px/1.65 'Graphik',Arial,sans-serif; }
.ca-brief { margin-top: 5px; }
.ca-brief > div { padding-top: 16px; }
.ca-brief dt { font: 500 10px/1.5 'Graphik',Arial,sans-serif; color: #65766a; letter-spacing: .055em; text-transform: uppercase; margin-bottom: 4px; }
.ca-brief dd { font: 400 13px/1.65 'Graphik',Arial,sans-serif; margin: 0; }
.ca-circle { position: relative; display: inline-block; }
.ca-circle svg { position: absolute; width: calc(100% + 13px); height: calc(100% + 7px); left: -6px; top: -3px; pointer-events: none; overflow: visible; }
.ca-circle path { fill: none; stroke: #709071; stroke-width: 1.3; }
.ca-transfer-head { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 20px; font: 500 10px/1.5 'Graphik',Arial,sans-serif; color: #65766a; }
.ca-transfer { display: grid; grid-template-columns: 1fr 34px 1fr; gap: 7px; align-items: center; border-bottom: 1px solid #e3e7df; padding-block: 13px; }
.ca-transfer p { font-size: 12px; line-height: 1.5; }
.ca-transfer p:last-child { color: #375640; }
.ca-transfer svg { width: 100%; fill: none; stroke: #8ea78d; stroke-width: 1.4; }
.ca-paper .ca-footnote { margin-top: 15px; color: #6d796b; font-size: 11px; }
.ca-brand-before, .ca-brand-after, .ca-brand-post { padding-top: 18px; }
.ca-brand-before p { color: #7c8279; }
.ca-brand-after p { margin-top: 5px; font-size: 14px; }
.ca-brand-post { margin-top: 17px; padding-top: 13px; border-top: 1px solid #e3e7df; }
.ca-brand-post p { margin-top: 5px; font-size: 12px; color: #53664f; }
.ca-highlight { background-image: linear-gradient(transparent 58%,#dae6d6 58%); background-repeat: no-repeat; background-size: 100% 100%; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.ca-concern { padding-top: 18px; }
.ca-concern p { margin-top: 5px; color: #536151; }
.ca-draft { margin-top: 17px; border-left: 2px solid #a7ba9f; padding-left: 14px; }
.ca-draft p { margin-top: 5px; }
.ca-revision { padding-top: 14px; margin-top: 18px; border-top: 1px solid #e3e7df; }
.ca-revision p { margin-top: 5px; color: #687365; font-size: 12px; }
.ca-context-note { margin: 23px 0 0; max-width: 85ch; font-size: .82rem; line-height: 1.75; color: #677163; }
.ca-step { --step: 0; }
.ca-step:nth-child(2) { --step: 1; }
.ca-step:nth-child(3) { --step: 2; }
.ca-step:nth-child(4) { --step: 3; }
.ca-step:nth-child(5) { --step: 4; }
.is-playing .ca-step { animation: ca-settle .7s calc(var(--step) * .18s) both; }
.is-playing .ca-circle path { stroke-dasharray: 1; animation: ca-annotate 8s ease-in-out infinite; }
.is-playing .ca-transfer svg path { stroke-dasharray: 1; animation: ca-connect 7s calc(var(--step) * .22s) ease-in-out infinite; }
.is-playing .ca-highlight { animation: ca-highlight 8s ease-in-out infinite; }
@keyframes ca-settle { from { opacity: .2; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes ca-annotate { 0%,12% { stroke-dashoffset: 1; opacity: .4; } 32%,88% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: .2; } }
@keyframes ca-connect { 0%,10% { stroke-dashoffset: 1; opacity: .35; } 34%,90% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: .35; } }
@keyframes ca-highlight { 0%,12% { background-size: 0% 100%; } 36%,100% { background-size: 100% 100%; } }
@media (max-width: 1000px) {
    .ca-intro { gap: 35px; }
    .ca-example { padding: 14px; }
    .ca-paper { padding: 16px; }
}
@media (max-width: 900px) {
    .ca-panel { gap: 28px; }
}
@media (max-width: 768px) {
    .ca-tools { padding-block: 40px 30px; }
    .ca-intro { display: block; margin-bottom: 25px; }
    .ca-intro h2 { margin-bottom: 16px; }
    .ca-intro p { font-size: .95rem; }
    .ca-tools .home-tool-index { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 22px; }
    .ca-tools .home-tool-index a { min-height: 45px; font-size: .85rem; padding-block: 11px; white-space: normal; }
    .ca-panel { grid-template-columns: 1fr; gap: 26px; min-height: 0; padding-block: 25px; }
    .ca-panel .home-tool-copy { max-width: none; }
    .ca-panel .home-tool-copy p, .ca-panel .home-tool-copy h3 { font-size: .95rem; }
    .ca-example { justify-self: center; }
}
@media (prefers-reduced-motion: reduce) {
    .is-playing .ca-step, .is-playing .ca-circle path, .is-playing .ca-transfer svg path, .is-playing .ca-highlight { animation: none; }
}
