/* ==========================================================================
   Hemingway Intelligence: page and homepage components.
   Loaded AFTER style.css, theme.css, pages-new.css and expansion.css.
   Uses the site's existing variables and fonts only (Trajan Pro, Montserrat 500/600).

   Visual language (used the same way everywhere on the page):
     dashed outline  = unverified finding (machine-assisted, not yet reviewed)
     copper outline  = under estimator review
     solid copper    = estimator-approved
     .hi-ref         = drawing / specification reference tag
     .hi-pin         = numbered callout tying a finding to its place on the sheet
     .hi-stamp       = estimator decision
   ========================================================================== */

:root{--hi-muted:#9A927F;}
.hi-trajan{font-family:'Trajan Pro',serif;font-weight:400;}
.hi-tagline{font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(1.05rem,2vw,1.3rem);letter-spacing:0.01em;color:var(--rust-bright);margin:0 0 18px;}
.hi-lede{color:var(--concrete);font-size:1.04rem;line-height:1.75;max-width:560px;margin:0;}
.hi-descriptor{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-size:0.72rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--concrete);}
.hi-descriptor::before{content:'';width:24px;height:1px;background:var(--rust);}
.hi-note{font-size:0.8rem;color:var(--hi-muted);line-height:1.6;margin:14px 0 0;max-width:760px;}
.hi-note b{color:var(--concrete);font-weight:600;}

