/* ============================================================
   IDEX 2027 CONCEPT PROPOSAL — narrative sections
   ============================================================ */
.wrap--wide{ max-width:1720px }

.psect{ padding:clamp(84px,11vw,168px) 0; position:relative }
.psect--dark{ background:linear-gradient(180deg,var(--ink),var(--g-950) 45%,var(--ink)) }
.psect__head{ max-width:920px; margin-bottom:clamp(46px,6vw,86px) }
.psect__head--mid{ margin-top:clamp(64px,8vw,120px) }
.psect__head--proto{ max-width:1000px }
.psect__head .t-lead{ margin-top:22px }
.editable{ display:inline-block; margin-top:18px; font-size:9px; letter-spacing:.2em;
  color:var(--g-600); border:1px dashed var(--g-700); padding:5px 10px; border-radius:2px }
.disclaim{ color:var(--g-500); max-width:820px; margin-top:26px;
  border-left:1px solid var(--g-700); padding-left:16px }
.disclaim b{ color:var(--g-400) }

/* ───── COVER ───── */
.pcover{ position:relative; min-height:100svh; display:flex; align-items:center;
  padding-top:var(--shell-h); overflow:hidden }
.pcover__bg{ position:absolute; inset:0 }
.pcover__grid{ position:absolute; inset:0; opacity:.55;
  mask-image:radial-gradient(70% 60% at 30% 45%,#000,transparent 78%) }
.pcover__glow{ position:absolute; inset:0;
  background:radial-gradient(52% 46% at 74% 34%, rgba(4,107,210,.20), transparent 66%),
             radial-gradient(40% 40% at 18% 86%, rgba(192,139,68,.13), transparent 70%) }
.pcover__in{ position:relative; z-index:2; padding-block:clamp(50px,8vh,100px) }
.pcover__meta{ display:flex; align-items:center; gap:16px; font-size:10.5px; letter-spacing:.24em;
  color:var(--g-400); margin-bottom:38px; flex-wrap:wrap }
.pcover__meta i{ width:26px; height:1px; background:var(--g-700) }
.pcover__h{ margin-bottom:34px }
.pcover__p{ max-width:620px; margin-bottom:52px }
.pcover__facts{ display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); margin-bottom:48px; max-width:1080px }
.pcover__facts div{ background:rgba(5,7,8,.72); padding:22px 20px; backdrop-filter:blur(6px) }
.pcover__facts b{ display:block; font-size:clamp(15px,1.5vw,20px); font-weight:600; letter-spacing:-.02em; color:var(--warm) }
.pcover__facts span{ display:block; margin-top:9px; font-family:var(--f-mono); font-size:9px;
  letter-spacing:.17em; color:var(--g-500) }
.pcover__scrollcue{ position:absolute; left:50%; bottom:26px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px; font-size:9px; letter-spacing:.3em; color:var(--g-600) }
.pcover__scrollcue i{ width:1px; height:38px; background:linear-gradient(var(--g-600),transparent);
  animation:cue 2.2s var(--ease) infinite }
@keyframes cue{ 0%{ transform:scaleY(0); transform-origin:top } 50%{ transform:scaleY(1); transform-origin:top }
  51%{ transform:scaleY(1); transform-origin:bottom } 100%{ transform:scaleY(0); transform-origin:bottom } }

/* ───── 01 CHALLENGE ───── */
.chal{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,80px); align-items:center }
.chal__viz{ position:relative; border:1px solid var(--line); background:var(--g-950); padding:30px; overflow:hidden }
.chal__grid{ display:grid; grid-template-columns:repeat(9,1fr); gap:7px }
.chal__grid i{ aspect-ratio:1; background:var(--g-800); border-radius:1px; transition:1s var(--ease) }
.chal__grid i.on{ background:var(--blue); box-shadow:0 0 18px -2px var(--blue-glow); transform:scale(1.18) }
.chal__label{ margin-top:24px; font-size:9px; letter-spacing:.22em; color:var(--g-600) }
.chal__line{ margin-bottom:26px; color:var(--g-500) }
.chal__line s{ text-decoration-color:var(--hot); text-decoration-thickness:1.5px }
.chal__line--on{ color:var(--warm) } .chal__line--on b{ color:var(--tech); font-weight:600 }
.chal__note{ margin-top:32px; padding-top:26px; border-top:1px solid var(--line); max-width:520px }

