/* POLYALIS Presence #108 — Situation 02 pilot, scoped */
main[data-shell-view="situation-02"] {
  --s02-ink:#153e34;
  --s02-muted:#51645a;
  --s02-accent:#65a30d;
  --s02-pale:#f2f8ec;
  --s02-border:#dce9d7;
  color:var(--s02-ink);
  font-family:var(--presence-v1-font-body);
  line-height:1.6;
}
main[data-shell-view="situation-02"] *,
main[data-shell-view="situation-02"] *::before,
main[data-shell-view="situation-02"] *::after { box-sizing:border-box; }
main[data-shell-view="situation-02"] .container {
  width:100%;max-width:1440px;margin-inline:auto;
  padding-inline:clamp(1.15rem,4vw,4.5rem);
}
main[data-shell-view="situation-02"] .section {
  padding-block:clamp(3.25rem,5vw,5.75rem);
  border:0;
}
main[data-shell-view="situation-02"] .section-tinted,
main[data-shell-view="situation-02"] .section-dense {background:var(--s02-pale)}
main[data-shell-view="situation-02"] .section-open {background:#fff}
main[data-shell-view="situation-02"] p {color:var(--s02-muted);font-family:var(--presence-v1-font-body);font-size:clamp(.98rem,1.1vw,1.12rem);line-height:1.65}
main[data-shell-view="situation-02"] h1,
main[data-shell-view="situation-02"] h2,
main[data-shell-view="situation-02"] h3 {
  color:var(--s02-ink);font-family:var(--presence-v1-font-display);
  font-weight:700;letter-spacing:-.035em;line-height:1.16
}
main[data-shell-view="situation-02"] h2 {
  font-size:clamp(1.65rem,2.7vw,2.65rem);max-width:28ch;margin-block:.55rem 1rem
}
main[data-shell-view="situation-02"] h3 {font-size:clamp(1.12rem,1.4vw,1.45rem);letter-spacing:-.02em}
main[data-shell-view="situation-02"] .eyebrow {
  color:#477a0a;font:700 .75rem/1.5 var(--presence-v1-font-body);
  letter-spacing:.115em;text-transform:uppercase
}
main[data-shell-view="situation-02"] .section-heading {max-width:66rem;margin-block-end:1.75rem}
main[data-shell-view="situation-02"] .section-heading p {max-width:65ch}
main[data-shell-view="situation-02"] .idea-hero {
  background:radial-gradient(circle at 86% 40%,#e8f4db 0,transparent 46%),
   linear-gradient(125deg,#fff 0%,#f7fbf4 67%,#f0f8e9 100%);
  position:relative;isolation:isolate;padding-block:clamp(4rem,7vw,8rem)
}
main[data-shell-view="situation-02"] .idea-hero::before {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(to right,rgba(101,163,13,.045) 1px,transparent 1px),
   linear-gradient(to bottom,rgba(101,163,13,.045) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to left,#000,transparent 86%)
}
main[data-shell-view="situation-02"] .idea-hero-inner {
  max-width:1440px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(17rem,.85fr);
  gap:clamp(2rem,5vw,5rem);align-items:center
}
main[data-shell-view="situation-02"] .idea-hero-copy {min-width:0;max-width:52rem}
main[data-shell-view="situation-02"] h1 {
  font-size:clamp(2.65rem,5vw,5.4rem);margin:.6rem 0 1.35rem;max-width:16ch
}
main[data-shell-view="situation-02"] .idea-lead {
  color:var(--s02-ink);font-size:clamp(1.1rem,1.4vw,1.3rem);font-weight:600;
  max-width:60ch;margin:0 0 1.1rem
}
main[data-shell-view="situation-02"] .idea-principle {
  border-left:3px solid var(--s02-accent);padding-left:1rem;
  margin:1rem 0;color:var(--s02-ink);font-size:1.02rem;max-width:62ch
}
main[data-shell-view="situation-02"] .idea-hero-copy > p:last-child {margin-bottom:0}
main[data-shell-view="situation-02"] .idea-hero-card {
  border-radius:14px;background:#fff;border:1px solid var(--s02-border);
  padding:clamp(1.2rem,2vw,1.65rem);box-shadow:0 18px 50px rgba(25,62,40,.045);
}
main[data-shell-view="situation-02"] .idea-hero-card > p {
  color:#477a0a;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;font-size:.74rem;margin:0 0 .65rem
}
main[data-shell-view="situation-02"] .idea-hero-card ol {padding:0;margin:0;list-style:none}
main[data-shell-view="situation-02"] .idea-hero-card li {
  display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;
  gap:.8rem;padding:.78rem 0;border-bottom:1px solid #e4eddf;
  color:var(--s02-ink);font-size:.95rem;font-weight:600
}
main[data-shell-view="situation-02"] .idea-hero-card li:last-child{border:0}
main[data-shell-view="situation-02"] .idea-hero-card li span{
  display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;
  background:var(--s02-accent);color:#fff;font-size:.72rem;font-weight:700
}
main[data-shell-view="situation-02"] .idea-recognition-grid,
main[data-shell-view="situation-02"] .idea-scenarios {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.7rem,1.3vw,1.1rem);padding:0;margin:0;list-style:none
}
main[data-shell-view="situation-02"] .idea-recognition-grid li,
main[data-shell-view="situation-02"] .idea-recognition-grid li:last-child {
  width:auto;grid-column:auto;justify-self:stretch;
  min-height:0;display:block;position:relative;padding:1.3rem 1.35rem 1.35rem 2.1rem;
  background:#fff;border:1px solid var(--s02-border);border-radius:12px;
  font:400 clamp(.95rem,1.1vw,1.06rem)/1.55 var(--presence-v1-font-body);
  color:var(--s02-ink)
}
main[data-shell-view="situation-02"] .idea-recognition-grid li::before {
  content:"";position:absolute;top:1.87rem;left:1.15rem;
  width:.38rem;height:.38rem;border-radius:50%;background:var(--s02-accent)
}
main[data-shell-view="situation-02"] .idea-statement,
main[data-shell-view="situation-02"] .idea-hypotheses-panel,
main[data-shell-view="situation-02"] .idea-scope-panel,
main[data-shell-view="situation-02"] .idea-documentation,
main[data-shell-view="situation-02"] .idea-before-contact,
main[data-shell-view="situation-02"] .idea-need-panel {
  max-width:72rem;padding:clamp(1.35rem,3.2vw,3rem);
  border:1px solid var(--s02-border);border-radius:16px;
  background:linear-gradient(125deg,#fff,#f6faf3)
}
main[data-shell-view="situation-02"] .idea-statement {border-left:1px solid var(--s02-border)}
main[data-shell-view="situation-02"] .large-copy{font-size:clamp(1.04rem,1.3vw,1.22rem);color:var(--s02-ink)}
main[data-shell-view="situation-02"] .idea-example {
  background:#fff;border:1px solid var(--s02-border);border-radius:12px;
  margin-block:1.5rem;padding:1.5rem
}
main[data-shell-view="situation-02"] .idea-example-source {
  font:700 clamp(1.25rem,2vw,1.75rem)/1.3 var(--presence-v1-font-display);color:var(--s02-ink)
}
main[data-shell-view="situation-02"] .idea-axes,
main[data-shell-view="situation-02"] .idea-hypotheses,
main[data-shell-view="situation-02"] .idea-levels {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;
  margin-block:1.5rem;border:0
}
main[data-shell-view="situation-02"] .idea-axis,
main[data-shell-view="situation-02"] .idea-axis:nth-child(even),
main[data-shell-view="situation-02"] .idea-axis:nth-child(odd),
main[data-shell-view="situation-02"] .idea-hypotheses p {
  display:block;min-width:0;padding:1.45rem;background:#fff;
  border:1px solid var(--s02-border);border-radius:12px;margin:0
}
main[data-shell-view="situation-02"] .idea-axis > span,
main[data-shell-view="situation-02"] .idea-scenario > span,
main[data-shell-view="situation-02"] .idea-level > span {color:var(--s02-accent);font-size:.77rem;font-weight:700}
main[data-shell-view="situation-02"] .idea-axis h3 {margin:.6rem 0}
main[data-shell-view="situation-02"] .idea-axis p{margin:0}
main[data-shell-view="situation-02"] .idea-hypotheses p {
  font:400 1.02rem/1.6 var(--presence-v1-font-body);color:var(--s02-ink)
}
main[data-shell-view="situation-02"] .idea-progressive,
main[data-shell-view="situation-02"] .idea-decisions,
main[data-shell-view="situation-02"] .idea-start-panel {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,3.5rem);align-items:start
}
main[data-shell-view="situation-02"] .idea-scenario {
  min-height:0;padding:1.4rem;border:1px solid var(--s02-border);
  background:#fff;border-radius:12px
}
main[data-shell-view="situation-02"] .idea-scenario h3 {margin:.65rem 0}
main[data-shell-view="situation-02"] .idea-scenario p {margin:0}
main[data-shell-view="situation-02"] .idea-levels {grid-template-columns:repeat(3,minmax(0,1fr))}
main[data-shell-view="situation-02"] .idea-level,
main[data-shell-view="situation-02"] .idea-level + .idea-level {
  min-width:0;border:1px solid var(--s02-border);border-radius:12px;
  padding:1.5rem;background:#fff
}
main[data-shell-view="situation-02"] .idea-level h3{margin:.7rem 0}
main[data-shell-view="situation-02"] .idea-level p {margin:0}
main[data-shell-view="situation-02"] .idea-decisions ul {border-top:0;list-style:none}
main[data-shell-view="situation-02"] .idea-decisions li:first-child{border-top:1px solid var(--s02-border)}
main[data-shell-view="situation-02"] .idea-start-panel{
  max-width:72rem;padding:clamp(1.3rem,3vw,2.5rem);
  border:1px solid var(--s02-border);border-radius:14px;background:#f8fbf6
}
main[data-shell-view="situation-02"] .idea-start-list {padding-left:1.25rem}
main[data-shell-view="situation-02"] .idea-start-list li {margin-bottom:.65rem}
main[data-shell-view="situation-02"] .idea-start-conclusion {
  grid-column:1/-1;border-top:1px solid var(--s02-border);padding-top:1rem;margin:0
}
main[data-shell-view="situation-02"] .final-cta {
  background:linear-gradient(110deg,#123f33,#285e32);
  padding-block:clamp(4rem,6vw,6.5rem);text-align:center
}
main[data-shell-view="situation-02"] .final-cta-inner {max-width:58rem}
main[data-shell-view="situation-02"] .final-cta .eyebrow{color:#c7e9a4}
main[data-shell-view="situation-02"] .final-cta h2{color:#fff;max-width:none}
main[data-shell-view="situation-02"] .final-cta p{color:#fff}
main[data-shell-view="situation-02"] .action-row {justify-content:center;margin-block:1.7rem 0}
main[data-shell-view="situation-02"] .button-on-dark {
  display:inline-flex;align-items:center;justify-content:center;
  min-height:3rem;padding:.75rem 1.35rem;
  border:1px solid #fff;border-radius:8px;background:#fff;
  color:#123f33;text-decoration:none;font-weight:700
}
main[data-shell-view="situation-02"] .button-on-dark:hover {background:#eef8e9}
@media(max-width:970px) {
  main[data-shell-view="situation-02"] .idea-hero-inner{grid-template-columns:1fr}
  main[data-shell-view="situation-02"] .idea-hero-card{max-width:32rem}
  main[data-shell-view="situation-02"] .idea-recognition-grid,
  main[data-shell-view="situation-02"] .idea-scenarios{grid-template-columns:repeat(2,minmax(0,1fr))}
  main[data-shell-view="situation-02"] .idea-levels {grid-template-columns:1fr}
}
@media(max-width:660px) {
  main[data-shell-view="situation-02"] .section{padding-block:3.1rem}
  main[data-shell-view="situation-02"] h1{font-size:clamp(2.2rem,10vw,3rem)}
  main[data-shell-view="situation-02"] .idea-hero{padding-block:3.5rem}
  main[data-shell-view="situation-02"] .idea-recognition-grid,
  main[data-shell-view="situation-02"] .idea-axes,
  main[data-shell-view="situation-02"] .idea-hypotheses,
  main[data-shell-view="situation-02"] .idea-scenarios,
  main[data-shell-view="situation-02"] .idea-progressive,
  main[data-shell-view="situation-02"] .idea-decisions,
  main[data-shell-view="situation-02"] .idea-start-panel {grid-template-columns:1fr}
  main[data-shell-view="situation-02"] .idea-start-conclusion{grid-column:auto}
}

/* S02 — recognition grid 4+3 centered */
main[data-shell-view="situation-02"] .idea-recognition-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

main[data-shell-view="situation-02"] .idea-recognition-grid li,
main[data-shell-view="situation-02"] .idea-recognition-grid li:last-child {
    flex: 0 1 calc((100% - 3rem) / 4);
    width: auto;
    min-width: 0;
}

@media (max-width: 970px) {
    main[data-shell-view="situation-02"] .idea-recognition-grid li,
    main[data-shell-view="situation-02"] .idea-recognition-grid li:last-child {
        flex-basis: calc((100% - 1rem) / 2);
    }
}

@media (max-width: 660px) {
    main[data-shell-view="situation-02"] .idea-recognition-grid li,
    main[data-shell-view="situation-02"] .idea-recognition-grid li:last-child {
        flex-basis: 100%;
    }
}

/* S02 — vertical rhythm refinement V1.1 */

/* Sections: maintain breathing room with less empty height */
main[data-shell-view="situation-02"] .section:not(.idea-hero):not(.final-cta) {
    padding-block: clamp(2.75rem, 4vw, 4.5rem);
}

/* Explanatory panels: slightly tighter internal padding */
main[data-shell-view="situation-02"] .idea-statement,
main[data-shell-view="situation-02"] .idea-need-panel,
main[data-shell-view="situation-02"] .idea-hypotheses-panel,
main[data-shell-view="situation-02"] .idea-scope-panel,
main[data-shell-view="situation-02"] .idea-documentation,
main[data-shell-view="situation-02"] .idea-before-contact {
    padding: clamp(1.25rem, 2.5vw, 2.4rem);
}

/* Headings and text: reduce unnecessary internal gaps */
main[data-shell-view="situation-02"] .section-heading {
    margin-block-end: 1.4rem;
}

main[data-shell-view="situation-02"] .idea-statement > :last-child,
main[data-shell-view="situation-02"] .idea-need-panel > :last-child,
main[data-shell-view="situation-02"] .idea-hypotheses-panel > :last-child,
main[data-shell-view="situation-02"] .idea-scope-panel > :last-child,
main[data-shell-view="situation-02"] .idea-documentation > :last-child,
main[data-shell-view="situation-02"] .idea-before-contact > :last-child {
    margin-bottom: 0;
}

@media (max-width: 660px) {
    main[data-shell-view="situation-02"] .section:not(.idea-hero):not(.final-cta) {
        padding-block: 2.8rem;
    }
}
