/* Websjekk visual differentiation v1
   Corrective representation pass after visual QA: preserve semantics, vary visual language.
*/

/* Shared method compaction ------------------------------------------------ */
.source-graph-page .source-graph-method[data-ai-tools-method-motion],
.source-graph-page .source-graph-method[data-marketing-method-motion],
.source-graph-page .source-graph-method.ws-method-motion {
  min-height: 0 !important;
  padding: clamp(1.5rem, 3vw, 2.65rem) !important;
  gap: clamp(1.35rem, 3vw, 2.6rem) !important;
  align-items: start !important;
}

.source-graph-page .source-graph-method[data-ai-tools-method-motion] .source-graph-method__flow,
.source-graph-page .source-graph-method[data-marketing-method-motion] .source-graph-method__flow,
.source-graph-page .source-graph-method.ws-method-motion .source-graph-method__flow {
  margin-top: .4rem !important;
}

.source-graph-page .source-graph-method[data-ai-tools-method-motion] .source-graph-method__step,
.source-graph-page .source-graph-method[data-marketing-method-motion] .source-graph-method__step,
.source-graph-page .source-graph-method.ws-method-motion .source-graph-method__step {
  min-height: 10.75rem !important;
}

/* Homepage: signal map instead of floating circles ----------------------- */
.home-v2-ai {
  grid-template-columns: minmax(30rem, .96fr) minmax(0, 1.04fr) !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
  padding: clamp(1.5rem, 3vw, 2.6rem) !important;
}

.home-v2-ai__visual.ws-signal-map {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(6.5rem, 1fr));
  gap: .9rem;
  min-height: 31rem !important;
  padding: 1.35rem;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(255,255,255,.11);
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    radial-gradient(circle at 52% 48%, rgba(93,151,132,.16), transparent 12rem),
    #111b21;
  background-size: 36px 36px, 36px 36px, auto, auto;
}

.ws-signal-map__lines {
  position: absolute;
  inset: 9% 7%;
  z-index: 0;
  width: 86%;
  height: 82%;
  overflow: visible;
  pointer-events: none;
}

.ws-signal-map__lines path {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke: rgba(171,211,198,.28);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-dasharray: 3 7;
}

.ws-signal-map__hub,
.ws-signal-map__node {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: .95rem;
  color: #edf4f2;
  background: rgba(255,255,255,.045);
  box-shadow: 0 .8rem 2.2rem rgba(0,0,0,.08);
}