/* ───── 02 IDEA ───── */
.psect--idea{ background:radial-gradient(60% 50% at 78% 22%, rgba(4,107,210,.10), transparent 70%) }
.idea__h{ margin:16px 0 30px }
.idea__sub{ max-width:640px; font-weight:400; color:var(--warm-dim); margin-bottom:clamp(48px,6vw,84px) }
.idea__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line) }
.ic{ background:var(--ink); padding:clamp(26px,2.8vw,40px); position:relative; transition:background .4s var(--ease) }
.ic:hover{ background:var(--g-950) }
.ic__k{ display:block; font-size:10px; letter-spacing:.2em; color:var(--tech); margin-bottom:26px }
.ic h3{ margin-bottom:14px }

/* ───── 03 SPACE ───── */
.space{ display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(30px,4vw,64px); align-items:start }
.planwrap{ border:1px solid var(--line); background:var(--g-950); padding:clamp(16px,2vw,28px); position:relative }
.planwrap svg{ width:100%; height:auto; display:block }
.planlegend{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); border-top:0 }
.plg{ background:var(--ink); padding:14px 16px; display:flex; gap:12px; align-items:flex-start; cursor:default;
  transition:background .3s }
.plg:hover{ background:var(--g-900) }
.plg em{ width:11px; height:11px; flex:0 0 auto; margin-top:3px; border-radius:1px }
.plg b{ display:block; font-size:12px; font-weight:600; letter-spacing:.02em }
.plg span{ display:block; font-family:var(--f-mono); font-size:9.5px; color:var(--g-500); margin-top:4px }
.space__ref figure{ margin:0; border:1px solid var(--line); position:relative; overflow:hidden }
.space__list{ margin-top:28px }

/* ───── 04 STEPS ───── */
.steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); counter-reset:s }
.steps li{ background:var(--ink); padding:clamp(24px,2.6vw,38px); position:relative; transition:.45s var(--ease) }
.steps li:hover{ background:var(--g-950) }
.steps li::after{ content:''; position:absolute; left:0; top:0; width:0; height:2px; background:var(--blue); transition:width .6s var(--ease) }
.steps li:hover::after{ width:100% }
.steps__k{ display:block; font-size:10px; letter-spacing:.2em; color:var(--g-600); margin-bottom:24px }
.steps h3{ margin-bottom:16px; font-size:clamp(19px,1.8vw,26px) }

/* ───── PROTOTYPE SECTION ───── */
.psect--proto{ background:linear-gradient(180deg,var(--ink),#07090B 30%,#07090B 70%,var(--ink)) }
.protonotes{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); margin-top:clamp(30px,4vw,54px) }
.protonotes div{ background:var(--ink); padding:24px }
.protonotes b{ display:block; font-size:9.5px; letter-spacing:.19em; color:var(--tech); margin-bottom:12px }

/* ───── 06 ENGINEERING VIEW ───── */
.engv{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(32px,5vw,76px); align-items:center }
.engv__hl{ margin-top:38px; padding:26px 28px; border:1px solid var(--line); border-left:2px solid var(--tech);
  background:var(--surface) }
.engv__hl .eyebrow{ display:block; margin-bottom:16px }
.engv__frame{ border:1px solid var(--line); background:#06080A; position:relative; overflow:hidden;
  aspect-ratio:16/9; margin-bottom:20px }
.engv__frame svg{ width:100%; height:100%; display:block }

/* ───── 07 CHALLENGE MODE ───── */
.chmode{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(32px,5vw,76px); align-items:start }
.ctrl-list{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line) }
.ctrl-list div{ background:var(--ink); padding:20px 24px; display:grid; grid-template-columns:180px 1fr; gap:20px;
  align-items:baseline; transition:background .3s }
.ctrl-list div:hover{ background:var(--g-950) }
.ctrl-list b{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.16em; color:var(--tech) }
.ctrl-list span{ font-size:13.5px; color:var(--g-400) }
.chmode__end{ border:1px solid var(--line); padding:clamp(28px,3.4vw,48px);
  background:linear-gradient(150deg, rgba(217,85,47,.09), transparent 62%) }
.chmode__end .eyebrow{ display:block; margin-bottom:22px }
.chmode__end .btn{ margin-top:26px; display:inline-flex }

