/* Pioneer Site v1.0.0 */
.pio { --pio-dark:#101418; --pio-accent:#25aae0; --pio-accent-dark:#1b8fc0; --pio-text:#2b3035; --pio-muted:#6b7178; --pio-line:#e6e8ea; --pio-alt:#f6f7f8;
  color:var(--pio-text); font-size:17px; line-height:1.65; }
.pio h1,.pio h2,.pio h3 { line-height:1.25; margin:0 0 .5em; }
.pio h2 { font-size:1.9em; letter-spacing:.02em; }
.pio p { margin:0 0 1em; }
.pio img { max-width:100%; height:auto; }
.pio .pio-center { text-align:center; }
.pio .pio-lede { color:var(--pio-muted); font-size:1.1em; max-width:820px; margin-bottom:2em; }
.pio .pio-link { color:var(--pio-accent); text-decoration:none; font-weight:600; }
.pio .pio-link:hover { text-decoration:underline; }

/* buttons */
.pio .pio-btn { display:inline-block; background:var(--pio-accent); color:#fff; padding:.8em 1.8em; border:2px solid var(--pio-accent);
  border-radius:3px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:.85em; text-decoration:none; cursor:pointer; }
.pio .pio-btn:hover { background:var(--pio-accent-dark); border-color:var(--pio-accent-dark); color:#fff; }
.pio .pio-btn-ghost { background:transparent; color:inherit; }
.pio .pio-btn-ghost:hover { background:rgba(255,255,255,.12); color:inherit; }

/* hero */
.pio-hero { position:relative; background-size:cover; background-position:center; border-radius:6px; overflow:hidden; margin-bottom:2.5em; }
.pio-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,10,14,.55),rgba(8,10,14,.82)); }
.pio-hero-inner { position:relative; padding:110px 8% 120px; color:#fff; max-width:860px; }
.pio-hero-kicker { letter-spacing:.35em; font-size:.8em; color:var(--pio-accent); font-weight:700; }
.pio-hero h1 { font-size:2.6em; color:#fff; }
.pio-hero-sub { color:#d6d9dd; font-size:1.1em; max-width:640px; }
.pio-hero .pio-btn-ghost { color:#fff; border-color:#fff; }

/* sections */
.pio-section { padding:3em 0; }
.pio-section-alt { background:var(--pio-alt); border-radius:6px; padding:3em 4%; }

/* grids */
.pio-grid { display:grid; gap:28px; }
.pio-grid-2 { grid-template-columns:repeat(2,1fr); }
.pio-grid-3 { grid-template-columns:repeat(3,1fr); }
.pio-grid-4 { grid-template-columns:repeat(4,1fr); }
.pio-grid-5 { grid-template-columns:repeat(5,1fr); }
@media (max-width:1100px){ .pio-grid-4,.pio-grid-5{grid-template-columns:repeat(3,1fr);} }
@media (max-width:820px){ .pio-grid-3,.pio-grid-4,.pio-grid-5{grid-template-columns:repeat(2,1fr);} .pio-grid-2{grid-template-columns:1fr;} .pio-hero h1{font-size:2em;} }
@media (max-width:540px){ .pio-grid-3,.pio-grid-4,.pio-grid-5{grid-template-columns:1fr;} .pio-hero-inner{padding:70px 6%;} }

/* service tiles */
.pio-tile { background:#fff; border:1px solid var(--pio-line); border-radius:6px; padding:1.6em; }
.pio-tile h3 { font-size:1.05em; text-transform:uppercase; letter-spacing:.05em; }
.pio-tile p { color:var(--pio-muted); font-size:.95em; margin:0; }
.pio-tile-icon { width:54px; height:54px; object-fit:contain; margin-bottom:1em; }

/* services page rows */
.pio-services { display:grid; gap:34px; }
.pio-service { display:grid; grid-template-columns:70px 1fr; gap:24px; align-items:start; background:#fff; border:1px solid var(--pio-line); border-radius:6px; padding:1.8em; }
.pio-service h2 { font-size:1.3em; text-transform:uppercase; letter-spacing:.04em; }
.pio-service p { margin:0; color:var(--pio-muted); }
@media (max-width:540px){ .pio-service{grid-template-columns:1fr;} }

/* project cards */
.pio-card { background:#fff; border:1px solid var(--pio-line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; }
.pio-card-img { display:block; aspect-ratio:4/3; overflow:hidden; }
.pio-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.pio-card:hover .pio-card-img img { transform:scale(1.05); }
.pio-card-body { padding:1.2em 1.3em 1.3em; }
.pio-card-body h3 { font-size:1.15em; margin-bottom:.2em; }
.pio-card-cats { color:var(--pio-accent); font-size:.8em; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.6em; }
.pio-card-text { color:var(--pio-muted); font-size:.92em; margin-bottom:.5em; }
.pio-card-meta { color:#9aa0a6; font-size:.82em; margin:0; }
.pio-card.pio-hidden { display:none; }

/* filter */
.pio-filter { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:2em; }
.pio-filter-btn { background:#fff; border:1px solid var(--pio-line); border-radius:30px; padding:.5em 1.3em; font-size:.88em; font-weight:600; cursor:pointer; color:var(--pio-text); }
.pio-filter-btn:hover { border-color:var(--pio-accent); }
.pio-filter-btn.is-active { background:var(--pio-dark); border-color:var(--pio-dark); color:#fff; }

/* team */
.pio-team .pio-member { text-align:center; }
.pio-member img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:6px; margin-bottom:.7em; filter:grayscale(18%); }
.pio-member h3 { font-size:.98em; letter-spacing:.04em; margin-bottom:.1em; }
.pio-member p { color:var(--pio-muted); font-size:.86em; margin:0; }

/* testimonials */
.pio-quote { background:#fff; border:1px solid var(--pio-line); border-left:4px solid var(--pio-accent); border-radius:6px; padding:1.6em 1.8em; }
.pio-quote blockquote { margin:0; }
.pio-quote blockquote p { font-style:italic; color:var(--pio-muted); font-size:.95em; }
.pio-quote cite { font-style:normal; font-weight:700; }

/* partners */
.pio-partner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:#fff; border:1px solid var(--pio-line);
  border-radius:6px; padding:2.2em 1.5em; text-decoration:none; color:var(--pio-text); transition:box-shadow .25s ease; }
.pio-partner:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); }
.pio-partner img { max-height:80px; object-fit:contain; }
.pio-partner span { font-weight:600; font-size:.9em; color:var(--pio-muted); }

/* offices */
.pio-offices { margin-top:1em; }
.pio-office { background:#fff; border:1px solid var(--pio-line); border-left:4px solid var(--pio-accent); border-radius:6px; padding:1.4em 1.5em; font-size:.92em; }
.pio-office-region { color:var(--pio-accent); font-weight:800; letter-spacing:.18em; font-size:.78em; margin-bottom:.3em; }
.pio-office h3 { font-size:1em; margin-bottom:.15em; }
.pio-office-label { font-weight:600; color:var(--pio-muted); margin-bottom:.6em; }
.pio-office p { margin-bottom:.6em; }
.pio-office a { color:var(--pio-text); text-decoration:none; font-weight:600; }
.pio-office-mail { word-break:break-word; color:var(--pio-muted); }

/* consultancy list */
.pio-consult { background:#fff; border:1px solid var(--pio-line); border-radius:6px; padding:1.2em 1.4em; }
.pio-consult h3 { font-size:1em; margin-bottom:.3em; }
.pio-consult h3 span { color:var(--pio-accent); font-size:.82em; font-weight:600; margin-left:.5em; }
.pio-consult p { color:var(--pio-muted); font-size:.9em; margin:0; }

/* CTA band */
.pio-cta { background:var(--pio-dark); color:#fff; border-radius:6px; text-align:center; padding:3.2em 8%; margin:2.5em 0; }
.pio-cta h2 { color:#fff; }
.pio-cta p { color:#c8ccd1; }
.pio-cta .pio-btn-ghost { color:#fff; border-color:#fff; }

/* form */
.pio-form { max-width:840px; }
.pio-form label { display:block; font-weight:600; font-size:.9em; margin-bottom:1em; }
.pio-form input,.pio-form textarea { display:block; width:100%; margin-top:.35em; padding:.7em .9em; border:1px solid var(--pio-line);
  border-radius:4px; font:inherit; background:#fff; }
.pio-form input:focus,.pio-form textarea:focus { outline:2px solid var(--pio-accent); border-color:var(--pio-accent); }
.pio-form-row { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:820px){ .pio-form-row{grid-template-columns:1fr;} }
.pio-hp { position:absolute !important; left:-9999px; }
.pio-notice { padding:1em 1.2em; border-radius:4px; margin-bottom:1.5em; font-weight:600; }
.pio-notice-ok { background:#e7f6ec; color:#1d6f3d; border:1px solid #bfe5cc; }
.pio-notice-err { background:#fdecea; color:#932720; border:1px solid #f5c6c1; }

/* --- typography hardening: neutralize theme heading/button overrides (v1.2.1) --- */
.pio h1, .pio h2, .pio h3 { text-transform:none !important; letter-spacing:normal !important; font-weight:700 !important; color:var(--pio-dark) !important; }
.pio-hero h1 { color:#fff !important; font-size:2.6em !important; line-height:1.2 !important; }
.pio-cta h2 { color:#fff !important; }
.pio .pio-section h2, .pio .pio-section-alt h2 { font-size:1.9em !important; }
.pio .pio-tile h3 { font-size:1.05em !important; text-transform:uppercase !important; letter-spacing:.05em !important; }
.pio .pio-service h2 { font-size:1.3em !important; text-transform:uppercase !important; letter-spacing:.04em !important; }
.pio .pio-card-body h3 { font-size:1.15em !important; }
.pio .pio-member h3 { font-size:.98em !important; letter-spacing:.04em !important; }
.pio .pio-office h3, .pio .pio-consult h3 { font-size:1em !important; }
.pio .pio-office-region, .pio .pio-card-cats { text-transform:uppercase !important; }
.pio .pio-hero-kicker { text-transform:uppercase !important; letter-spacing:.35em !important; }
.pio .pio-btn { color:#fff !important; font-weight:700 !important; letter-spacing:.04em !important; font-size:.85em !important; text-transform:uppercase !important; }
.pio .pio-btn:hover { color:#fff !important; }
.pio .pio-btn-ghost { background:transparent !important; color:var(--pio-text) !important; }
.pio .pio-btn-ghost:hover { background:rgba(0,0,0,.06) !important; color:var(--pio-text) !important; }
.pio-hero .pio-btn-ghost, .pio-cta .pio-btn-ghost { color:#fff !important; border-color:#fff !important; }
.pio-hero .pio-btn-ghost:hover, .pio-cta .pio-btn-ghost:hover { background:rgba(255,255,255,.14) !important; color:#fff !important; }
.pio .pio-filter-btn { font-weight:600 !important; color:var(--pio-text) !important; text-transform:none !important; letter-spacing:normal !important; }
.pio .pio-filter-btn.is-active { color:#fff !important; }
.pio blockquote { border:0; margin:0; padding:0; background:none; }
.pio .pio-quote cite { font-weight:700 !important; font-style:normal !important; color:var(--pio-dark) !important; }
