/* Market Entry · Service 04 · market-entry.html
   The datasheet of the market. Split-title hero in the family grammar,
   stat wall of sourced figures, checklist, stage table, sector desks.
   Built on styles.css tokens. Reuses .mono, .acc, .rv, .stairsdiv.
   Scoped under main.p-mentry. */

main.p-mentry{ --muted:#5c655f; --deep:#2a3a35; }

.p-mentry .me-sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }

/* ---------- section rhythm ---------- */
.p-mentry .me-sec{ position:relative; padding-top:clamp(3rem,7vh,5rem); padding-bottom:clamp(1rem,3vh,2rem) }
.p-mentry .me-h2{ font-size:clamp(1.55rem,3.4vw,2.6rem); font-weight:500; letter-spacing:-.025em;
  line-height:1.06; max-width:26ch; margin-bottom:1.6rem }
.p-mentry .me-body{ font-size:clamp(1.02rem,1.6vw,1.28rem); line-height:1.5; max-width:62ch }
.p-mentry .me-quiet{ margin-top:1.4rem; color:var(--muted); line-height:1.7; max-width:70ch; font-size:.97rem }

/* ---------- 1 · hero (family split-title grammar) ---------- */
.p-mentry .me-hero{ padding-top:clamp(6.5rem,14vh,10.5rem) }
.p-mentry .me-title{ display:block; font-family:var(--sans); font-weight:500;
  font-size:clamp(3.4rem,10.6vw,9.6rem); line-height:.95; letter-spacing:-.03em }
.p-mentry .me-title-a{ color:var(--teal) }
.p-mentry .me-title-b{ color:var(--paper) }

.p-mentry .me-stack{ position:relative; display:grid; grid-template-areas:"stack";
  margin:1.6rem calc(-1 * clamp(1rem,3vw,2.5rem)) 0 }
.p-mentry .me-hero-img{ grid-area:stack; margin:0; overflow:hidden; position:relative;
  background:var(--teal-deep); min-height:100% }
.p-mentry .me-hero-img img{ position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:50% 30%; display:block }
.p-mentry .me-hero-img::after{ content:""; position:absolute; inset:0;
  background:var(--teal-deep); opacity:.5; pointer-events:none }

.p-mentry .me-hero-over{ grid-area:stack; position:relative; z-index:1;
  display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  gap:clamp(2.5rem,8vh,5rem);
  padding:clamp(1.2rem,3vh,2rem) clamp(1rem,3vw,2.5rem)
    calc(clamp(160px,32vh,340px) + 2rem);
  min-height:clamp(30rem,78vh,46rem) }

.p-mentry .me-panel{ background:var(--paper); color:var(--ink);
  padding:clamp(1.2rem,2.5vw,1.8rem); width:min(33rem,100%); align-self:flex-end }
.p-mentry .me-lede{ font-size:clamp(1rem,1.6vw,1.22rem); line-height:1.45; color:var(--deep); margin:0 }
.p-mentry .me-kick{ margin:1.1rem 0 0; color:var(--teal-deep) }

.p-mentry .me-btns{ display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin-top:1.4rem }
.p-mentry .me-btn{ display:inline-block; font-family:var(--mono); font-size:.72rem; letter-spacing:.08em;
  text-transform:uppercase; padding:1rem 1.7rem; text-decoration:none; transition:background .3s, color .3s }
.p-mentry .me-solid{ background:var(--teal); color:var(--white) }
.p-mentry .me-solid:hover{ background:var(--teal-deep) }
.p-mentry .me-brkt{ padding:1rem .4rem; color:var(--teal); transition:letter-spacing .3s var(--e-out), color .3s }
.p-mentry .me-brkt:hover{ color:var(--ink); letter-spacing:.14em }

.p-mentry .me-stairs{ height:clamp(160px,32vh,340px) }

@media (max-width:820px){
  .p-mentry .me-hero-over{ padding-bottom:calc(160px + 1.5rem); min-height:34rem }
  .p-mentry .me-stairs{ height:160px }
  .p-mentry .me-panel{ width:100% }
}
@media (max-width:640px){
  .p-mentry .me-hero-img img{ object-position:62% 16% }
}
@media (min-width:641px) and (max-width:1023px){
  .p-mentry .me-hero{ padding-top:16.5rem }
}

