/* ============ SHARED INNER-PAGE STYLES ============ */
.page-hero{position:relative;background:radial-gradient(800px 420px at 75% 20%, rgba(11,105,150,.4), transparent 70%), linear-gradient(180deg,#030d1b,#03101f);padding:56px 0 50px;overflow:hidden}
.page-hero .hero-grid-lines{position:absolute;inset:0;background-image:radial-gradient(rgba(120,190,220,.06) 1px, transparent 1px);background-size:26px 26px}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(28px,4.4vw,44px);line-height:1.15;letter-spacing:-1px;color:#fff;max-width:820px}
.page-hero .lede{margin:18px 0 0;max-width:560px;font-size:14px;line-height:1.85;color:var(--muted);font-weight:300}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:11px;color:#7f9ab0;margin-bottom:18px;flex-wrap:wrap}
.breadcrumb a{color:#7f9ab0}
.breadcrumb a:hover{color:var(--cyan-soft)}

.content-section{padding:56px 0}
.content-section.alt{background:var(--bg2)}
.content-section.light{background:#fff;color:#0a1e33}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card-grid.cols-4{grid-template-columns:repeat(4,1fr)}

.info-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(165deg,var(--panel),var(--panel2));padding:26px}
.info-card .ttl{font-size:16px;font-weight:600;color:#fff}
.info-card p{margin:10px 0 0;font-size:12.5px;line-height:1.8;color:#93aabf;font-weight:300}
.info-card .num{font-size:11px;font-weight:700;color:var(--cyan-soft);letter-spacing:.1em}

.stat-inline{display:flex;gap:32px;flex-wrap:wrap;margin-top:26px}
.stat-inline div{min-width:100px}
.stat-inline .num{font-size:28px;font-weight:600;color:var(--cyan);letter-spacing:-1px}
.stat-inline .lbl{margin-top:4px;font-size:11px;color:#a8bdcf;font-weight:300}

/* Timeline / process list */
.step-list{display:flex;flex-direction:column;gap:0;margin-top:30px}
.step-item{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;border-top:1px solid rgba(120,170,200,.14)}
.step-item:last-child{border-bottom:1px solid rgba(120,170,200,.14)}
.step-item .idx{font-size:13px;font-weight:700;color:var(--cyan)}
.step-item .ttl{font-size:15px;font-weight:600;color:#fff}
.step-item p{margin:8px 0 0;font-size:12.5px;line-height:1.75;color:#93aabf;font-weight:300}

/* FAQ accordion */
.faq-list{display:flex;flex-direction:column;gap:12px;margin-top:26px}
.faq-item{border:1px solid var(--line-soft);border-radius:14px;background:rgba(255,255,255,.02);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;font-weight:500;color:#fff}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .car{transition:transform .3s ease;flex:none;color:var(--cyan)}
.faq-item[open] summary .car{transform:rotate(180deg)}
.faq-item .body{padding:0 22px 20px;font-size:12.5px;line-height:1.85;color:#93aabf;font-weight:300}
.faq-cat{display:inline-block;margin:0 0 22px;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--cyan-soft);text-transform:uppercase}

/* Forms */
.form-card{border:1px solid var(--line);border-radius:20px;background:linear-gradient(165deg,rgba(10,30,51,.75),rgba(6,20,38,.75));padding:32px}
.field{margin-bottom:18px}
.field label{display:block;font-size:11.5px;font-weight:600;color:#c2d4e2;margin-bottom:8px;letter-spacing:.02em}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid rgba(120,170,200,.22);border-radius:10px;background:rgba(4,16,28,.75);color:#dce7f0;font-family:inherit;font-size:13px;outline:none;transition:border-color .25s ease}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(34,211,238,.6)}
.field textarea{min-height:120px;resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-note{margin-top:14px;font-size:11px;color:#7f9ab0;line-height:1.7}
.form-success{display:none;text-align:center;padding:40px 20px}
.form-success.show{display:block}
.form-success svg{color:var(--cyan)}
.form-success .ttl{margin-top:16px;font-size:18px;font-weight:600;color:#fff}
.form-success p{margin-top:8px;font-size:12.5px;color:#93aabf}

/* Testimonial / team cards */
.quote-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(165deg,var(--panel),var(--panel2));padding:26px}
.quote-card .stars{color:#ffb020;font-size:13px;letter-spacing:2px}
.quote-card p{margin:14px 0 0;font-size:13px;line-height:1.85;color:#c6d8e6;font-weight:300}
.quote-card .who{margin-top:18px;display:flex;align-items:center;gap:12px}
.quote-card .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(150deg,#2a86ab,#0d3550);flex:none}
.quote-card .name{font-size:12.5px;font-weight:600;color:#fff}
.quote-card .role{font-size:11px;color:#8ea6bd;font-weight:300}

/* Blog cards */
.blog-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(165deg,var(--panel),var(--panel2));overflow:hidden;display:flex;flex-direction:column}
.blog-card .shot{height:170px;background:linear-gradient(135deg,#0b2a44,#061426);display:flex;align-items:center;justify-content:center;color:rgba(140,234,248,.5);font-size:11px;letter-spacing:.1em}
.blog-card .body{padding:20px;display:flex;flex-direction:column;flex:1}
.blog-card .cat{font-size:9.5px;letter-spacing:.12em;font-weight:700;color:var(--cyan-soft);text-transform:uppercase}
.blog-card .ttl{margin-top:10px;font-size:14.5px;font-weight:600;color:#fff;line-height:1.4}
.blog-card p{margin:10px 0 0;font-size:12px;line-height:1.7;color:#93aabf;font-weight:300;flex:1}
.blog-card .meta{margin-top:16px;display:flex;justify-content:space-between;font-size:10.5px;color:#7f9ab0}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 8px}
.filter-chip{padding:8px 16px;border:1px solid rgba(120,170,200,.22);border-radius:20px;font-size:11.5px;color:#a8bdcf;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s ease}
.filter-chip.active,.filter-chip:hover{border-color:var(--cyan);color:var(--cyan-soft);background:rgba(34,211,238,.08)}

/* Job listings */
.job-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid var(--line-soft);border-radius:14px;background:rgba(255,255,255,.02);flex-wrap:wrap}
.job-card .ttl{font-size:15px;font-weight:600;color:#fff}
.job-card .meta{margin-top:6px;display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:#93aabf}
.job-card .meta span{display:inline-flex;align-items:center;gap:5px}

/* Pricing / audit score circles */
.score-ring{position:relative;width:120px;height:120px;margin:0 auto}
.score-ring svg{transform:rotate(-90deg)}
.score-ring .val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:600;color:#fff}

@media (max-width:900px){
  .two-col{grid-template-columns:1fr;gap:32px}
  .card-grid,.card-grid.cols-2,.card-grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .field-row{grid-template-columns:1fr}
}
@media (max-width:640px){
  .card-grid,.card-grid.cols-2,.card-grid.cols-4{grid-template-columns:1fr}
  .stat-inline{gap:22px}
  .job-card{flex-direction:column;align-items:flex-start}
  .content-section{padding:40px 0}
}
