/* assets/css/pages/solution.css */

/* ===== INTRO / approach ===== */
.sol-intro__grid{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(1.8rem,4vw,3.4rem);align-items:center}
.sol-intro{padding-block:clamp(2.4rem,5.5vh,4rem)}
.sol-intro__lead{font-family:var(--font-display);font-size:clamp(1.2rem,0.95rem + 0.7vw,1.55rem);line-height:1.4;color:var(--color-ivory);margin-top:.5rem}
.sol-pillars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.sol-pillars__item{display:flex;align-items:baseline;gap:1rem;padding:1.05rem 0;border-top:1px solid var(--color-line);transition:padding-left var(--dur-fast) var(--ease-out-expo)}
.sol-pillars__item:last-child{border-bottom:1px solid var(--color-line)}
.sol-pillars__item:hover{padding-left:.5rem}
.sol-pillars__n{flex:none;font-size:var(--fs-400);color:var(--color-rust);opacity:.65;min-width:2.4ch}
.sol-pillars__label{font-family:var(--font-display);font-size:var(--fs-600);color:var(--color-ivory);line-height:1.1}

/* ===== DIPTYCH (drag to compare) ===== */
.diptych{position:relative;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-line);user-select:none}
.diptych__after,.diptych__before{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--color-surface)}
.diptych__before{width:50%;border-right:2px solid var(--color-rust)}
.diptych__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.diptych__handle{position:absolute;top:50%;left:50%;width:44px;height:44px;border-radius:50%;background:var(--color-rust);transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 6px rgba(192,74,32,.2)}

/* ===== JOURNEY (scroll-progress timeline) ===== */
.solj{position:relative;max-width:760px;margin-inline:auto}
.solj__rail{position:absolute;left:35px;top:28px;bottom:28px;width:2px;background:var(--color-line);overflow:hidden}
.solj__fill{position:absolute;inset:0;background:linear-gradient(var(--color-rust-glow),var(--color-rust));transform:scaleY(0);transform-origin:top}
.solj.is-visible .solj__fill{transform:scaleY(1);transition:transform 1.4s var(--ease-out-expo)}
.solj__steps{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}
.solj__step{position:relative;display:grid;grid-template-columns:72px 1fr;gap:1.4rem;align-items:start}
.solj__node{position:relative;display:flex;justify-content:center}
.solj__bubble{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;background:var(--color-bg-deep);border:1.5px solid var(--color-line);display:flex;align-items:center;justify-content:center;transition:border-color .45s var(--ease-out-expo),box-shadow .45s var(--ease-out-expo)}
.solj__step.is-visible .solj__bubble{border-color:var(--color-rust);box-shadow:0 0 0 5px rgba(192,74,32,.13)}
.solj__num{font-family:var(--font-display);font-size:var(--fs-500);color:var(--color-ivory-soft);transition:color .45s}
.solj__step.is-visible .solj__num{color:var(--color-rust)}
.solj__card{padding-top:.5rem;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:1.3rem 1.5rem;transition:border-color var(--dur-fast),transform var(--dur-mid) var(--ease-out-expo)}
.solj__step:hover .solj__card{border-color:var(--color-rust);transform:translateX(4px)}
.solj__t{font-family:var(--font-display);font-size:var(--fs-600);margin-bottom:.3rem;line-height:1.05}
.solj__card p{color:var(--color-ivory-soft);font-size:var(--fs-300);line-height:1.5}

/* ===== OUTCOMES (clean cards) ===== */
.sol-outcomes__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:1.2rem}
.sol-outcome{display:flex;align-items:center;gap:1rem;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:1.4rem 1.5rem;transition:transform .35s var(--ease-out-expo),border-color var(--dur-fast),box-shadow var(--dur-mid)}
.sol-outcome:hover{transform:translateY(-5px);border-color:var(--color-rust);box-shadow:0 14px 30px rgba(0,0,0,.34)}
.sol-outcome__check{flex:none;width:30px;height:30px;border-radius:50%;background:rgba(192,74,32,.12);border:1.5px solid var(--color-rust);display:flex;align-items:center;justify-content:center}
.sol-outcome__check svg{width:16px;height:16px;fill:none;stroke:var(--color-rust);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sol-outcome__text{font-family:var(--font-display);font-size:var(--fs-450,1.15rem);color:var(--color-ivory);line-height:1.2}

/* ===== WHY IT WORKS ===== */
.sol-why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.sol-why__card{position:relative;padding:1.7rem 1.6rem;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);transition:transform .35s var(--ease-out-expo),border-color var(--dur-fast)}
.sol-why__card:hover{border-color:var(--color-rust)}
.sol-why__n{display:block;font-size:var(--fs-600);color:var(--color-rust);opacity:.6;margin-bottom:.6rem}
.sol-why__h{font-family:var(--font-display);font-size:var(--fs-550,1.4rem);margin-bottom:.45rem;line-height:1.1}
.sol-why__card p{color:var(--color-ivory-soft);font-size:var(--fs-300);line-height:1.5}