/* ---------- 2 · stat wall ---------- */
.p-mentry .me-wall{ overflow:hidden }
.p-mentry .me-iraq{ position:absolute; z-index:0; right:clamp(0rem,4vw,4rem); top:50%;
  transform:translateY(-50%); height:min(92%,34rem); width:auto; opacity:.08;
  fill:var(--teal-deep); pointer-events:none }
.p-mentry .me-wall > :not(.me-iraq){ position:relative; z-index:1 }

.p-mentry .sw-grid{ display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--ink); border-bottom:1px solid var(--line); margin-top:1.8rem }
.p-mentry .sw-tile{ padding:1.6rem 1.4rem 1.6rem 0; display:flex; flex-direction:column; gap:.7rem }
.p-mentry .sw-tile + .sw-tile{ border-left:1px solid var(--line); padding-left:1.4rem }
.p-mentry .sw-n{ font-family:var(--sans); font-weight:500; color:var(--teal);
  font-variant-numeric:tabular-nums; letter-spacing:-.03em; line-height:1;
  font-size:clamp(2.1rem,3.6vw,3.4rem); white-space:nowrap }
.p-mentry .sw-claim{ font-size:.95rem; line-height:1.45; max-width:26ch; margin:0 }
.p-mentry .sw-src{ margin:auto 0 0; padding-top:.8rem; font-size:.6rem; line-height:1.6; color:var(--muted) }
.p-mentry .sw-foot{ margin-top:1.1rem; color:var(--muted); font-size:.64rem }

@media (max-width:1023px){
  .p-mentry .sw-grid{ grid-template-columns:1fr 1fr }
  .p-mentry .sw-tile{ padding:1.4rem 1.2rem 1.4rem 0 }
  .p-mentry .sw-tile + .sw-tile{ border-left:0; padding-left:0 }
  .p-mentry .sw-tile:nth-child(even){ border-left:1px solid var(--line); padding-left:1.2rem }
  .p-mentry .sw-tile:nth-child(n+3){ border-top:1px solid var(--line) }
}
@media (max-width:560px){
  .p-mentry .sw-grid{ grid-template-columns:1fr }
  .p-mentry .sw-tile{ padding:1.3rem 0 }
  .p-mentry .sw-tile:nth-child(even){ border-left:0; padding-left:0 }
  .p-mentry .sw-tile:nth-child(n+2){ border-top:1px solid var(--line) }
  .p-mentry .me-iraq{ right:-4rem; height:80% }
}

/* ---------- 3 · checklist ---------- */
.p-mentry .me-check{ list-style:none; margin:1.6rem 0 0; padding:0; counter-reset:c;
  border-top:1px solid var(--ink);
  display:grid; grid-template-columns:1fr; column-gap:3rem }
.p-mentry .me-check li{ counter-increment:c; display:grid; grid-template-columns:2.1rem 1fr;
  gap:.7rem; padding:.85rem 0; border-bottom:1px solid var(--line);
  font-size:.97rem; line-height:1.45; align-items:baseline }
.p-mentry .me-check li::before{ content:counter(c,decimal-leading-zero); font-family:var(--mono);
  font-size:.68rem; letter-spacing:.06em; color:var(--teal) }
.p-mentry .me-check p{ margin:0 }
.p-mentry .me-check b{ font-weight:500; color:var(--teal) }
@media (min-width:900px){
  .p-mentry .me-check{ grid-template-columns:1fr 1fr; grid-auto-flow:column;
    grid-template-rows:repeat(6,auto) }
}

/* ---------- 4 · stages table ---------- */
.p-mentry .me-tblwrap{ overflow-x:auto; margin-top:1.6rem }
.p-mentry .me-tbl{ width:100%; border-collapse:collapse; min-width:34rem }
.p-mentry .me-tbl th{ text-align:left; font-weight:400; color:var(--muted); font-size:.62rem;
  padding:.6rem 1.5rem .6rem 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--line) }
