.cv-aspect-lab { margin:2.5rem 0; padding:clamp(1rem,3vw,2rem); border:2px solid var(--ink); border-radius:17px; background:var(--white); color:var(--ink); min-width:0; scroll-margin-top:7rem; }
.article-body .cv-aspect-lab h2 { margin:.35rem 0 1rem; font-size:clamp(1.5rem,4vw,2rem); line-height:1.25; }
.article-body .cv-aspect-lab h3 { margin:0 0 .4rem; font-size:1.2rem; line-height:1.4; }
.article-body .cv-aspect-lab p { font-size:1rem; line-height:1.65; }
.article-body .cv-aspect-lab .cv-aspect-kicker { margin:0 0 .4rem; font-size:.8rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); }
.cv-aspect-lab [hidden] { display:none !important; }
.cv-aspect-original { display:flex; align-items:center; gap:1.2rem; margin:1.5rem 0; padding:1rem; background:#f3f6ed; border-radius:10px; }
.cv-aspect-original svg { width:180px; max-width:100%; height:auto; flex:none; border:1px solid #173c30; }
.cv-aspect-original figcaption { font-size:.9375rem; line-height:1.6; }
.cv-aspect-controls { margin:1.5rem 0; }
.cv-aspect-controls fieldset { margin:0; padding:0; border:0; min-width:0; }
.cv-aspect-controls legend { font-size:1.05rem; font-weight:800; padding:0 0 .8rem; }
.cv-aspect-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.cv-aspect-fields label { display:block; min-width:0; font-size:1rem; font-weight:700; }
.cv-aspect-controls input { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:48px; margin:.4rem 0; padding:.5rem 0; accent-color:var(--ink); border:0; background:var(--white); cursor:pointer; }
.cv-aspect-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-top:1rem; }
.cv-aspect-presets button { min-height:48px; font-size:.9375rem; white-space:normal; padding:.7rem .6rem; }
.cv-aspect-lab :disabled { opacity:.5; cursor:not-allowed; }
.cv-aspect-lab :focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.article-body .cv-aspect-lab .cv-aspect-help { font-size:.9375rem; color:#42594e; margin:.8rem 0; }
.cv-aspect-destination { font-weight:800; margin:1.5rem 0 1rem; }
.cv-aspect-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.cv-aspect-card { border:1px solid #85927c; border-top:5px solid #245747; border-radius:10px; padding:1rem; min-width:0; background:#fbfbf2; }
.cv-aspect-card[data-aspect-card="cover"] { border-top-color:#85620e; }
.cv-aspect-card[data-aspect-card="fill"] { border-top-color:#a3422e; }
.article-body .cv-aspect-card .cv-aspect-subtitle { font-size:.9375rem; margin:0 0 1rem; min-height:3em; }
.cv-aspect-card figure { margin:0; }
.cv-aspect-stage { width:100%; aspect-ratio:1 / 1; max-height:260px; display:flex; align-items:center; justify-content:center; }
.cv-aspect-stage svg { width:100%; height:100%; display:block; overflow:hidden; }
.cv-aspect-card figcaption { font-size:.9375rem; line-height:1.6; margin:1rem 0; }
.cv-aspect-card dl { margin:1rem 0; }
.cv-aspect-card dl > div { padding:.7rem 0; border-top:1px solid #c5cbbd; }
.cv-aspect-card dt { font-size:.875rem; line-height:1.5; }
.cv-aspect-card dd { margin:.3rem 0 0; font-size:1rem; font-weight:750; overflow-wrap:anywhere; }
.article-body .cv-aspect-card .cv-aspect-edges { font-size:.9375rem; margin:.6rem 0 0; }
.cv-aspect-conclusion { background:#edf2de; border-left:3px solid var(--ink); padding:.8rem 1rem; margin:1.5rem 0; }
.cv-aspect-lab details { border:1px solid var(--line-strong); border-radius:9px; background:var(--paper); margin-top:1rem; }
.cv-aspect-lab summary { min-height:48px; padding:.85rem 1rem; font-weight:750; font-size:1rem; cursor:pointer; }
.cv-aspect-lab details p { margin:.4rem 1rem 1rem; }
.cv-aspect-error { border:1px solid #9b281d; color:#792116; background:#fff0eb; padding:.8rem; }
.cv-aspect-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:950px) { .cv-aspect-cards { grid-template-columns:minmax(0,1fr); } .article-body .cv-aspect-card .cv-aspect-subtitle { min-height:0; } }
@media(max-width:620px) { .cv-aspect-fields { grid-template-columns:minmax(0,1fr); } .cv-aspect-original { flex-direction:column; align-items:flex-start; } }