/* ===== PROOF band ===== */
.sol-proof{position:relative;overflow:hidden;padding-block:clamp(2.8rem,7vh,4.6rem);background:var(--color-bg-deep);border-block:1px solid var(--color-line);text-align:center}
.sol-proof__bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(206,191,170,.045) 1px,transparent 1px) 0 0/100% 40px,radial-gradient(ellipse 56% 130% at 50% -15%,rgba(192,74,32,.18),transparent 60%)}
.sol-proof__kicker{position:relative;font-size:var(--fs-300);letter-spacing:.22em;text-transform:uppercase;color:var(--color-rust-glow);margin-bottom:1.8rem}
.sol-proof__grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr)}
.sol-proof__item{position:relative;padding:.4rem 1rem}
.sol-proof__item + .sol-proof__item::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:var(--color-line)}
.sol-proof__n{display:inline-block;font-family:var(--font-display);font-size:clamp(3.4rem,2rem + 4.2vw,5.6rem);line-height:1;color:var(--color-rust);position:relative;padding-bottom:.55rem}
.sol-proof__n::after{content:"";position:absolute;left:50%;bottom:0;width:36px;height:2px;background:var(--color-rust);transform:translateX(-50%) scaleX(0);transition:transform .6s var(--ease-out-expo) .25s}
.sol-proof__grid.is-visible .sol-proof__n::after{transform:translateX(-50%) scaleX(1)}
.sol-proof__l{display:block;margin-top:.8rem;font-size:var(--fs-300);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ivory)}

/* ===== FAQ (two-column) ===== */
.sol-faq__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.8rem,4vw,3.6rem);align-items:start}
.sol-faq__aside{position:sticky;top:110px}
.sol-faq__lead{margin-top:1rem;color:var(--color-ivory-soft);font-size:var(--fs-400);max-width:30ch;line-height:1.5}
.sol-faq__cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;font-family:var(--font-mono);font-size:var(--fs-300);letter-spacing:.04em;color:var(--color-rust-glow)}
.sol-faq__cta span{transition:transform var(--dur-fast) var(--ease-out-expo)}
.sol-faq__cta:hover span{transform:translateX(5px)}
.sol-faq .cabinet{max-width:none}

/* ===== FIT (is this you?) ===== */
.sol-fit__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center}
.sol-fit__note{margin-top:1rem;color:var(--color-ivory-soft);font-size:var(--fs-300);max-width:34ch}
.sol-fit__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sol-fit__item{display:flex;align-items:center;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--color-line);font-family:var(--font-display);font-size:var(--fs-500);color:var(--color-ivory);transition:padding-left var(--dur-fast) var(--ease-out-expo)}
.sol-fit__item:last-child{border-bottom:1px solid var(--color-line)}
.sol-fit__item:hover{padding-left:.5rem}
.sol-fit__check{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--color-rust);position:relative}
.sol-fit__check::after{content:"";position:absolute;left:8px;top:4px;width:5px;height:9px;border:solid var(--color-rust);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ===== CTA (standard pattern) ===== */
.sol-cta{padding-block:clamp(3rem,8vh,6rem);text-align:center;background:var(--color-bg-deep);border-block:1px solid var(--color-line)}
.sol-cta__line{font-family:var(--font-display);font-size:var(--fs-600);color:var(--color-ivory);max-width:46ch;margin:0 auto 1.3rem;line-height:1.25}

@media (max-width:900px){
  .sol-intro__grid,.sol-fit__grid,.sol-faq__grid{grid-template-columns:1fr;gap:1.8rem}
  .sol-faq__aside{position:static}
  .sol-why__grid{grid-template-columns:1fr}
  .sol-proof__grid{gap:1rem}
}
@media (max-width:560px){
  .solj__step{grid-template-columns:52px 1fr;gap:1rem}
  .solj__rail{left:25px}
  .solj__bubble{width:42px;height:42px}
}
@media (prefers-reduced-motion:reduce){
  .solj.is-visible .solj__fill{transition:none}
}