.p-mentry .me-tbl td{ vertical-align:top; padding:1rem 1.5rem 1rem 0; border-bottom:1px solid var(--line);
  font-size:.97rem; line-height:1.45 }
.p-mentry .me-tbl td:first-child{ white-space:nowrap; width:9rem }
.p-mentry .me-tbl td b{ font-weight:500; color:var(--teal) }
.p-mentry .me-tbl th:last-child, .p-mentry .me-tbl td:last-child{ padding-right:0 }

/* ---------- 5 · sector desks ---------- */
.p-mentry .sd-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.8rem }
.p-mentry .sd-cell{ position:relative; padding:1.4rem 1.4rem 1.5rem;
  display:flex; flex-direction:column; gap:.55rem; min-height:11rem }
.p-mentry .sd-line{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none;
  overflow:visible }
.p-mentry .sd-line rect{ x:.5px; y:.5px; width:calc(100% - 1px); height:calc(100% - 1px);
  fill:none; stroke:var(--ink); stroke-width:1; vector-effect:non-scaling-stroke }
.p-mentry .sd-i{ color:var(--teal); font-size:.62rem }
.p-mentry .sd-t{ font-size:clamp(1.15rem,1.8vw,1.5rem); font-weight:500; letter-spacing:-.015em;
  line-height:1.2; margin:0; color:var(--ink) }
.p-mentry .sd-p{ font-size:.95rem; line-height:1.45; max-width:34ch; margin:0; color:var(--deep) }
.p-mentry .sd-a{ margin-top:auto; padding-top:.9rem; color:var(--teal); text-decoration:none;
  transition:letter-spacing .3s var(--e-out), color .3s; align-self:flex-start }
.p-mentry .sd-a:hover{ color:var(--ink); letter-spacing:.14em }
.p-mentry .sd-src{ margin-top:auto; padding-top:.9rem; font-size:.6rem; color:var(--muted) }
@media (max-width:700px){
  .p-mentry .sd-grid{ grid-template-columns:1fr }
  .p-mentry .sd-cell{ min-height:0 }
}

/* ---------- 6 · case row ---------- */
.p-mentry .me-rows{ border-top:1px solid var(--ink); margin-top:1.4rem }
.p-mentry .me-row{ display:grid; grid-template-columns:1fr; gap:.35rem; padding:1.1rem 0;
  border-bottom:1px solid var(--line) }
.p-mentry .me-row b{ font-weight:500; color:var(--teal); font-size:1.05rem; line-height:1.3 }
.p-mentry .me-row span{ font-size:.97rem; line-height:1.5; max-width:72ch }
.p-mentry .me-row span a{ color:var(--teal); text-decoration:none; border-bottom:1px solid var(--line) }
.p-mentry .me-row span a:hover{ border-bottom-color:var(--teal) }
@media (min-width:900px){
  .p-mentry .me-row{ grid-template-columns:17rem 1fr; gap:2rem; align-items:baseline }
}

/* ---------- 7 · faq ---------- */
.p-mentry .me-faq .acc-head{ font-size:clamp(1rem,1.75vw,1.28rem); line-height:1.35; padding:1.15rem 0;
  align-items:flex-start }
.p-mentry .me-faq .acc-plus{ font-size:1rem; padding-top:.18rem }
.p-mentry .me-faq .acc-body p{ font-family:var(--sans); font-size:1rem; letter-spacing:0;
  text-transform:none; line-height:1.6; max-width:74ch; padding-bottom:1.4rem }

/* the stages section flips dark to break the long cream run (design-taste: rhythm) */
.p-mentry #stages, .p-mentry .me-stages{background:var(--ink); color:var(--paper)}
.p-mentry #stages .me-h2, .p-mentry .me-stages .me-h2{color:var(--paper)}
.p-mentry #stages table, .p-mentry .me-stages table{color:var(--paper)}
.p-mentry #stages td, .p-mentry #stages th, .p-mentry .me-stages td, .p-mentry .me-stages th{border-color:rgba(234,232,226,.18)}
