/* Consulting page (page-consulting.php, template-parts/consulting/*). Classes start cs-. */

/* hero: split down the middle (like the Careers hero), dot texture behind the statement of work */
.cs-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:600px;}
.cs-hero .h1{max-width:12ch;}
.cs-hero-side{position:relative;overflow:hidden;background:var(--bg-2) var(--dots);background-size:var(--dots-size);background-position:var(--dots-pos);}

/* UI panel: statement of work (Inter, with Share Tech Mono labels) */
.cs-sow{position:absolute;left:12%;top:14%;right:-40px;bottom:-40px;background:#fff;border:1px solid #e6e6e6;border-radius:6px;box-shadow:0 10px 28px rgba(0,0,0,.12);font-size:13.5px;line-height:1.45;color:#101012;overflow:hidden;}
.cs-sow-bar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #e6e6e6;font-size:12.5px;color:#6b6b78;}
.cs-sow-bar b{color:#101012;font-weight:500;}
.cs-sow-bar i{font-style:normal;opacity:.5;}
.cs-sow-body{padding:20px 22px;}
.cs-sow-h{font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#6b6b78;margin-bottom:10px;}
.cs-sow-title{font:500 20px/1.2 var(--sans);margin-bottom:6px;}
.cs-sow-sub{color:#6b6b78;margin-bottom:20px;}
.cs-sow-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;}
.cs-sow-grid div{background:#f4f4f4;border-radius:4px;padding:10px 12px;}
.cs-sow-grid span{display:block;font:10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#6b6b78;margin-bottom:3px;}
.cs-sow-grid b{font-weight:500;}
.cs-del{list-style:none;margin:0;padding:0;border:1px solid #e6e6e6;border-radius:4px;}
.cs-del li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid #e6e6e6;}
.cs-del li:first-child{border-top:0;}
.cs-t{font:10.5px var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:3px 7px;border-radius:4px;border:1px solid;white-space:nowrap;}
.cs-t.good{background:#e5f4e5;color:#006300;border-color:#bfe3bf;}
.cs-t.warn{background:#fdf3dc;color:#7a5200;border-color:#f0d9a0;}
.cs-t.next{background:#edf1ff;color:var(--blue);border-color:#d3dbfe;}

/* section heads: title left, lede right */
.cs-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(36px,4vw,56px);}
.cs-head .h2{max-width:14ch;}

.cell p{color:var(--muted);font-size:15.5px;}

/* where support ends: the list lines run the full width of each column, edge to edge */
.cs-col{--cp:clamp(24px,2.4vw,34px);display:flex;flex-direction:column;gap:12px;padding:var(--cp) 0 0;}
.cs-col > .mono,.cs-col > .h3{padding:0 var(--cp);}
.cs-col .h3{margin-bottom:0;}
.cs-col .mono{color:var(--muted);}
.cs-col.is-pkg{background:var(--bg-2);}          /* the consulting column: the raised off-white, no tint */
.cs-col.is-pkg .mono{color:var(--blue);}
.cs-col ul{list-style:none;margin:8px 0 0;padding:0;}
.cs-col li{padding:11px var(--cp);border-top:1px solid var(--line);font-size:15.5px;}
.cs-rule{display:flex;gap:24px;align-items:baseline;padding:22px var(--gut);}
.cs-rule .mono{color:var(--blue);flex:none;}

/* steps + packages */
.cs-n{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;line-height:1.3;color:var(--blue);margin-bottom:12px;}  /* step number: small blue mono */
/* packages: each card shares its row's 4 tracks (number, title, text, you get), so the line above
   "You get" sits at the same height across a row, and any spare space falls at the bottom */
.cs-pk{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:12px;align-content:start;}
.cs-pk .h3{margin-bottom:0;}
.cs-pk-top{display:flex;justify-content:space-between;color:var(--muted);}
.cs-pk-top .is-type{color:var(--blue);}
.cs-out{margin-top:4px;padding-top:16px;border-top:1px solid var(--line);font-size:15px;}
.cs-out .mono{display:block;font-size:11px;color:var(--muted);margin-bottom:6px;}

/* managed operations: two-row checkerboard with photos */
.cs-row2{border-top:1px solid var(--line);}
.cs-ops-intro{display:flex;flex-direction:column;justify-content:center;}
.cs-line{margin-top:34px;font:500 22px/1.25 var(--display);max-width:24ch;}
.cs-line em{font-style:normal;color:var(--blue);}
.cs-img{margin:0;position:relative;min-height:440px;overflow:hidden;background:var(--bg-2);}
.cs-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cs-img--a img{object-position:50% 15%;}
.cs-img--b img{object-position:40% 40%;}
.cs-runs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;}
.cs-runs li{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:22px var(--gut);border-bottom:1px solid var(--line);}
.cs-runs li:last-child{border-bottom:0;}
.cs-runs .mono{color:var(--muted);padding-top:3px;}

@media (max-width:960px){
  .cs-hero{grid-template-columns:1fr;min-height:0;}
  .cs-hero-side{border-top:1px solid var(--line);min-height:420px;}
  .cs-img{min-height:300px;}
  .cs-runs li{grid-template-columns:1fr;gap:4px;}
}
@media (max-width:900px){.cs-head{grid-template-columns:1fr;}}
@media (max-width:700px){.cs-rule{flex-direction:column;gap:6px;}}

/* ---------- "Talk to consulting" pop-up (template-parts/consulting/form.php, assets/js/consulting.js) ---------- */
html.cs-locked{overflow:hidden;}
.cs-modal{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;margin:0;color:var(--ink);overflow-y:auto;}
.cs-modal[open]{display:grid;place-items:center;padding:clamp(16px,4vw,48px);}
.cs-modal::backdrop{background:rgba(11,13,18,.55);backdrop-filter:blur(4px);}
.cs-modal-card{
  position:relative;width:100%;max-width:720px;background:var(--bg);border:1px solid var(--line);
  box-shadow:0 30px 80px -30px rgba(11,12,15,.4);animation:cs-in .45s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes cs-in{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.cs-modal-main{padding:clamp(28px,4vw,52px);}
.cs-modal-title{font-family:var(--display);font-weight:500;font-size:clamp(28px,3vw,40px);line-height:1;text-wrap:balance;margin:clamp(20px,2.4vw,28px) 0 clamp(24px,3vw,36px);max-width:16ch;}

/* close: same as the Book a demo page */
.cs-close{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:12px;height:40px;padding:0 6px 0 14px;color:var(--ink);background:var(--bg);border:1px solid var(--line);cursor:pointer;transition:border-color .15s ease,color .15s ease;}
.cs-x{position:relative;width:26px;height:26px;background:var(--ink);transition:background .15s ease;}
.cs-x::before,.cs-x::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:#fff;transform:translate(-50%,-50%) rotate(45deg);}
.cs-x::after{transform:translate(-50%,-50%) rotate(-45deg);}
.cs-close:hover{border-color:var(--blue);color:var(--blue);}
.cs-close:hover .cs-x{background:var(--blue);}

/* fields: same style as the Book a demo form */
.cs-form{display:grid;gap:16px;}
.cs-form[hidden]{display:none;}
.cs-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cs-field{display:grid;gap:8px;}
.cs-field .mono{color:var(--muted);}
.cs-input{
  width:100%;height:50px;padding:0 14px;font:16px/1.4 var(--sans);color:var(--ink);
  background:transparent;border:1px solid var(--line);border-radius:0;-webkit-appearance:none;appearance:none;
  transition:border-color .15s ease,background .15s ease;
}
.cs-textarea{height:auto;min-height:110px;padding:12px 14px;resize:vertical;}
.cs-input::placeholder{color:var(--muted);}
.cs-input:hover{border-color:rgba(11,12,15,.3);}
.cs-input:focus{outline:none;border-color:var(--blue);background:var(--bg-2);}
.cs-input[aria-invalid="true"]{border-color:#e5484d;}
.cs-check{position:relative;display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--muted);cursor:pointer;}
.cs-check input{position:absolute;opacity:0;width:1px;height:1px;}
.cs-box{flex:0 0 18px;width:18px;height:18px;border:1px solid rgba(11,12,15,.3);display:grid;place-items:center;transition:background .15s ease,border-color .15s ease;}
.cs-box::after{content:"";width:9px;height:5px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:translateY(-1px) rotate(-45deg);opacity:0;}
.cs-check input:checked + .cs-box{background:var(--blue);border-color:var(--blue);}
.cs-check input:checked + .cs-box::after{opacity:1;}
.cs-check input:focus-visible + .cs-box{outline:2px solid var(--blue);outline-offset:3px;}
.cs-check a{color:var(--ink);text-underline-offset:3px;}
.cs-check a:hover{color:var(--blue);}
.cs-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px;}
.cs-submit{height:52px;padding:0 24px;}
.cs-submit[disabled]{opacity:.6;cursor:progress;}
.cs-msg{color:var(--muted);}
.cs-msg.is-error{color:#e5484d;}
.cs-done{display:grid;gap:24px;justify-items:start;}
.cs-done[hidden]{display:none;}
.cs-done-t{font-family:var(--display);font-weight:500;font-size:22px;line-height:1.25;}

@media (max-width:620px){
  .cs-row{grid-template-columns:1fr;}
  .cs-close{padding:0;border:0;background:none;}
  .cs-close > :not(.cs-x){display:none;}
  .cs-x{width:40px;height:40px;}
  .cs-x::before,.cs-x::after{width:16px;}
  .cs-modal-title{padding-right:44px;}
}
@media (prefers-reduced-motion:reduce){.cs-modal-card{animation:none;}}
