/* Work page — project index with case studies */
.w-head{position:relative;padding:calc(148px + env(safe-area-inset-top,0px)) 0 64px;isolation:isolate}
.w-head::after{content:"";position:absolute;inset:0 0 auto;height:520px;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 30% 0%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 30% 0%,#000 25%,transparent 75%)}
.w-head h1{margin:22px 0 22px}
.w-head .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px}
.filters{display:flex;flex-wrap:wrap;gap:6px}
.filters button{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--graphite);background:transparent;color:var(--fog);font:400 13px/1 var(--font);cursor:pointer;transition:color .2s,background-color .2s,border-color .2s}
.filters button:hover{color:var(--paper);border-color:var(--smoke)}
.filters button[aria-pressed="true"]{background:var(--paper);border-color:transparent;color:var(--void);font-weight:510}

.w-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;align-items:start;border-top:1px solid var(--line)}
.index{position:sticky;top:96px;padding-top:40px}
.index .lab{font:400 11px/1 var(--mono);color:var(--ash);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;display:block}
.index ol{display:grid;gap:2px}
.index li{transition:opacity .3s}
.index li.dim{opacity:.3}
.index a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;margin-left:-10px;border-radius:6px;font-size:13.5px;color:var(--fog);transition:color .2s,background-color .2s}
.index a .id{font:400 11px/1 var(--mono);color:var(--ash)}
.index a:hover{color:var(--paper);background:rgba(255,255,255,.03)}
.index a.on{color:var(--paper);background:rgba(255,255,255,.05)}
.index a.on .id{color:var(--lime)}
.index .st{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--amber)}
.index .st.live{border-color:var(--iris)}
.index .st.todo{border-color:var(--ash);border-style:dashed}
.index .st.done{border-color:var(--green);background:var(--green)}
.index-foot{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:10px;font-size:12.5px;color:var(--ash)}
.index-foot span{display:flex;align-items:center;gap:8px}

.cases{display:grid}
.case{padding:40px 0 96px}
.case+.case{border-top:1px solid var(--line);padding-top:72px}
.case[hidden]{display:none}
.case-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.case-top .feat-id{font:400 12px/1 var(--mono);color:var(--ash);display:flex;gap:12px}
.case-top .feat-id b{color:var(--fog);font-weight:400}
.case h2{font-size:clamp(1.9rem,3.6vw,2.75rem);letter-spacing:-.028em;line-height:1.04}
.case>p.lead{margin:14px 0 32px;max-width:40em}
.case .frame{margin-bottom:32px}
.facts3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.facts3>div{padding:20px 20px 0 0}
.facts3>div+div{padding-left:20px;border-left:1px solid var(--line)}
.facts3 dt{font:400 11px/1 var(--mono);color:var(--ash);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.facts3 dd{margin:0;color:var(--mist);font-size:14.5px;line-height:1.55}
.case .tags{margin-top:24px}
.case-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}
.case-foot .tags{margin-top:0}