/* ---------- shared marks ---------- */
.hi-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:0.64rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;line-height:1;padding:5px 9px;border-radius:2px;border:1px solid var(--steel);color:var(--concrete);}
.hi-chip.finding{border-style:dashed;}
.hi-chip.review{border-color:var(--rust);color:var(--rust-bright);}
.hi-chip.approved{background:var(--rust-dim);border-color:var(--rust-dim);color:#fff;}
.hi-chip svg{width:11px;height:11px;flex:none;}

.hi-ref{display:inline-flex;align-items:stretch;border:1px solid var(--line-mid);border-radius:2px;font-size:0.76rem;line-height:1.2;background:rgba(12,10,8,0.5);overflow:hidden;}
.hi-ref b{background:var(--rust-dim);color:#fff;font-weight:600;padding:5px 8px;letter-spacing:0.03em;font-variant-numeric:tabular-nums;}
.hi-ref span{padding:5px 10px;color:var(--concrete);}

.hi-pin{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--rust);color:#fff;font-size:0.74rem;font-weight:600;box-shadow:0 0 0 2px rgba(237,231,218,0.9);}

.hi-stamp{display:inline-block;border:2px solid var(--rust);color:var(--rust-bright);font-size:clamp(0.95rem,1.8vw,1.15rem);font-weight:600;letter-spacing:0.16em;text-transform:uppercase;padding:9px 16px;border-radius:3px;transform:rotate(-1.5deg);background:rgba(210,105,30,0.07);}

.hi-illus{display:inline-block;font-size:0.64rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--rust-bright);border:1px solid var(--rust);border-radius:2px;padding:3px 8px;}

/* ---------- hero: drawing review card ---------- */
.hi-card{background:var(--card);border:1px solid var(--line-mid);border-top:3px solid var(--rust);border-radius:10px;box-shadow:var(--glow);overflow:hidden;}
.hi-sheet{position:relative;background:#F1ECE0;padding:0;}
.hi-sheet svg{display:block;width:100%;height:auto;}
.hi-sheet-tag{position:absolute;left:10px;top:10px;background:#26231D;color:#F1ECE0;font-size:0.62rem;font-weight:600;letter-spacing:0.12em;padding:5px 9px;border-radius:2px;}
.hi-sheet-illus{position:absolute;right:10px;top:10px;}
.hi-sheet-illus .hi-illus{background:#F1ECE0;}
.hi-findings{list-style:none;margin:0;padding:6px 20px 4px;}
.hi-findings li{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line);font-size:0.84rem;line-height:1.5;color:var(--ink);}
.hi-findings li:last-child{border-bottom:0;}
.hi-findings .hi-chip{margin-top:2px;}
.hi-card-foot{padding:12px 20px 16px;border-top:1px solid var(--line);font-size:0.76rem;color:var(--hi-muted);line-height:1.55;background:rgba(12,10,8,0.35);}
@media (max-width:520px){
  .hi-findings li{grid-template-columns:24px 1fr;}
  .hi-findings .hi-chip{grid-column:2;justify-self:start;margin-top:0;}
}

/* ---------- section 2: philosophy ---------- */
.hi-split{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
.hi-split p{color:var(--concrete);line-height:1.75;margin:0 0 16px;}
.hi-split p.hi-key{color:var(--ink);font-size:1.12rem;line-height:1.55;padding-left:18px;border-left:3px solid var(--rust);margin:22px 0;}
@media (max-width:900px){.hi-split{grid-template-columns:1fr;gap:32px;}}

.hi-compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);}
.hi-col{padding:26px 26px 28px;}
.hi-col + .hi-col{border-left:1px solid var(--line);background:rgba(210,105,30,0.06);}
.hi-col h3{font-size:1.15rem;margin:12px 0 16px;}
.hi-col ul{list-style:none;margin:0;padding:0;display:grid;gap:0;}
.hi-col li{padding:11px 0;border-top:1px solid var(--line);color:var(--concrete);font-size:0.92rem;line-height:1.5;}
.hi-col li:first-child{border-top:0;}
.hi-col + .hi-col li{color:var(--ink);}
@media (max-width:640px){.hi-compare{grid-template-columns:1fr;}.hi-col + .hi-col{border-left:0;border-top:1px solid var(--line);}}

.hi-equation{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:22px;}
.hi-eq-row{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:10px 14px;}
.hi-term{display:flex;align-items:center;text-align:center;padding:14px 20px;border:1px dashed var(--steel);border-radius:6px;font-size:0.88rem;font-weight:600;color:var(--concrete);background:var(--card);}
.hi-term.human{border:1px solid var(--rust);color:var(--ink);}
.hi-term.result{border:1px solid var(--rust-dim);background:var(--rust-dim);color:#fff;}
.hi-op{display:flex;align-items:center;font-size:1.4rem;color:var(--rust-bright);font-weight:600;}
@media (max-width:640px){.hi-eq-row{flex-direction:column;align-items:stretch;}.hi-op{justify-content:center;}}

/* ---------- section 3: five-stage flow ---------- */
.hi-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative;}
.hi-flow::before{content:'';position:absolute;top:25px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,rgba(210,105,30,0.55),rgba(210,105,30,0.35));}
.hi-step{position:relative;text-align:center;}
.hi-step-ico{width:50px;height:50px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:var(--paper-deep);border:1.5px dashed var(--steel);color:var(--concrete);position:relative;z-index:1;}
.hi-step.human .hi-step-ico{border:1.5px solid var(--rust);color:var(--rust-bright);}
.hi-step-ico svg{width:22px;height:22px;}
.hi-step .n{display:block;font-size:0.72rem;font-weight:600;letter-spacing:0.18em;color:var(--rust);margin-bottom:6px;}
.hi-step h3{font-size:1.05rem;margin:0 0 8px;}
.hi-step p{font-size:0.85rem;color:var(--concrete);line-height:1.6;margin:0;}
.hi-step .by{display:block;margin-top:12px;font-size:0.62rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--hi-muted);}
.hi-step.human .by{color:var(--rust-bright);}
.hi-flow-key{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-top:34px;font-size:0.76rem;color:var(--concrete);}
.hi-flow-key span{display:inline-flex;align-items:center;gap:8px;}
.hi-flow-key i{display:inline-block;width:22px;height:0;border-top:2px dashed var(--steel);}
.hi-flow-key i.s{border-top:2px solid var(--rust);}
@media (max-width:900px){
  .hi-flow{grid-template-columns:1fr;gap:0;}
  .hi-flow::before{top:25px;bottom:25px;left:25px;right:auto;width:1px;height:auto;}
  .hi-step{display:grid;grid-template-columns:50px 1fr;gap:0 18px;text-align:left;padding-bottom:30px;}
  .hi-step:last-child{padding-bottom:0;}
  .hi-step-ico{grid-row:span 4;margin:0;}
}

