.cultural-explorer { max-width:1100px; }
.cultural-explorer>p { max-width:850px; line-height:1.7; }
.cultural-controls { display:flex; flex-wrap:wrap; align-items:end; gap:16px; padding:20px; border:1px solid var(--line); background:#fff; border-radius:12px; margin:24px 0 12px; }
.cultural-controls label { display:grid; gap:8px; font-size:14px; font-weight:700; }
.cultural-controls select { min-width:190px; max-width:100%; padding:12px 36px 12px 12px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); font:inherit; }
.cultural-count,.cultural-source-note,.depth-attribution { font-size:13px; color:#5c5369; line-height:1.6; }
.cultural-timeline { list-style:none; padding:0; margin:24px 0; }
.cultural-timeline>li { display:grid; grid-template-columns:130px minmax(0,1fr); gap:28px; position:relative; padding-bottom:24px; }
.cultural-year { border-right:3px solid var(--violet); display:flex; flex-direction:column; gap:8px; padding:16px 14px 0 0; }
.cultural-year time { font-size:36px; font-weight:900; letter-spacing:-.04em; color:var(--purple); }
.cultural-year span { font-size:12px; font-weight:700; }
.cultural-card { padding:24px; background:#fff; border:1px solid var(--line); border-radius:12px; min-width:0; }
.cultural-card h3 { margin:0 0 12px; font-size:23px; line-height:1.3; }
.cultural-card p { line-height:1.7; margin:12px 0; }
.cultural-links { display:flex; flex-wrap:wrap; gap:10px 24px; font-size:14px; font-weight:700; }
.cultural-links a,.dossier-depth a,.documentation-atelier a { color:var(--purple); text-decoration:underline; text-underline-offset:3px; }
.cultural-card .licensed-photo { max-width:420px; margin:20px 0 0; }
.cultural-card .licensed-photo img { width:100%; max-height:230px; object-fit:contain; background:#faf9fc; }
.cultural-card .licensed-photo figcaption { font-size:12px; line-height:1.6; }
.cultural-explorer [hidden],.guide-quick [hidden] { display:none !important; }
.dossier-depth { border-top:3px solid var(--violet); margin:40px 0; padding-top:24px; }
.dossier-depth .editorial-table { min-width:580px; }
.dossier-depth caption { text-align:left; line-height:1.5; padding:12px 0; font-size:14px; }
.guide-quick .guide-check-label { display:flex; align-items:start; gap:14px; flex:1; min-width:0; cursor:pointer; }
.guide-quick { background:#f1ebfa; color:var(--ink); border:1px solid var(--line); border-top:4px solid var(--violet); }
.guide-quick ol { grid-template-columns:1fr; gap:12px; }
.guide-quick ol li { display:flex; gap:14px; background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px; }
.guide-quick li>span { color:var(--purple); padding-top:7px; }
.guide-quick .guide-check-text { color:var(--ink); font:400 15px/1.6 Arial,Helvetica,sans-serif; }
.guide-quick .guide-check-label input { margin-top:5px; width:21px; height:21px; flex:0 0 21px; accent-color:var(--purple); cursor:pointer; }
.guide-quick li.is-checked { background:#f0f8f4; }
.guide-check-progress { margin:18px 0; }
.guide-check-progress progress { width:100%; height:12px; accent-color:var(--purple); }
.guide-check-progress p { font-size:14px; font-weight:700; margin:8px 0; }
.guide-check-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.guide-check-actions button { cursor:pointer; }
.guide-check-actions button[aria-pressed="true"] { background:var(--purple); color:#fff; }
.guide-check-help { font-size:13px; line-height:1.65; }
.guide-deliverable { padding:24px; border-left:4px solid var(--violet); background:#fff; margin:30px 0; }
.guide-deliverable h2 { font-size:24px; }
.documentation-atelier { margin:36px 0; }
.documentation-atelier figure { margin:20px 0; }
.documentation-atelier img { width:100%; height:auto; border-radius:12px; }
.documentation-atelier figcaption { font-size:13px; line-height:1.6; padding:12px 0; color:#5c5369; }
.documentation-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; list-style:none; padding:0; counter-reset:documentation; }
.documentation-flow li { border:1px solid var(--line); border-top:3px solid var(--violet); background:#fff; border-radius:8px; padding:16px; line-height:1.6; counter-increment:documentation; }
.documentation-flow li:before { content:'0' counter(documentation); display:block; color:var(--violet); font-size:24px; font-weight:900; margin-bottom:8px; }
.documentation-flow strong { display:block; margin-bottom:6px; }
.cultural-controls :focus-visible,.guide-quick :focus-visible { outline:3px solid var(--violet); outline-offset:4px; }
@media(max-width:650px) {
  .cultural-timeline>li { grid-template-columns:1fr; gap:10px; }
  .cultural-year { flex-direction:row; align-items:center; border-right:0; border-left:3px solid var(--violet); padding:4px 0 4px 14px; gap:16px; }
  .cultural-year time { font-size:30px; }
  .cultural-card { padding:18px; }
  .cultural-controls label,.cultural-controls select { width:100%; }
  .documentation-flow { grid-template-columns:1fr 1fr; }
  .guide-check-actions { flex-direction:column; }
}
@media(max-width:380px) { .documentation-flow { grid-template-columns:1fr; } }
@media print {
  .cultural-controls,.guide-check-actions,.guide-check-help,.depth-attribution { display:none !important; }
  .cultural-card,.documentation-flow li { break-inside:avoid; }
  .guide-quick li.is-checked { background:transparent; }
}