/* mock: isa-isa (light, sage product) */
.isa{--sage:#5b8a6e;--ink:#2f3a35;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:22px;padding:32px 36px;min-height:420px;background:#f4f3ee;color:var(--ink)}
.isa-brand{display:grid;gap:10px;align-content:center}
.isa-brand b{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1;letter-spacing:-.01em;color:#1f2622}
.isa-brand b em{color:var(--sage)}
.isa-brand span{font-size:13px;color:#6b6f69;max-width:16em}
.isa-brand .tags .tag{background:rgba(91,138,110,.12);color:#46705a}
.phone{width:176px;height:350px;border-radius:26px;background:#eef1ec;box-shadow:0 0 0 6px var(--ink),0 30px 60px -20px rgba(0,0,0,.45);padding:16px 11px;display:grid;align-content:start;gap:8px;font-size:10.5px;color:var(--ink);overflow:hidden}
.phone:nth-child(3){transform:translateY(24px)}
.phone .ph{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:16px;line-height:1}
.phone .ph .xp{font:500 9px/1 var(--font);color:#9a6b2f;background:#f6e7cf;padding:3px 6px;border-radius:999px}
.energy{justify-self:start;font-size:9.5px;padding:3px 7px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #e0e4dd}
.phone .sec{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-family:var(--serif);font-size:14px}
.phone .sec span{font:600 9px/1 var(--font);color:#fff;background:var(--sage);padding:5px 7px;border-radius:6px}
.act,.goal,.lvl{display:grid;gap:5px;padding:9px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px #e3e7e1}
.act b,.goal b,.lvl b{font-size:11px}
.act small,.goal small,.lvl small{color:#8a8f88;font-size:9px}
.wk{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.wk i{height:14px;border-radius:3px;background:#edf0ec}
.wk i.d{background:var(--sage)}
.wk i.t{box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff}
.act .done{display:grid;place-items:center;height:22px;border-radius:6px;background:var(--sage);color:#fff;font-weight:600;font-size:9.5px}
.goal{grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#fdf3e4;box-shadow:0 0 0 1px #f1dcbc}
.goal small{grid-column:1}
.goal .go{grid-row:1/3;grid-column:2;font-weight:600;font-size:9.5px;color:#fff;background:#d99a4e;padding:5px 8px;border-radius:6px}
.lvl .bar{height:5px;border-radius:3px;background:#edf0ec;overflow:hidden}
.lvl .bar i{display:block;height:100%;width:40%;background:var(--sage);border-radius:3px}

/* mock: capsure board */
.cap-app{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:400px}
.cap-side{border-right:1px solid var(--line);padding:14px 10px;display:grid;align-content:start;gap:2px;font-size:12.5px;color:var(--fog)}
.cap-side .ws{display:flex;align-items:center;gap:8px;color:var(--paper);font-weight:510;padding:4px 6px 12px}
.cap-side .ws i{width:18px;height:18px;border-radius:5px;background:linear-gradient(135deg,var(--teal),var(--green))}
.cap-side span{padding:6px 8px;border-radius:6px}
.cap-side span.on{background:rgba(255,255,255,.05);color:var(--paper)}
.cap-main{padding:14px;display:grid;grid-template-rows:auto 1fr;gap:12px}
.cap-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cap-top b{color:var(--paper);font-weight:510;font-size:14px}
.cap-top .inv{height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:6px;background:var(--paper);color:var(--void);font-size:12px;font-weight:510}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.colm{display:grid;align-content:start;gap:8px}
.colm h5{margin:0 0 2px;font:400 11px/1 var(--mono);color:var(--ash);text-transform:uppercase;letter-spacing:.03em;display:flex;justify-content:space-between}
.lc{background:var(--obsidian);border-radius:8px;box-shadow:inset 0 0 0 1px var(--graphite);padding:10px;display:grid;gap:6px;font-size:12px}
.lc b{color:var(--bone);font-weight:500}
.lc .meta{display:flex;justify-content:space-between;align-items:center;color:var(--ash);font-size:11px}
.av{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font:600 9px/1 var(--font);color:var(--void)}

/* mock: strauto */
.strata-mock{position:relative;min-height:400px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px;padding:40px;background:#0d0c0a;overflow:hidden}
.strata-mock .wordmark{display:grid;gap:12px}
.strata-mock .wordmark b{font-size:40px;letter-spacing:-.04em;color:#f1ebe0;font-weight:590;line-height:1}
.strata-mock .wordmark span{color:#a59b8b;font-size:14px;max-width:18em}
.layers{display:grid;gap:5px}
.layers i{display:block;height:26px;border-radius:4px;transform-origin:left;animation:layer 1.2s var(--ease) both}
.layers i:nth-child(1){background:#d6c4a6;width:100%}
.layers i:nth-child(2){background:#b07a4f;width:92%;animation-delay:.1s}
.layers i:nth-child(3){background:#7c4a2d;width:100%;animation-delay:.2s}
.layers i:nth-child(4){background:#566272;width:86%;animation-delay:.3s}
.layers i:nth-child(5){background:#2f3844;width:100%;animation-delay:.4s}
.layers i:nth-child(6){background:repeating-linear-gradient(90deg,#e4f222 0 18px,#08090a 18px 22px);width:70%;height:6px;animation-delay:.5s}
@keyframes layer{from{transform:scaleX(.2);opacity:0}}

/* mock: invoice */
.inv-mock{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;align-items:center;padding:28px 32px}
.inv-flow{display:grid;gap:14px;position:relative}
.inv-flow::before{content:"";position:absolute;left:17px;top:20px;bottom:20px;width:1px;background:linear-gradient(var(--graphite),var(--smoke),var(--graphite))}
.inv-flow li{position:relative;display:flex;align-items:center;gap:12px;padding:5px 0}
.inv-flow i{flex:none;display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:var(--obsidian);box-shadow:inset 0 0 0 1px var(--graphite);font:500 11px/1 var(--mono);font-style:normal;color:var(--fog)}
.inv-flow li:last-child i{color:var(--green);box-shadow:inset 0 0 0 1px rgba(39,166,68,.4)}
.inv-flow span{display:grid;gap:3px;min-width:0}
.inv-flow b{font-size:14px;font-weight:510;color:var(--paper)}
.inv-flow small{font-size:12.5px;color:var(--ash)}
.inv-left{display:grid;gap:22px}
.inv-note{margin:0;padding-top:16px;border-top:1px dashed var(--graphite);font-size:12.5px;line-height:1.5;color:var(--ash)}
.inv-out{display:grid;gap:12px}
.inv-card{--ink:#c62828;background:var(--paper);color:#111;border-radius:10px;padding:18px 20px;display:grid;gap:8px;font-size:12px;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.inv-card .hd{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1.5px solid #111}
.inv-card .logo{width:22px;height:22px;border-radius:50%;background:conic-gradient(#e53935 0 50%,#1e88e5 0)}
.inv-card .hd b{font-size:15px;letter-spacing:-.01em;text-transform:uppercase}
.inv-card .no{margin-left:auto;font:600 12px/1 var(--mono);color:var(--ink)}
.inv-card em{font-style:normal;color:var(--ink);font-weight:500}
.inv-card .meta{display:flex;flex-wrap:wrap;gap:4px 18px;color:#666;font-size:11px}
.inv-card .work{display:grid;gap:3px;padding:6px 0;color:#666;font-size:11px}
.inv-card .work em{font-size:12px}
.inv-card .ln{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #eee;color:#444}
.inv-card .ln b{font-family:var(--mono);font-weight:500;color:var(--ink)}
.inv-card .tot{display:flex;justify-content:space-between;font-weight:600;font-size:14px;padding-top:2px}
.inv-card .tot span:last-child{color:var(--ink);font-family:var(--mono)}
.inv-done{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.inv-done span{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:10px 12px;border-radius:8px;background:var(--obsidian);box-shadow:inset 0 0 0 1px var(--graphite);font-size:12.5px;color:var(--paper)}
.inv-done i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.inv-done small{flex-basis:100%;font:400 10.5px/1.3 var(--mono);color:var(--ash);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.w-cta{padding:120px 0;text-align:center;border-top:1px solid var(--line)}
.w-cta h2{margin:18px auto 26px;max-width:14em}
.w-cta .contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

@media (max-width:1000px){
  .w-body{grid-template-columns:minmax(0,1fr);gap:0}
  .index{display:none}
  .isa{grid-template-columns:auto auto;justify-content:center}
  .isa-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .w-head{padding-top:calc(116px + env(safe-area-inset-top,0px));padding-bottom:40px}
  .case{padding-bottom:72px}
  .case+.case{padding-top:56px}
  .facts3{grid-template-columns:minmax(0,1fr)}
  .facts3>div,.facts3>div+div{padding:16px 0;border-left:0}
  .facts3>div+div{border-top:1px solid var(--line)}
  .isa{padding:24px 16px;gap:14px}
  .phone{width:142px;height:316px;padding:12px 8px;gap:6px}
  .phone:nth-child(3){transform:none}
  .phone .sec span{display:none}
  .phone .xp{display:none}
  .cap-app{grid-template-columns:minmax(0,1fr)}
  .cap-side{display:none}
  .cols3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cols3 .colm:nth-child(3){display:none}
  .strata-mock{grid-template-columns:minmax(0,1fr);padding:24px}
  .inv-mock{grid-template-columns:minmax(0,1fr);gap:24px;padding:20px 16px}
  .strata-mock .wordmark b{font-size:32px}
  .w-cta{padding:96px 0}
}