/* ---------- section 4: capability cards, deliberately unequal ---------- */
.hi-caps-core{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.hi-cap{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--rust);border-radius:10px;padding:26px 26px 26px;display:flex;flex-direction:column;gap:12px;}
.hi-cap h3{font-size:1.18rem;margin:0;}
.hi-cap p{margin:0;color:var(--concrete);font-size:0.93rem;line-height:1.65;}
.hi-cap .status-pill{margin-left:0;align-self:flex-start;}
.hi-mini{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:8px;font-size:0.76rem;color:var(--concrete);}
.hi-mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.hi-mini .link{color:var(--rust-bright);font-size:1rem;}
.hi-developing-label{margin:44px 0 16px;font-size:0.72rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--hi-muted);display:flex;align-items:center;gap:14px;}
.hi-developing-label::after{content:'';flex:1;height:1px;background:var(--line);}
.hi-caps-dev{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.hi-cap.dim{background:transparent;border:1px dashed var(--steel);border-top:1px dashed var(--steel);padding:20px 22px;gap:8px;}
.hi-cap.dim h3{font-size:1rem;color:var(--concrete);}
.hi-cap.dim p{font-size:0.86rem;color:var(--concrete);}
@media (max-width:960px){.hi-caps-core,.hi-caps-dev{grid-template-columns:1fr;}}

/* ---------- section 5: the centerpiece ---------- */
.hi-centerpiece{background:var(--dark-block);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.hi-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;}
.hi-tabs{display:none;}
.hi-js .hi-tabs{display:flex;}
.hi-tab{cursor:pointer;background:transparent;color:var(--concrete);border:1px solid var(--line-mid);border-radius:999px;padding:9px 16px;font-size:0.8rem;font-weight:600;letter-spacing:0.02em;transition:background .15s,border-color .15s,color .15s;}
.hi-tab:hover{border-color:var(--rust);color:var(--ink);}
.hi-tab[aria-selected="true"]{background:var(--rust-dim);border-color:var(--rust-dim);color:#fff;}
.hi-tab:focus-visible{outline:2px solid var(--rust);outline-offset:2px;}
.hi-console{background:var(--card);border:1px solid var(--line-mid);border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,0.55);overflow:hidden;}
.hi-console-bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;padding:14px 22px;background:#0F0D0A;border-bottom:1px solid var(--line);}
.hi-console-bar .path{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:0.84rem;color:var(--ink);font-weight:600;}
.hi-console-bar .path small{font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--rust);font-weight:600;}
.hi-console-body{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);}
.hi-pane{padding:28px 30px 30px;}
.hi-pane.est{background:rgba(210,105,30,0.055);}
.hi-pane .hi-pane-label{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:0.68rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--concrete);line-height:1.2;}
.hi-pane.est .hi-pane-label{color:var(--rust-bright);}
.hi-pane h3{font-size:1.2rem;line-height:1.35;margin:0 0 18px;}
.hi-pane p{margin:0 0 14px;color:var(--concrete);font-size:0.94rem;line-height:1.7;}
.hi-pane .hi-sub{font-size:0.66rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--hi-muted);margin:20px 0 10px;line-height:1.4;}
.hi-refs{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.hi-bridge{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line);border-right:1px solid var(--line);background:rgba(12,10,8,0.4);color:var(--rust);}
.hi-bridge svg{width:26px;height:26px;}
.hi-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px;}
.hi-ev{background:#F1ECE0;color:#26231D;border-radius:4px;padding:8px 8px 7px;font-size:0.6rem;line-height:1.35;min-height:74px;display:flex;flex-direction:column;gap:5px;}
.hi-ev b{font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;color:#6b6456;}
.hi-ev .ln{display:block;height:3px;background:#B9B2A2;border-radius:1px;}
.hi-ev .ln.s{width:62%;}
.hi-ev .ln.hot{background:var(--rust-dim);}
.hi-ev table{width:100%;border-collapse:collapse;font-size:0.58rem;}
.hi-ev td{border-top:1px solid #CFC8B8;padding:2px 2px;}
.hi-ev td.hot{color:var(--rust-dim);font-weight:600;}
.hi-disposition{margin-top:6px;padding:14px 16px;border:1px solid var(--line-mid);border-left:3px solid var(--rust);border-radius:4px;background:rgba(12,10,8,0.45);font-size:0.9rem;color:var(--ink);line-height:1.6;}
.hi-disposition small{display:block;margin-bottom:4px;font-size:0.62rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--rust-bright);}
.hi-decision{margin:4px 0 18px;}
.hi-history{list-style:none;margin:0;padding:0;border-left:1px solid rgba(210,105,30,0.45);margin-left:5px;}
.hi-history li{position:relative;padding:0 0 14px 20px;font-size:0.84rem;color:var(--concrete);line-height:1.5;}
.hi-history li:last-child{padding-bottom:0;}
.hi-history li::before{content:'';position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--paper-deep);border:1.5px dashed var(--steel);}
.hi-history li.h::before{border:1.5px solid var(--rust);background:var(--rust);}
.hi-history li b{color:var(--ink);font-weight:600;}
.hi-scenario[hidden]{display:none;}
.hi-js .hi-scenario{display:none;}
.hi-js .hi-scenario.on{display:block;}
.hi-scenario + .hi-scenario{margin-top:22px;}
.hi-js .hi-scenario + .hi-scenario{margin-top:0;}
.hi-console-foot{padding:14px 22px;border-top:1px solid var(--line);background:#0F0D0A;font-size:0.76rem;color:var(--hi-muted);line-height:1.55;}
@media (max-width:900px){
  .hi-console-body{grid-template-columns:1fr;}
  .hi-bridge{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;}
  .hi-bridge svg{transform:rotate(90deg);}
  .hi-pane{padding:24px 20px 26px;}
}
@media (max-width:520px){.hi-evidence{grid-template-columns:1fr;}.hi-ev{min-height:0;}}

/* ---------- section 6: accountability ---------- */
.hi-prin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.hi-p{background:var(--card);border:1px solid var(--line-soft);border-radius:8px;padding:26px 22px 24px;transition:border-color .2s,transform .2s;}
.hi-p:hover{border-color:rgba(210,105,30,0.55);transform:translateY(-2px);}
.hi-p .ico{margin-bottom:16px;}
.hi-p h3{font-size:1.02rem;margin:0 0 8px;}
.hi-p p{margin:0;color:var(--concrete);font-size:0.88rem;line-height:1.65;}
.hi-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:30px;padding:16px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);}
.hi-legend > span.t{font-size:0.7rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--hi-muted);margin-right:6px;}
.hi-legend .arrow{color:var(--rust);}
@media (max-width:1000px){.hi-prin{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.hi-prin{grid-template-columns:1fr;}}

/* ---------- sections 7 and 8: chains ---------- */
.hi-zones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 34px;margin-bottom:10px;}
.hi-zone{font-size:0.66rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--hi-muted);padding-bottom:8px;border-bottom:2px dashed var(--steel);}
.hi-zone.int{grid-column:1 / span 2;}
.hi-zone.ext{grid-column:3 / span 2;color:var(--rust-bright);border-bottom:2px solid var(--rust);}
.hi-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;}
.hi-chain.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;}
.hi-node{position:relative;background:var(--card);border:1px dashed var(--steel);border-radius:8px;padding:20px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:112px;}
.hi-node.human{border:1px solid var(--rust);}
.hi-node.client{border:1px solid var(--rust);background:rgba(210,105,30,0.08);}
.hi-node h3{font-size:0.98rem;margin:0;line-height:1.3;}
.hi-node p{margin:0;font-size:0.8rem;color:var(--concrete);line-height:1.5;}
.hi-node img{width:min(190px,100%);height:auto;border-radius:6px;background:#fff;}
.hi-chain > .hi-node:not(:last-child)::after{content:'';position:absolute;right:-27px;top:50%;width:20px;height:2px;background:var(--rust);transform:translateY(-1px);}
.hi-chain > .hi-node:not(:last-child)::before{content:'';position:absolute;right:-27px;top:50%;border:5px solid transparent;border-left:7px solid var(--rust);border-right:0;transform:translate(0,-5px);margin-right:-4px;}
.hi-chain.five > .hi-node:not(:last-child)::after{right:-23px;width:16px;}
.hi-chain.five > .hi-node:not(:last-child)::before{right:-23px;}
@media (max-width:900px){
  .hi-zones{display:none;}
  .hi-chain,.hi-chain.five{grid-template-columns:1fr;gap:34px;}
  .hi-chain > .hi-node:not(:last-child)::after,.hi-chain.five > .hi-node:not(:last-child)::after{right:auto;left:50%;top:100%;bottom:auto;width:2px;height:14px;margin-top:4px;transform:translateX(-1px);}
  .hi-chain > .hi-node:not(:last-child)::before,.hi-chain.five > .hi-node:not(:last-child)::before{right:auto;left:50%;top:100%;bottom:auto;margin:18px 0 0 0;border:5px solid transparent;border-top:8px solid var(--rust);border-bottom:0;transform:translateX(-5px);}
}
.hi-direction{display:inline-block;margin-bottom:14px;}

/* ---------- section 9: data handling ---------- */
.hi-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.hi-trust > div{border-top:2px solid var(--rust);padding-top:18px;}
.hi-trust h3{font-size:1.02rem;margin:0 0 8px;}
.hi-trust p{margin:0;color:var(--concrete);font-size:0.92rem;line-height:1.7;}
@media (max-width:860px){.hi-trust{grid-template-columns:1fr;gap:26px;}}

/* ---------- homepage band ---------- */
.hi-powered{margin:26px 0 0;font-size:0.8rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--concrete);}
.hi-powered a{color:var(--rust-bright);border-bottom:1px solid rgba(232,138,74,0.4);padding-bottom:1px;}
.hi-powered a:hover{border-bottom-color:var(--rust-bright);}
.hi-home{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.hi-home p{color:var(--concrete);line-height:1.75;margin:0 0 22px;max-width:520px;}
.hi-home-card{padding:22px;}
.hi-home-card .row{display:grid;gap:10px;}
.hi-home-card .find{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:0.86rem;color:var(--ink);line-height:1.5;}
.hi-home-card .join{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--rust);}
.hi-home-card .join::before,.hi-home-card .join::after{content:'';flex:1;height:1px;background:var(--line-mid);}
.hi-home-card .dec{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;}
.hi-home-card .dec span.who{font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--hi-muted);}
@media (max-width:900px){.hi-home{grid-template-columns:1fr;gap:32px;}}

@media (prefers-reduced-motion:reduce){.hi-p:hover{transform:none;}.hi-tab{transition:none;}}

/* ---------- logo placements ---------- */
.hi-logo-h1{margin:0 0 22px;line-height:0;font-size:0;}
.hi-logo-card{display:block;width:min(540px,100%);background:#1F2426;border:1px solid rgba(210,105,30,0.35);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,0.45);overflow:hidden;line-height:0;}
.hi-logo-card img{display:block;width:100%;height:auto;}
.hi-logo-card.sm{width:min(300px,100%);margin-bottom:24px;}
.hi-node img{box-sizing:border-box;padding:6px 10px;}
