/* Manual focus cards and source rows; all copy and navigation are unchanged. */
#scene-objetivos .objective-item,#scene-fuentes .source-table-row{--panel-start:#154c6b;--panel-end:#337985;--panel-soft:#edf3f5;--panel-accent:#236681;--panel-border:#c6d9de}
#scene-objetivos .objective-grid{gap:24px;align-items:stretch;margin:32px 0 24px}
#scene-objetivos .objective-item,#scene-fuentes .source-table-row{position:relative;isolation:isolate;overflow:hidden;background:var(--panel-soft);border:1px solid var(--panel-border);color:#173d46;transition:color .4s,border-color .4s,box-shadow .4s}
#scene-objetivos .objective-item:before,#scene-fuentes .source-table-row:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,var(--panel-start),var(--panel-end));opacity:0;transition:opacity .4s ease;pointer-events:none}
#scene-objetivos .objective-item>*,#scene-fuentes .source-table-row>*{position:relative;z-index:1}
#scene-objetivos .objective-item{padding:clamp(20px,1.2vw,31px);border-radius:20px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0}
#scene-objetivos .objective-item>b{display:grid;place-items:center;flex:none;width:54px;height:54px;border:1px solid var(--panel-border);border-radius:15px;color:var(--panel-accent);font-size:37px;line-height:1;background:#ffffff55;transition:background .4s,color .4s,border-color .4s}
#scene-objetivos .objective-item h3{font-size:clamp(23px,1.25vw,32px);line-height:1.18;min-height:2.36em;margin:23px 0 16px}
#scene-objetivos .objective-item p{font-size:clamp(19px,1.06vw,28px);line-height:1.45;margin:0;color:#47616a;transition:color .4s}
#scene-objetivos .objective-item.objective-focus,#scene-fuentes .source-table-row.source-focus{color:#fffdf5;border-color:var(--panel-end);box-shadow:0 10px 25px #193b4715}
#scene-objetivos .objective-item.objective-focus:before,#scene-fuentes .source-table-row.source-focus:before{opacity:1}
#scene-objetivos .objective-item.objective-focus p{color:#edf6f3}
#scene-objetivos .objective-item.objective-focus>b{color:#fffdf5;background:#ffffff15;border-color:#ffffff60}
#scene-objetivos .objective-item:focus-visible,#scene-fuentes .source-table-row:focus-visible{outline:3px solid var(--panel-accent);outline-offset:4px}
#scene-fuentes .source-table{gap:10px}
#scene-fuentes .source-table-head{padding-left:27px;padding-right:27px;border-bottom:0}
#scene-fuentes .source-table-row{border-radius:16px;padding:24px 26px;align-items:center;line-height:1.4}
#scene-fuentes .source-table-row small{color:#526a70;transition:color .4s}
#scene-fuentes .source-table-row.source-focus small,#scene-fuentes .source-table-row.source-focus>span:before{color:#e1eeec}
#scene-fuentes .source-table-row.source-focus:after{content:"";position:absolute;left:0;top:23px;bottom:23px;width:4px;background:#ffffffa0;border-radius:0 4px 4px 0}
@media(max-height:850px) and (min-width:901px){
 #scene-objetivos .objective-grid{gap:18px;margin:22px 0 18px}
 #scene-objetivos .objective-item{padding:18px;border-radius:16px}
 #scene-objetivos .objective-item>b{width:42px;height:42px;font-size:29px;border-radius:12px}
 #scene-objetivos .objective-item h3{font-size:21px;margin:16px 0 10px}
 #scene-objetivos .objective-item p{font-size:17px;line-height:1.4}
 #scene-fuentes .source-table{gap:7px}
 #scene-fuentes .source-table-row{padding:15px 22px;font-size:18px}
 #scene-fuentes .source-table-head{padding-left:23px;padding-right:23px}
}
@media(max-width:900px){
 #scene-objetivos .objective-grid{gap:16px}
 #scene-objetivos .objective-item{padding:22px}
 #scene-objetivos .objective-item h3{min-height:0;margin:18px 0 12px}
 #scene-fuentes .source-table-row{padding:21px;gap:13px}
}

/* Center the visible numeral outlines, not the italic font's advance box. */
.objective-number{display:block;width:100%;height:100%;overflow:visible}
.objective-number text{font-family:var(--serif);font-size:68.5px;font-style:italic;font-weight:400;fill:currentColor;text-anchor:start;dominant-baseline:auto}

/* Begin with the general objective: a flat highlight, with no new frame. */
#scene-objetivos .objective-general{position:relative;isolation:isolate}
#scene-objetivos .objective-general:before{content:"";position:absolute;inset:8px -16px -12px;z-index:-1;background:linear-gradient(90deg,transparent 0%,#d8e8ed 2%,#e7f0f2 98%,transparent 100%);opacity:0;transition:opacity .4s;pointer-events:none}
#scene-objetivos .objective-general>span,#scene-objetivos .objective-general>p{transition:color .4s}
#scene-objetivos .objective-general.objective-general-focus:before{opacity:1}
#scene-objetivos .objective-general.objective-general-focus>span,#scene-objetivos .objective-general.objective-general-focus>p{color:#154c6b}

/* General-objective label, centered within its existing column. */
#scene-objetivos .objective-general>span{align-self:center;text-align:center;padding-top:0;font-size:clamp(20px,1vw,25px);font-weight:500;line-height:1.25;letter-spacing:.06em}