/* ───── 08 100M KM ───── */
.psect--km{ background:linear-gradient(180deg,var(--ink),#05070A 40%,var(--ink)); overflow:hidden }
.kmhero{ display:flex; align-items:baseline; gap:clamp(12px,2vw,26px); flex-wrap:wrap; margin:26px 0 30px }
.kmhero__n{ font-size:clamp(40px,10vw,150px); font-weight:500; letter-spacing:-.05em; line-height:.9;
  color:var(--warm); font-variant-numeric:tabular-nums;
  text-shadow:0 0 70px rgba(91,174,224,.18) }
.kmhero__u{ font-size:clamp(24px,4vw,60px); font-weight:600; letter-spacing:-.03em; color:var(--tech) }
.kmhero__t{ width:100%; margin-top:16px; color:var(--warm-dim) }
.kmhero__p{ max-width:760px; margin-bottom:clamp(40px,5vw,70px) }
.kmjourney{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); margin-bottom:clamp(48px,6vw,86px) }
.kmj{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--g-950) }
.kmj svg{ position:absolute; inset:0; width:100%; height:100% }
.kmj b{ position:absolute; left:16px; bottom:14px; font-family:var(--f-mono); font-size:10px;
  letter-spacing:.18em; color:var(--warm); z-index:2; text-shadow:0 1px 8px rgba(0,0,0,.9) }
.kmj i{ position:absolute; left:16px; top:14px; font-style:normal; font-family:var(--f-mono);
  font-size:9px; letter-spacing:.14em; color:rgba(255,255,255,.55); z-index:2 }
.kmend .t-h2{ margin-bottom:34px }
.kmend__close{ font-family:var(--f-mono); letter-spacing:.04em; color:var(--tech); line-height:1.5 }
.kmend .btn{ display:inline-flex; margin-top:24px; margin-left:14px }
.kmend .editable{ margin-right:6px }

/* ───── 09 END FLOW ───── */
.endflow{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line) }
.ef{ background:var(--ink); padding:clamp(24px,2.6vw,38px) }
.ef__k{ display:block; font-size:10px; letter-spacing:.18em; color:var(--tech); margin-bottom:24px }
.ef h3{ margin-bottom:14px }

/* ───── 10 LEAD GATE ───── */
.leadgate{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line) }
.lg{ background:var(--ink); padding:clamp(24px,2.6vw,38px); position:relative }
.lg__k{ display:block; font-size:10px; letter-spacing:.2em; color:var(--g-500); margin-bottom:22px }
.lg h3{ margin-bottom:14px }
.lg--no{ background:rgba(217,85,47,.05) } .lg--no .lg__k{ color:var(--hot) }
.lg--yes{ background:rgba(76,192,138,.05) } .lg--yes .lg__k{ color:var(--ok) }
.lg b{ color:var(--warm-dim); font-weight:600 }

/* ───── 11 OUTPUT ───── */
.outgrid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(32px,5vw,76px); align-items:start }
.outgrid__tx h3{ margin-bottom:26px }
.mailmock{ margin-top:38px; border:1px solid var(--line); background:var(--g-950); overflow:hidden }
.mailmock__bar{ display:flex; align-items:center; gap:8px; padding:11px 16px; border-bottom:1px solid var(--line);
  background:var(--g-900) }
.mailmock__bar i{ width:8px; height:8px; border-radius:50%; background:var(--g-700) }
.mailmock__bar span{ margin-left:10px; font-family:var(--f-mono); font-size:9.5px; letter-spacing:.14em; color:var(--g-500) }
.mailmock__body{ padding:26px }
.mailmock__body h4{ font-size:16px; margin:0 0 6px; letter-spacing:-.01em }
.mailmock__body .mm-sub{ font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; color:var(--tech); margin-bottom:20px }
.mailmock__rows{ display:grid; gap:9px; margin:18px 0 22px }
.mailmock__rows div{ display:flex; justify-content:space-between; gap:16px; font-size:12.5px;
  padding-bottom:8px; border-bottom:1px solid var(--line) }
.mailmock__rows dt,.mailmock__rows b{ font-family:var(--f-mono); font-size:10px; letter-spacing:.13em; color:var(--g-500); font-weight:400 }
.mailmock__rows span{ color:var(--warm-dim) }
.mm-btn{ display:inline-block; padding:11px 20px; background:var(--blue); color:#fff; font-size:10.5px;
  letter-spacing:.16em; font-weight:600; border-radius:2px }
.mm-note{ margin-top:18px; font-size:10px; color:var(--g-600); font-family:var(--f-mono); letter-spacing:.1em }

/* ───── 12/13 DATA ───── */
.anon,.ident{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line) }
.anon div,.ident div{ background:var(--ink); padding:16px 18px; display:flex; gap:11px; align-items:flex-start;
  font-size:12.5px; color:var(--g-300); transition:background .3s }
.anon div:hover,.ident div:hover{ background:var(--g-900); color:var(--warm-dim) }
.anon div::before{ content:''; flex:0 0 auto; width:5px; height:5px; margin-top:7px; border-radius:50%;
  background:var(--g-600) }
