/* Additions for the dynamic (CodeIgniter) build. Loaded after style.css. */

/* Section counts that are not the original 4 / 5 */
@media (min-width:961px){
  .stats{grid-template-columns:repeat(var(--n,4),1fr)}
}
@media (min-width:1101px){
  .steps{grid-template-columns:repeat(var(--n,5),1fr)}
}

/* Highlighted card used outside the "models" grid */
.card.feature{background:var(--ink);border-color:var(--ink)}
.card.feature h3{color:var(--white)}
.card.feature p{color:#b8d0d3}
.card.feature .ic{background:var(--ink-deep);color:var(--green)}

/* Pages without a hero still need room for the fixed header */
.no-hero main{padding-top:84px}
.no-hero .site-header{background:rgba(9,34,40,.97)}

/* Logo image */
.logo.logo-img img{width:auto;height:36px;max-width:200px}

/* Form feedback + spam trap */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg.error{background:rgba(255,120,120,.14);color:#ffb4b4}
.site-footer .form-msg{margin-top:10px;padding:10px 14px}
.flash-bar{position:relative;z-index:70;text-align:center;padding:14px 20px;margin-top:84px;font-weight:500}
.flash-bar.ok{background:var(--mint);color:#0e6b3f}
.flash-bar.err{background:#fdecec;color:#9b2c2c}
.form button[disabled]{opacity:.6;cursor:wait}

/* Testimonials */
.quote-card{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;gap:22px;margin:0}
.quote-card blockquote{font-family:var(--head);font-size:1.12rem;line-height:1.5;color:var(--ink);flex:1}
.quote-card figcaption{display:flex;align-items:center;gap:14px}
.quote-card img,.q-av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.q-av{background:var(--ink);color:var(--green);display:grid;place-items:center;font-family:var(--head);font-weight:600}
.quote-card b{display:block;font-family:var(--head);color:var(--ink);line-height:1.2}
.quote-card small{color:var(--muted)}
.bg-ink .quote-card,.bg-deep .quote-card{background:var(--ink-soft);border-color:rgba(255,255,255,.07)}
.bg-ink .quote-card blockquote,.bg-deep .quote-card blockquote,.bg-ink .quote-card b,.bg-deep .quote-card b{color:var(--white)}

/* Team */
.member{text-align:left}
.m-photo{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--mint);color:var(--green-dark);display:grid;place-items:center;font-family:var(--head);font-size:3rem;font-weight:600;margin-bottom:16px}
.m-photo img{width:100%;height:100%;object-fit:cover}
.member h3{font-size:1.15rem}
.member small{color:var(--green-dark);font-weight:600}
.member p{color:var(--muted);font-size:.93rem;margin-top:8px}
.m-link{display:inline-grid;margin-top:10px;color:var(--muted)}
.m-link:hover{color:var(--green-dark)}
.m-link svg{width:20px;height:20px}

/* Map embed */
.map-box iframe{width:100%;min-height:360px;border:0;display:block}
.map-box:has(iframe){padding:0}
.reach a:hover{color:var(--green-dark)}

/* Rich text from the editor */
.split p,.split ul:not(.checklist){margin-bottom:16px}
.split ul:not(.checklist){list-style:disc;padding-left:22px;color:var(--muted)}
.prose ol{padding-left:24px;margin-bottom:20px;display:grid;gap:8px}
.prose img{margin:8px 0}

/* WhatsApp: floating button + contact row */
.wa-float{position:fixed;right:22px;bottom:84px;z-index:56;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 16px;border-radius:999px;background:#25d366;color:#fff;font-family:var(--head);font-weight:600;font-size:.92rem;box-shadow:0 10px 26px rgba(37,211,102,.4);transition:transform .2s,box-shadow .2s}
.wa-float svg{width:26px;height:26px;flex:none}
.wa-float:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(37,211,102,.5)}
.reach .ri-wa{background:#e3f9ec;color:#128c4a}
.reach li>div>span{display:block}
.reach .wa-link{color:#128c4a;font-weight:600}
.reach .wa-link:hover{text-decoration:underline}
@media (max-width:640px){
  .wa-float{right:16px;bottom:16px;width:56px;height:56px;padding:0;justify-content:center}
  .wa-float span{display:none}
  .wa-float svg{width:30px;height:30px}
  .to-top{bottom:84px}
}

/* Careers: expandable job details */
.job-more{flex:1 1 100%;border-top:1px solid var(--line);padding-top:14px}
.job-more summary{cursor:pointer;font-family:var(--head);font-weight:600;font-size:.92rem;color:var(--green-dark);list-style:none;display:inline-flex;align-items:center;gap:8px}
.job-more summary::-webkit-details-marker{display:none}
.job-more summary::after{content:"+";font-size:1.2rem;line-height:1;transition:transform .2s}
.job-more[open] summary::after{content:"\2212"}
.job-desc{margin-top:14px;font-size:.95rem}
.job-desc h4{font-size:1rem;margin:18px 0 8px}
.job-desc ul{list-style:disc;padding-left:20px;display:grid;gap:6px;color:var(--muted)}
.job-desc p{color:var(--muted)}
