/* Inner page patterns for Mars theme */
.page-hero{padding:140px 0 48px;background:var(--ink);color:#fff;position:relative;overflow:hidden}
.page-hero--light{background:var(--paper);color:var(--ink);padding:120px 0 40px}
.page-hero .breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:13px;color:#adafb3;margin-bottom:28px}
.page-hero--light .breadcrumbs{color:var(--muted)}
.page-hero .breadcrumbs a:hover{color:var(--acid)}
.page-hero--light .breadcrumbs a:hover{color:var(--ink)}
.page-hero h1{font:800 clamp(42px,6vw,84px)/.95 Manrope,sans-serif;letter-spacing:-.055em;margin:18px 0 18px;max-width:900px}
.page-hero h1 span{color:var(--acid)}
.page-hero .lead{font-size:clamp(16px,2vw,19px);color:rgba(255,255,255,.72);max-width:640px;margin:0}
.page-hero--light .lead{color:var(--muted)}
.page-hero-meta{display:flex;justify-content:space-between;gap:20px;margin-top:36px;flex-wrap:wrap;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9a9da2}
.page-hero--light .page-hero-meta{color:var(--muted)}

.page-section{padding:72px 0}
.page-section--ink{background:var(--ink);color:#fff}
.page-section--white{background:#fff}

/* Service listing */
.mars-service-list{border-top:1px solid rgba(255,255,255,.14)}
.mars-service-list .service{display:grid;grid-template-columns:72px 1.15fr 1fr 56px;gap:26px;align-items:center;padding:29px 0;border-bottom:1px solid rgba(255,255,255,.14);transition:.25s;color:#fff}
.mars-service-list .service:hover{padding-left:18px;background:rgba(255,255,255,.035)}
.mars-service-list .num{color:var(--acid);font-size:12px;font-weight:800}
.mars-service-list h3{font:700 clamp(22px,3vw,36px)/1.15 Manrope;margin:0}
.mars-service-list p{font-size:14px;color:#8f9297;margin:0}
.mars-service-list .round{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center}
.mars-service-list .service:hover .round{background:var(--acid);color:#111;border-color:var(--acid)}
.mars-banner-shot{width:100%;border-radius:var(--r);overflow:hidden;margin:40px 0 0}
.mars-banner-shot img{width:100%;aspect-ratio:21/9;object-fit:cover}
.mars-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.mars-gallery-grid img{width:100%;border-radius:18px;aspect-ratio:4/5;object-fit:cover}

/* Cards / grids */
.mars-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.mars-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.mars-card:hover{transform:translateY(-5px);box-shadow:0 25px 70px rgba(0,0,0,.1)}
.mars-card-media{aspect-ratio:16/10;overflow:hidden;background:#ddd}
.mars-card-media img{width:100%;height:100%;object-fit:cover;transition:.4s}
.mars-card:hover .mars-card-media img{transform:scale(1.04)}
.mars-card-body{padding:28px}
.mars-card-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.mars-card h2,.mars-card h3{font:700 clamp(22px,2.5vw,32px)/1.15 Manrope;letter-spacing:-.03em;margin:18px 0 12px}
.mars-card p{color:var(--muted);font-size:14px;margin:0}
.mars-card .go{margin-top:22px;font-weight:800;font-size:13px}

.mars-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.mars-project{display:block}
.mars-project-thumb{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:#222;margin-bottom:18px}
.mars-project-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s}
.mars-project:hover .mars-project-thumb img{transform:scale(1.04)}
.mars-project h2{font:700 clamp(24px,3vw,36px)/1.1 Manrope;margin:0 0 8px;letter-spacing:-.03em}
.mars-project span{color:var(--muted);font-size:14px}

/* Team */
.mars-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.mars-team-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mars-team-card img{width:100%;aspect-ratio:1;object-fit:cover}
.mars-team-card .body{padding:22px}
.mars-team-card h3{font:700 22px Manrope;margin:0 0 6px}
.mars-team-card p{margin:0;color:var(--muted);font-size:14px}

/* Contact */
.mars-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mars-map-box{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff;min-height:280px}
.mars-map-box iframe{width:100%;height:320px;border:0;display:block}
.mars-loc{padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-top:14px}
.mars-loc h3{font:700 18px Manrope;margin:0 0 8px}
.mars-loc p,.mars-loc a{margin:0;color:var(--muted);font-size:14px}
.mars-form-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:36px}

/* Portfolio / blog detail */
.mars-meta-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:36px 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mars-meta-row span{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.mars-meta-row strong{font:700 16px Manrope}
.mars-prose{font-size:17px;line-height:1.8;color:#404248;max-width:760px}
.mars-prose h2,.mars-prose h3{font-family:Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink);margin:1.6em 0 .6em}
.mars-prose p{margin:0 0 1.1em}
.mars-prose ul,.mars-prose ol{padding-left:1.2em;margin:0 0 1.1em}
.mars-prose img{border-radius:18px;margin:1.5em 0}
.mars-detail-banner{width:100%;border-radius:var(--r);overflow:hidden;margin:20px 0 40px}
.mars-detail-banner img{width:100%;aspect-ratio:21/9;object-fit:cover}
.mars-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:40px 0}
.mars-gallery img{width:100%;border-radius:18px;object-fit:cover}

/* Search */
.mars-search-form{display:flex;gap:12px;margin-top:28px;max-width:640px}
.mars-search-form input{flex:1;border:1px solid var(--line);border-radius:999px;padding:16px 22px;font:inherit;outline:none;background:#fff}
.mars-search-form input:focus{box-shadow:0 0 0 3px rgba(223,255,67,.75)}
.mars-search-form button{border:0;border-radius:999px;padding:16px 24px;background:var(--acid);font-weight:800;cursor:pointer}
.mars-result-group{margin-bottom:48px}
.mars-result-group h2{font:800 14px Manrope;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.mars-result-item{display:block;padding:20px 0;border-bottom:1px solid var(--line)}
.mars-result-item h3{font:700 22px Manrope;margin:0 0 8px}
.mars-result-item p{margin:0;color:var(--muted);font-size:14px}

/* Pagination */
.mars-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:48px}
.mars-pagination a,.mars-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:700;background:#fff}
.mars-pagination .active,.mars-pagination [aria-current="page"]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Empty */
.mars-empty{padding:60px 0;text-align:center;color:var(--muted)}

/* CTA strip */
.mars-cta-strip{background:var(--ink);color:#fff;padding:70px 0;margin-top:40px}
.mars-cta-strip .inner{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:end}
.mars-cta-strip h2{font:800 clamp(36px,5vw,64px)/1 Manrope;letter-spacing:-.05em;margin:14px 0 0}
.mars-cta-strip p{color:#aaa;margin:0 0 22px;max-width:420px}
.mars-cta-strip .btn{background:var(--acid);color:#111}

.headrow{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}
.headrow p{max-width:460px;color:var(--muted);margin:0}

.page-section--ink .section-title,
.page-section--ink .kicker,
.mars-cta-strip .kicker,
.mars-cta-strip .section-title,
.page-hero .kicker{color:inherit}
.page-section--ink .headrow .section-title{color:#fff}

/* Partner logos (team / home shared) */
.references{padding:68px 0 62px;background:#fff;overflow:hidden;border-bottom:1px solid var(--line)}
.references-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.references-head h2{font:700 clamp(31px,4vw,54px)/1.02 Manrope;letter-spacing:-.05em;max-width:720px;margin:14px 0 0}
.logo-marquee{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-track{display:flex;width:max-content;animation:logo-scroll 30s linear infinite}
.logo-marquee:hover .logo-track{animation-play-state:paused}
.logo-group{display:flex;flex:none}
.logo-slot{width:230px;height:112px;display:grid;place-items:center;flex:none;border-right:1px solid var(--line)}
.logo-slot img{display:block;max-width:145px;max-height:54px;object-fit:contain;filter:grayscale(1);opacity:.58;transition:filter .25s,opacity .25s,transform .25s}
.logo-slot:hover img{filter:none;opacity:1;transform:scale(1.04)}
@keyframes logo-scroll{to{transform:translateX(-50%)}}

@media(max-width:950px){
  .page-hero{padding:120px 0 40px}
  .mars-service-list .service{grid-template-columns:55px 1fr 50px}
  .mars-service-list p{grid-column:2}
  .mars-card-grid,.mars-project-grid,.mars-contact-grid,.mars-gallery,.mars-cta-strip .inner{grid-template-columns:1fr}
  .mars-team-grid,.mars-gallery-grid,.mars-meta-row{grid-template-columns:1fr 1fr}
  .headrow{flex-direction:column;align-items:start}
}
@media(max-width:620px){
  .page-hero{padding:110px 0 36px}
  .page-hero h1{font-size:40px}
  .page-section{padding:52px 0}
  .mars-service-list .service{grid-template-columns:38px 1fr 42px;gap:14px}
  .mars-service-list h3{font-size:22px}
  .mars-service-list p{grid-column:2/-1}
  .mars-card-grid,.mars-project-grid,.mars-team-grid,.mars-gallery-grid,.mars-meta-row{grid-template-columns:1fr}
  .mars-banner-shot img,.mars-detail-banner img{aspect-ratio:16/10}
  .mars-search-form{flex-direction:column}
  .mars-form-panel{padding:24px 18px}
}