.ident div::before{ content:''; flex:0 0 auto; width:5px; height:5px; margin-top:7px; border-radius:50%;
  background:var(--tech) }
.anon div.grp,.ident div.grp{ background:var(--g-900); font-family:var(--f-mono); font-size:9.5px;
  letter-spacing:.16em; color:var(--g-500); grid-column:1/-1 }
.anon div.grp::before,.ident div.grp::before{ display:none }

/* ───── 14 INTENT ───── */
.intent{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(10px,1.4vw,20px) }
.itc{ border:1px solid var(--line); padding:clamp(24px,2.6vw,36px); position:relative; overflow:hidden;
  background:var(--surface); transition:.45s var(--ease) }
.itc::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--stage-c) }
.itc:hover{ background:var(--g-900); transform:translateY(-3px) }
.itc__k{ display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.2em; color:var(--stage-c); margin-bottom:20px }
.itc h3{ margin-bottom:14px; font-size:clamp(18px,1.7vw,24px) }
.itc__ar{ position:absolute; right:-1px; top:50%; transform:translateY(-50%); color:var(--g-700); z-index:2 }
.crmnote{ margin-top:clamp(30px,4vw,54px); border:1px solid var(--line); border-left:2px solid var(--blue);
  padding:26px 30px; background:var(--surface) }
.crmnote .eyebrow{ display:block; margin-bottom:14px }

/* ───── 17 POST-EVENT ───── */
.pe__h{ margin:16px 0 0 }
.deliv{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);
  margin-bottom:clamp(48px,6vw,84px) }
.dv{ background:var(--ink); padding:22px 24px; transition:background .35s }
.dv:hover{ background:var(--g-900) }
.dv i{ display:block; font-style:normal; font-family:var(--f-mono); font-size:9.5px; color:var(--g-600); margin-bottom:12px }
.dv b{ display:block; font-size:13px; font-weight:500; letter-spacing:-.005em; color:var(--warm-dim); line-height:1.35 }
.report{ border:1px solid var(--line); padding:clamp(28px,3.4vw,52px);
  background:radial-gradient(70% 90% at 12% 0%, rgba(4,107,210,.09), transparent 70%) }
.report__h{ margin-bottom:34px }
.report__h .eyebrow{ display:block; margin-bottom:16px }
.report__ev{ font-size:.5em; letter-spacing:.2em; color:var(--tech); display:inline-block; margin-top:10px }
.report__q{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line) }
.rq{ background:var(--ink); padding:26px 28px; position:relative }
.rq p{ font-size:16px; line-height:1.5; color:var(--warm-dim); letter-spacing:-.01em }
.rq span{ display:block; margin-top:16px; font-family:var(--f-mono); font-size:9px; letter-spacing:.18em; color:var(--g-600) }

/* ───── 18 FLOW / 20 ARCH ───── */
.flowwrap,.archwrap{ border:1px solid var(--line); background:var(--g-950); padding:clamp(18px,2.4vw,40px); overflow-x:auto }
.flowwrap svg,.archwrap svg{ width:100%; min-width:700px; height:auto; display:block }
.integr{ margin-top:clamp(30px,4vw,54px) }
.integr .eyebrow{ display:block; margin-bottom:20px }
.integr__row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line) }
.integr__row div{ background:var(--ink); padding:20px 22px }
.integr__row b{ display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.15em; color:var(--tech); margin-bottom:10px }
.integr__row span{ font-size:12.5px; color:var(--g-400); line-height:1.5 }

/* ───── 19 PRINCIPLE ───── */
.psect--principle{ background:radial-gradient(58% 46% at 22% 30%, rgba(4,107,210,.13), transparent 68%) }
.prin__h{ margin:18px 0 clamp(48px,6vw,86px) }
.prin{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line) }
.prin article{ background:var(--ink); padding:clamp(26px,3vw,44px) }
.prin .eyebrow{ display:block; margin-bottom:24px }
.prin .t-h3{ font-weight:400; color:var(--warm-dim); line-height:1.45 }

/* ───── 21 DESIGN REQ ───── */
.dreq{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);
  margin-bottom:clamp(40px,5vw,70px) }
