/* ==========================================================================
   INNER PAGES — banner, prose, sidebar and card blocks.
   Everything else is inherited from the home page stylesheet above.
   ========================================================================== */
.banner{position:relative;isolation:isolate;padding:88px 0 96px;color:#fff;
  background:var(--primary-deep) var(--proc-image) center 30%/cover no-repeat}
.banner::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(0,44,58,.9) 0,rgba(0,44,58,.8) 48%,rgba(0,115,143,.5) 100%)}
.banner::after{content:"";position:absolute;left:-160px;bottom:-220px;width:460px;height:460px;
  border:1px dashed rgba(var(--accent-rgb),.3);border-radius:50%;pointer-events:none;z-index:-1}
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;
  color:rgba(255,255,255,.72);margin-bottom:18px}
.crumb a:hover{color:var(--accent)}
.crumb span{opacity:.5}
.banner h1{font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-1.1px;
  font-weight:700;max-width:820px;text-shadow:0 2px 14px rgba(0,22,30,.5)}
.banner p{margin-top:18px;max-width:640px;font-size:15.5px;line-height:28px;
  color:rgba(255,255,255,.85)}
.banner .cta-actions{justify-content:flex-start;margin-top:30px}

.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px;align-items:start}
.prose h2{margin-bottom:18px}
.prose h3{font-size:20px;font-weight:600;letter-spacing:-.3px;color:var(--ink);
  margin:34px 0 12px}
.prose p{font-size:15px;line-height:28px;color:var(--body);margin-bottom:16px}
.prose ul{margin:0 0 20px}
.prose ul li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:24px;
  color:var(--ink);margin-bottom:11px}
.prose .media{aspect-ratio:16/9;margin:8px 0 28px;border-radius:var(--r-lg) 110px var(--r-lg) var(--r-lg)}
.callout{background:var(--accent-soft);border-left:3px solid var(--accent);
  border-radius:0 var(--r) var(--r) 0;padding:20px 24px;margin:26px 0}
.callout b{display:block;color:var(--primary);margin-bottom:6px;font-size:15px}
.callout p{margin:0;font-size:14px;line-height:23px}

.side{position:sticky;top:112px;display:flex;flex-direction:column;gap:22px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px;box-shadow:var(--shadow)}
.side-card h4{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:16px}
.side-links li{border-bottom:1px solid var(--line)}
.side-links li:last-child{border-bottom:0}
.side-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 0;font-size:13.5px;font-weight:500;color:var(--ink);transition:.2s}
.side-links a:hover{color:var(--primary);padding-left:5px}
.side-links a::after{content:"→";color:var(--accent-text);opacity:.7}
.side-cta{background:var(--primary);color:#fff;border:0}
.side-cta h4{color:#fff}
.side-cta p{font-size:13.5px;line-height:22px;color:rgba(255,255,255,.82);margin-bottom:18px}
.side-cta .btn{width:100%}

.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.icard{padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.icard h3{font-size:17px;font-weight:600;letter-spacing:-.2px;color:var(--ink)}
.icard p{font-size:13px;line-height:21px;color:var(--body)}
.step-row{counter-reset:s}
.step-row .icard{position:relative}
.step-row .icard::before{counter-increment:s;content:"0" counter(s);position:absolute;
  top:18px;right:22px;font-size:34px;font-weight:700;color:var(--accent);opacity:.18;letter-spacing:-2px}

@media(max-width:1180px){
  .page-grid{grid-template-columns:1fr;gap:44px}
  .side{position:static}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .banner{padding:60px 0 66px}
  .grid-3,.grid-2{grid-template-columns:1fr}
}
