.atlas-hero { border-bottom:1px solid var(--line); background:radial-gradient(circle at 78% 15%,rgb(53 100 122 / 13%),transparent 27rem),linear-gradient(135deg,rgb(251 250 245 / 88%),rgb(242 239 230 / 68%)); }
.atlas-hero-inner,.atlas-content { width:min(1500px,calc(100% - 40px)); margin:0 auto; }
.atlas-hero-inner { min-height:430px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); align-items:end; gap:76px; padding:82px 0 58px; }
.atlas-hero h1 { max-width:900px; margin:14px 0 20px; font-family:var(--serif); font-size:clamp(52px,7vw,102px); font-weight:400; line-height:.91; letter-spacing:-.055em; }
.atlas-hero h1 em { color:var(--accent); font-style:normal; }
.atlas-facts { margin:0; display:grid; border:1px solid var(--line); background:rgb(251 250 245 / 82%); }
.atlas-facts div { min-width:0; display:grid; grid-template-columns:116px minmax(0,1fr); gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); }
.atlas-facts div:last-child { border-bottom:0; }
.atlas-facts dt { color:var(--faint); font-size:12px; }
.atlas-facts dd { min-width:0; margin:0; font-family:var(--mono); font-size:12px; line-height:1.45; }
.atlas-content { padding:48px 0 80px; }
.axis-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.axis-grid article { min-width:0; min-height:175px; padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgb(251 250 245 / 74%); }
.axis-grid span { color:var(--accent-dark); font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.axis-grid h3 { margin:23px 0 10px; font-family:var(--serif); font-size:24px; font-weight:400; line-height:1.15; }
.axis-grid p { margin:0; color:var(--soft); font-size:13px; line-height:1.55; }
.atlas-filter-shell { margin-top:44px; padding:21px; border:1px solid var(--line); background:rgb(251 250 245 / 88%); box-shadow:0 15px 45px rgb(23 34 31 / 6%); }
.atlas-filter-shell>header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.atlas-filter-shell h2 { margin:4px 0 0; font-family:var(--serif); font-size:27px; font-weight:400; }
.atlas-filter-shell button { padding:8px 12px; border:1px solid var(--line-strong); color:var(--soft); background:transparent; font:700 12px var(--sans); cursor:pointer; }
.atlas-filter-shell button:hover { border-color:var(--accent); color:var(--accent-dark); }
.atlas-filters { display:grid; grid-template-columns:repeat(7,minmax(130px,1fr)); gap:10px; }
.atlas-filters label { min-width:0; display:grid; gap:6px; }
.atlas-filters label>span { color:var(--faint); font-size:12px; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.atlas-filters select { width:100%; min-height:38px; padding:7px 30px 7px 9px; border:1px solid var(--line); border-radius:0; color:var(--ink); background:var(--paper-bright); font:12px var(--sans); }
.filter-summary { margin:15px 0 0; color:var(--soft); font:12px var(--mono); }
.matrix-section,.portfolio-section { margin-top:56px; }
.matrix-scroll { overflow-x:auto; padding-bottom:8px; }
.history-matrix { min-width:1040px; display:grid; grid-template-columns:210px repeat(3,minmax(260px,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.matrix-corner,.matrix-column-header,.matrix-row-header,.matrix-cell { min-width:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.matrix-corner { display:flex; align-items:end; padding:15px; color:var(--faint); font:12px var(--mono); text-transform:uppercase; }
.matrix-column-header,.matrix-row-header { display:grid; align-content:start; gap:7px; padding:16px; background:#ebe7dc; }
.matrix-column-header strong,.matrix-row-header strong { font-family:var(--serif); font-size:22px; font-weight:400; }
.matrix-column-header small,.matrix-row-header small { color:var(--soft); font-size:12px; line-height:1.45; }
.matrix-row-header { background:#e4ebe7; }
.matrix-cell { min-height:220px; padding:10px; background:rgb(251 250 245 / 78%); }
.matrix-cell-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; color:var(--faint); font:12px var(--mono); text-transform:uppercase; }
.matrix-cell-heading b { display:grid; width:21px; height:21px; place-items:center; border:1px solid var(--line); color:var(--ink); }
.matrix-case-list { display:grid; gap:6px; }
.matrix-case { min-width:0; display:grid; gap:3px; padding:8px 9px; border:1px solid transparent; border-left:2px solid var(--line-strong); background:#f2eee5; }
.matrix-case:hover { border-color:var(--accent); background:var(--paper-bright); }
.matrix-case.primary { border-color:#7b9b91; border-left:3px solid var(--green); background:var(--green-pale); }
.matrix-case strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.matrix-case small { overflow:hidden; color:var(--faint); font:12px var(--mono); text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.matrix-case[data-status="next"] { border-left-color:var(--blue); }
.matrix-gap { margin:35px 0 0; color:var(--faint); font:12px var(--mono); text-align:center; text-transform:uppercase; }
.history-portfolio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.atlas-case-card { min-width:0; min-height:420px; display:grid; grid-template-rows:auto auto 1fr auto auto; padding:18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgb(251 250 245 / 84%); }
.atlas-case-card>header { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; }
.atlas-case-card>header>div { min-width:0; }
.atlas-case-card h3 { margin:8px 0 0; font-family:var(--serif); font-size:28px; font-weight:400; line-height:1.03; }
.card-summary { margin:18px 0; color:var(--soft); font-size:13px; line-height:1.55; }
.card-taxonomy { display:grid; align-content:start; gap:9px; }
.tag-row { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.tag-row>b { width:70px; color:var(--faint); font:12px var(--mono); text-transform:uppercase; }
.atlas-tag { padding:4px 6px; border:1px solid var(--line); color:var(--soft); background:#f1eee6; font:12px var(--mono); text-transform:uppercase; }
.atlas-tag.mode { border-color:#91aaa2; color:var(--green); background:#e6efeb; }
.atlas-tag.effect { border-color:#9eabb2; color:var(--blue); background:#e5edf0; }
.atlas-tag.evidence { text-transform:none; }
.availability-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; }
.availability,.analysis-badge { padding:4px 6px; border:1px solid var(--line); color:var(--faint); font:12px var(--mono); text-transform:uppercase; }
.availability.available { border-color:#81a69b; color:var(--green); background:var(--green-pale); }
.atlas-case-card>footer { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:14px; margin:18px -18px -18px; padding:12px 18px; border-top:1px solid var(--line); }
.atlas-case-card>footer span { min-width:0; overflow:hidden; color:var(--accent-dark); font:12px var(--mono); text-overflow:ellipsis; white-space:nowrap; }
.portfolio-empty,.atlas-error { grid-column:1/-1; margin:0; padding:34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--soft); background:var(--paper-bright); text-align:center; }
.atlas-error { margin-top:24px; border:1px solid #b65b4b; color:#8d2f20; text-align:left; }
@media (max-width:1180px) { .atlas-filters { grid-template-columns:repeat(4,minmax(0,1fr)); } .history-portfolio { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:860px) { .atlas-hero-inner { min-height:auto; grid-template-columns:1fr; gap:38px; padding:64px 0 42px; } .axis-grid { grid-template-columns:1fr; } .atlas-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .atlas-hero-inner,.atlas-content { width:min(100% - 24px,1500px); } .atlas-hero h1 { font-size:48px; } .atlas-filters,.history-portfolio { grid-template-columns:1fr; } .atlas-filter-shell { padding:15px; } .atlas-filter-shell>header,.section-heading { align-items:start; flex-direction:column; } }
