/* Solutions page additions. Loaded after page.css on solutions pages. */

/* Hero — dark variant */
.cw-sol-hero{padding:var(--cw-hero-top) 0 var(--cfy-sp-section,5rem);background:var(--cw-paper)}
.cw-sol-hero--dark{background:#123C20}
.cw-sol-hero--dark .cw-eyebrow{color:#9ED1AB}
.cw-sol-hero--dark h1{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.cw-sol-hero--dark .cw-lead{color:rgba(255,255,255,.8)}
.cw-sol-hero--dark .cw-button-ghost{background:transparent;color:#E2E8F0;border-color:rgba(255,255,255,.25)}
.cw-sol-hero--dark .cw-button-ghost:hover{border-color:#fff;color:#fff}
.cw-sol-hero .cw-lead{margin-top:1.5rem}

/* Challenges grid — card-based */
.cw-sol-challenges{padding:5rem 0 4rem}
.cw-sol-challenges .cw-sol-rows{background:none}
.cw-sol-challenges-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:end;margin-bottom:2.5rem}
.cw-sol-challenge-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cw-sol-challenge-grid li{padding:1.5rem;margin:0;border:1px solid var(--cw-line);border-radius:var(--cw-r,6px);background:var(--cw-white);display:flex;flex-direction:column}
.cw-sol-challenge-grid h3{margin-bottom:.6rem}
#main.cw-page .cw-sol-challenge-grid p{color:var(--cw-ink-2);font-size:.95rem;margin:0}

/* Capabilities grid — card-based */
.cw-sol-capabilities{padding:5rem 0 4rem;background:var(--cw-white)}
.cw-sol-cap-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cw-sol-cap-grid li{margin:0;border:1px solid var(--cw-line);border-radius:var(--cw-r,6px);background:var(--cw-paper);transition:box-shadow var(--cw-d) var(--cw-ease),transform var(--cw-d) var(--cw-ease)}
.cw-sol-cap-grid li:hover{box-shadow:var(--cw-shadow-md);transform:translateY(-2px)}
#main .cw-sol-cap-grid a{display:block;height:100%;padding:1.5rem;text-decoration:none;transition:background var(--cw-d) var(--cw-ease)}
#main .cw-sol-cap-grid a:hover{background:var(--cw-sunken)}
.cw-sol-cap-grid h3{padding:0;margin:0 0 .6rem}
.cw-sol-cap-grid a h3{padding:0;margin-bottom:.6rem}
#main.cw-page .cw-sol-cap-grid p{color:var(--cw-ink-2);font-size:.95rem;margin:0}
.cw-sol-cap-grid li>h3,.cw-sol-cap-grid li>p{padding:1.5rem 1.5rem 0}
.cw-sol-cap-grid li>p:last-child{padding-bottom:1.5rem}
#main .cw-sol-cap-grid a:hover h3{color:var(--cw-primary)}

/* Proof / stats band */
.cw-sol-proof{background:#123C20;color:#E2E8F0;padding:5rem 0;margin-top:0}
.cw-page.cw-page .cw-sol-proof h2{color:#fff;margin-bottom:1rem}
#main.cw-page .cw-sol-proof .cw-lead{color:#CBD5E1;margin-bottom:2.5rem}
.cw-sol-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0}
.cw-sol-proof-grid>div{padding:1.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--cw-r,6px)}
.cw-sol-proof-grid dt{font-size:1.1875rem;font-weight:600;color:#fff;line-height:1.3;margin-bottom:.5rem;letter-spacing:-.01em}
#main.cw-page .cw-sol-proof-grid dd{margin:0;color:#CBD5E1;font-size:.95rem}

/* Content sections with two-column layout */
.cw-sol-section{padding:4rem 0}
.cw-sol-section:nth-child(even){background:var(--cw-white)}
.cw-sol-section-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4rem;align-items:start}
#main.cw-page .cw-sol-section-grid>div p{color:var(--cw-ink-2)}
.cw-sol-section-list{list-style:none;margin:0;padding:0}
.cw-sol-section-list li{position:relative;padding:.85rem 0 .85rem 1.5rem;margin:0;color:var(--cw-ink);font-size:.975rem}
.cw-sol-section-list li::before{content:"";position:absolute;left:0;top:1.35rem;width:8px;height:8px;border:2px solid var(--cw-primary);border-radius:50%}
.cw-sol-section-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cw-sol-section-cards li{padding:1.15rem;border:1px solid var(--cw-line);border-radius:var(--cw-r,6px);background:var(--cw-white);margin:0}
.cw-sol-section-cards strong{display:block;font-size:.95rem;margin-bottom:.25rem}
#main.cw-page .cw-sol-section-cards span{display:block;color:var(--cw-ink-2);font-size:.9rem}
#main .cw-sol-section-cards a{display:block;height:100%;text-decoration:none;transition:background var(--cw-d) var(--cw-ease)}
#main .cw-sol-section-cards a:hover{background:var(--cw-sunken)}

/* Illustrative product table in a content section, in place of the list */
.cw-sol-section .cw-sol-panel{margin:0}
#main .cw-sol-panel table{min-width:0;font-size:.875rem}
#main .cw-sol-panel th,#main .cw-sol-panel td{padding:.7rem .85rem}
#main .cw-sol-panel tbody th{font-weight:500}
#main .cw-sol-panel td{white-space:nowrap;width:1%}

/* Ruled rows: a term and what it means, separated by hairlines rather than boxed in cards */
.cw-sol-rows{margin:0;border-top:1px solid var(--cw-line)}
.cw-sol-rows>div{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:2.5rem;padding:1.5rem 0;border-bottom:1px solid var(--cw-line)}
.cw-sol-rows dt{font-size:1.0625rem;font-weight:600;color:var(--cw-ink);line-height:1.4}
#main.cw-page .cw-sol-rows dd{margin:0;max-width:68ch;color:var(--cw-ink-2)}
#main .cw-sol-rows dt a{display:inline-block;padding:.2rem 0;color:inherit;text-decoration:underline;text-decoration-color:var(--cw-line-strong);text-underline-offset:.2em}
#main .cw-sol-rows dt a:hover{color:var(--cw-primary);text-decoration-color:currentColor}

/* Editorial steps: a ruled timeline, each step hung from a dot on the rule */
.cw-sol--editorial .cw-steps{gap:0 2rem}
.cw-sol--editorial .cw-steps li{padding:1.75rem 0 0;background:none;border:0;border-top:1px solid rgba(255,255,255,.22);border-radius:0}
.cw-sol--editorial .cw-steps li::before{top:-5px;left:0}

/* Responsive */
@media (max-width:1024px){
  .cw-sol-challenges-head{grid-template-columns:1fr;gap:1rem}
  .cw-sol-challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cw-sol-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cw-sol-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cw-sol-section-grid{grid-template-columns:1fr;gap:2rem}
  .cw-sol-rows>div{grid-template-columns:10rem minmax(0,1fr);gap:1.5rem}
}
@media (max-width:640px){
  .cw-sol-challenge-grid,.cw-sol-cap-grid{grid-template-columns:1fr}
  .cw-sol-proof-grid{grid-template-columns:1fr}
  .cw-sol-section-cards{grid-template-columns:1fr}
  .cw-sol-rows>div{grid-template-columns:1fr;gap:.4rem;padding:1.25rem 0}
}