.ws-signal-map__node span,
.ws-signal-map__hub span {
  color: #98b9af;
  font-size: .62rem;
  font-weight: 820;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.ws-signal-map__node strong,
.ws-signal-map__hub strong {
  margin-top: .5rem;
  font-size: clamp(.92rem, 1.15vw, 1.08rem);
  line-height: 1.22;
}

.ws-signal-map__node small,
.ws-signal-map__hub small {
  margin-top: .35rem;
  color: #9ba9ad;
  font-size: .72rem;
  line-height: 1.35;
}

.ws-signal-map__hub {
  grid-column: 2;
  grid-row: 2;
  justify-content: center;
  border-color: rgba(176,215,202,.28);
  background: linear-gradient(145deg, rgba(79,130,113,.2), rgba(255,255,255,.05));
  box-shadow: 0 0 0 1px rgba(120,177,158,.08), 0 1.2rem 3rem rgba(0,0,0,.14);
}

.ws-signal-map__search { grid-column: 1; grid-row: 1; }
.ws-signal-map__ai { grid-column: 3; grid-row: 1; }
.ws-signal-map__social { grid-column: 1; grid-row: 3; }
.ws-signal-map__content { grid-column: 3; grid-row: 3; }
.ws-signal-map__action {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  border-color: rgba(232,188,126,.25);
  background: rgba(232,188,126,.075);
}

/* AI & verktøy: tool console / stack ------------------------------------ */
.ws-tool-console {
  display: grid;
  align-self: center;
  gap: .65rem;
  padding: 1rem;
  border: 1px solid rgba(85,114,140,.18);
  border-radius: 1rem;
  background: rgba(247,250,252,.66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.ws-tool-console__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .2rem .25rem .8rem;
  border-bottom: 1px solid rgba(85,114,140,.13);
  color: #607485;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ws-tool-console__lane {
  display: grid;
  grid-template-columns: 2.4rem minmax(0,1fr) auto;
  gap: .8rem;
  align-items: center;
  min-height: 3.7rem;
  padding: .72rem .8rem;
  border: 1px solid rgba(85,114,140,.14);
  border-radius: .78rem;
  background: rgba(255,255,255,.86);
}

.ws-tool-console__lane:nth-child(2) { margin-right: 7%; }
.ws-tool-console__lane:nth-child(3) { margin-left: 4%; margin-right: 3%; }
.ws-tool-console__lane:nth-child(4) { margin-left: 8%; }
.ws-tool-console__lane:nth-child(5) { margin-left: 12%; }

.ws-tool-console__index {
  color: #55728c;
  font: 800 .68rem/1 system-ui;
  letter-spacing: .08em;
}

.ws-tool-console__lane strong { display:block; color:#2b3945; font-size:.9rem; }
.ws-tool-console__lane small { display:block; margin-top:.15rem; color:#77828a; font-size:.72rem; }
.ws-tool-console__state {
  min-width: 3.8rem;
  padding: .35rem .5rem;
  border-radius: .45rem;
  color: #55728c;
  background: #edf3f7;
  font-size: .6rem;
  font-weight: 820;
  letter-spacing: .08em;
  text-align: center;
}

/* Synlighet: search/discovery rail -------------------------------------- */
.ws-search-rail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .8rem;
  align-self: center;
  padding: .85rem;
  border: 1px solid rgba(151,128,94,.17);
  border-radius: 1rem;
  background: rgba(255,253,249,.62);
}

.ws-search-rail__stage {
  position: relative;
  min-height: 6.2rem;
  padding: .9rem;
  overflow: hidden;
  border: 1px solid rgba(151,128,94,.16);
  border-radius: .8rem;
  background: rgba(255,255,255,.75);
}

.ws-search-rail__stage::after {
  content:"";
  position:absolute;
  right:-1rem;
  bottom:-1.4rem;
  width:4rem;
  height:4rem;
  border:1px solid rgba(154,112,65,.12);
  border-radius:50%;
}

.ws-search-rail__meta {
  color:#9a7041;
  font-size:.62rem;
  font-weight:820;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ws-search-rail__stage strong { display:block; margin-top:.7rem; color:#302d28; font-size:.94rem; }
.ws-search-rail__stage small { display:block; margin-top:.2rem; color:#777067; font-size:.72rem; line-height:1.35; }
.ws-search-rail__glyph {
  display:flex;
  gap:.28rem;
  align-items:flex-end;
  height:1.4rem;
  margin-top:.7rem;
}
.ws-search-rail__glyph i { display:block; width:.32rem; border-radius:.2rem .2rem 0 0; background:#9a7041; opacity:.5; }
.ws-search-rail__glyph i:nth-child(1){height:.45rem}.ws-search-rail__glyph i:nth-child(2){height:.9rem}.ws-search-rail__glyph i:nth-child(3){height:1.3rem}.ws-search-rail__glyph i:nth-child(4){height:.72rem}

/* Norsk tech: evidence ledger ------------------------------------------- */
.ws-evidence-ledger {
  align-self: center;
  overflow: hidden;
  border: 1px solid rgba(97,112,92,.18);
  border-radius: 1rem;
  background: rgba(250,252,249,.74);
  box-shadow: 0 1rem 2.6rem rgba(55,65,56,.035);
}

.ws-evidence-ledger__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 1rem;
  border-bottom:1px solid rgba(97,112,92,.14);
  color:#5d725f;
  font-size:.65rem;
  font-weight:820;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.ws-evidence-ledger__row {
  display:grid;
  grid-template-columns:2.2rem minmax(0,1fr) auto;
  gap:.85rem;
  align-items:center;
  min-height:4rem;
  padding:.7rem 1rem;
  border-bottom:1px solid rgba(97,112,92,.11);
}
.ws-evidence-ledger__row:last-child{border-bottom:0}
.ws-evidence-ledger__row b{color:#4f735a;font-size:.66rem;letter-spacing:.06em}
.ws-evidence-ledger__row strong{display:block;color:#28332b;font-size:.9rem}
.ws-evidence-ledger__row small{display:block;margin-top:.15rem;color:#748078;font-size:.72rem}
.ws-evidence-ledger__status{padding:.3rem .45rem;border:1px solid rgba(79,115,90,.14);border-radius:.35rem;color:#4f735a;background:#eef5ef;font-size:.58rem;font-weight:820;letter-spacing:.07em}

/* Magasin: editorial deck, not another process diagram ------------------ */
.insights-home-v1__method.ws-editorial-deck {
  padding: clamp(1.45rem, 3vw, 2.5rem) !important;
  background:
    linear-gradient(90deg, rgba(108,89,125,.06), transparent 30%),
    linear-gradient(145deg,#f5f2f5 0%,#fbfaf7 72%) !important;
}

.ws-editorial-deck .insights-home-v1__head { margin-bottom: 1.2rem; }
.ws-editorial-deck .ih-method-grid {
  grid-template-columns: 1.15fr .9fr .9fr 1.05fr;
  gap: .75rem;
  margin-top: .8rem;
}
.ws-editorial-deck .ih-method-step {
  position:relative;
  min-height:10.5rem;
  padding:1rem 1rem 1.1rem;
  overflow:hidden;
  border-radius:.75rem;
  background:rgba(255,255,255,.76);
}
.ws-editorial-deck .ih-method-step::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:#7c687f;
  opacity:.55;
}
.ws-editorial-deck .ih-method-step span {
  display:block;
  width:auto;
  height:auto;
  margin:0 0 2rem;
  border-radius:0;
  color:#7c687f;
  background:transparent;
  font-size:.68rem;
  letter-spacing:.12em;
}
.ws-editorial-deck .ih-method-step strong{font-size:1.08rem;line-height:1.22}

/* Responsive ------------------------------------------------------------- */
@media (max-width: 64rem) {
  .home-v2-ai { grid-template-columns:1fr !important; }
  .home-v2-ai__visual.ws-signal-map { min-height:28rem !important; }
  .source-graph-page .source-graph-method[data-ai-tools-method-motion],
  .source-graph-page .source-graph-method[data-marketing-method-motion],
  .source-graph-page .source-graph-method.ws-method-motion { grid-template-columns:1fr !important; }
}

@media (max-width: 48rem) {
  .home-v2-ai__visual.ws-signal-map {
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    min-height:0 !important;
    padding:1rem;
  }
  .ws-signal-map__lines{display:none}
  .ws-signal-map__hub{grid-column:1/-1;grid-row:auto;order:-1;min-height:6rem}
  .ws-signal-map__search,.ws-signal-map__ai,.ws-signal-map__social,.ws-signal-map__content,.ws-signal-map__action{grid-column:auto;grid-row:auto;align-self:stretch}
  .ws-signal-map__action{grid-column:1/-1}
  .ws-search-rail{grid-template-columns:1fr}
  .ws-tool-console__lane:nth-child(n){margin-left:0;margin-right:0}
  .ws-editorial-deck .ih-method-grid{grid-template-columns:1fr}
  .ws-editorial-deck .ih-method-step{min-height:0}
}

@media (prefers-reduced-motion: reduce) {
  .ws-signal-map__lines path,
  .ws-tool-console__lane,
  .ws-search-rail__stage,
  .ws-evidence-ledger__row,
  .ws-editorial-deck .ih-method-step { transition:none !important; animation:none !important; }
}