.dr{ background:var(--ink); padding:24px 26px }
.dr b{ display:block; font-size:14px; font-weight:600; margin-bottom:10px; letter-spacing:-.01em }
.dr span{ font-size:12.5px; color:var(--g-400); line-height:1.55 }
.palette .eyebrow{ display:block; margin-bottom:20px }
.palette__row{ display:grid; grid-template-columns:repeat(7,1fr); gap:1px; background:var(--line); border:1px solid var(--line) }
.pal{ background:var(--ink); padding:0 }
.pal i{ display:block; height:76px }
.pal b{ display:block; padding:14px 16px 4px; font-size:11.5px; font-weight:600 }
.pal span{ display:block; padding:0 16px 16px; font-family:var(--f-mono); font-size:9px; letter-spacing:.1em; color:var(--g-600) }

/* ───── 22 FINAL ───── */
.psect--final{ position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:center;
  overflow:hidden; padding-block:clamp(80px,10vw,140px) }
.finalbg{ position:absolute; inset:0 }
.finalbg > div{ position:absolute; inset:0; opacity:.45; mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent 80%) }
.finalbg::after{ content:''; position:absolute; inset:0;
  background:radial-gradient(50% 44% at 50% 42%, rgba(4,107,210,.16), transparent 70%) }
.final__in{ position:relative; z-index:2; text-align:center }
.final__h{ margin-bottom:34px }
.final__s{ color:var(--warm-dim); margin-bottom:44px }
.final__rule{ width:80px; height:1px; background:var(--tech); margin:0 auto 44px }
.final__c{ margin-bottom:40px }
.final__logo{ height:26px; width:auto; margin:0 auto 40px; opacity:.9 }
.final__p{ max-width:700px; margin:0 auto 46px }
.final__cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap }
.final__foot{ position:relative; z-index:2; display:flex; justify-content:space-between; gap:20px;
  margin-top:auto; padding-top:clamp(40px,6vw,80px); flex-wrap:wrap }
.final__foot span{ color:var(--g-600); letter-spacing:.16em; font-size:9.5px }

/* ───── RESPONSIVE ───── */
@media (max-width:1280px){
  .pcover__facts{ grid-template-columns:repeat(3,1fr) }
  .idea__grid,.endflow,.leadgate,.anon,.ident,.deliv,.integr__row{ grid-template-columns:repeat(2,1fr) }
  .steps{ grid-template-columns:repeat(3,1fr) }
  .intent{ grid-template-columns:repeat(2,1fr) }
  .kmjourney{ grid-template-columns:repeat(3,1fr) }
  .dreq{ grid-template-columns:repeat(2,1fr) }
  .palette__row{ grid-template-columns:repeat(4,1fr) }
}
@media (max-width:900px){
  .chal,.space,.engv,.chmode,.outgrid,.prin,.protonotes,.report__q{ grid-template-columns:1fr }
  .steps,.idea__grid,.endflow,.leadgate,.deliv,.integr__row,.dreq{ grid-template-columns:1fr }
  .anon,.ident{ grid-template-columns:1fr 1fr }
  .kmjourney{ grid-template-columns:repeat(2,1fr) }
  .ctrl-list div{ grid-template-columns:1fr; gap:8px }
  .planlegend{ grid-template-columns:1fr }
  .intent{ grid-template-columns:1fr }
  .palette__row{ grid-template-columns:repeat(2,1fr) }
}
@media (max-width:560px){
  .pcover__facts{ grid-template-columns:repeat(2,1fr) }
  .anon,.ident{ grid-template-columns:1fr }
}

/* ── SVG diagram type ── */
.planwrap .pl-t{ font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; fill:var(--g-400) }
.planwrap .pl-t--g{ fill:#4CC08A }
.planwrap .pl-d{ font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; fill:var(--warm-dim) }
.fb rect{ fill:rgba(255,255,255,.035); stroke:var(--line-strong); stroke-width:1.2 }
.fb--v rect{ fill:rgba(244,241,234,.07); stroke:var(--warm-faint) }
.fb--hl rect{ fill:rgba(4,107,210,.16); stroke:var(--blue) }
.fb--an rect{ fill:rgba(91,174,224,.09); stroke:var(--line-blue) }
.fb--id rect{ fill:rgba(76,192,138,.09); stroke:rgba(76,192,138,.4) }
.fb-t{ font-family:var(--f-sans); font-size:13px; font-weight:600; letter-spacing:.05em; fill:var(--warm) }
.fb-s{ font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; fill:var(--g-500) }
.fb-k{ font-family:var(--f-mono); font-size:10px; letter-spacing:.2em; fill:var(--tech) }
.fb-n{ font-family:var(--f-mono); font-size:9.5px; letter-spacing:.13em; fill:var(--g-600) }
.fa{ fill:none; stroke:var(--line-blue); stroke-width:1.4 }
.fa--d{ stroke-dasharray:4 5 }
