/* New pages: subcontractor-services.html and whats-available.html.
   Uses the site's existing variables from style.css / theme.css. */
.status-note{margin-top:22px;font-size:0.92rem;color:var(--concrete);max-width:640px;}
.status-pill{display:inline-block;font-size:0.68rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:3px 9px;border-radius:2px;vertical-align:middle;margin-left:6px;white-space:nowrap;}
.status-pill.live{background:var(--rust-dim);color:#fff;}
.status-pill.dev{border:1px solid var(--rust);color:var(--rust-bright);}
.status-pill.plan{border:1px solid var(--steel);color:var(--concrete);}

.sx-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.sx-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;padding-bottom:28px;}
.sx-card.featured{border:2px solid var(--rust);}
.sx-card .card-media img{width:100%;height:170px;object-fit:cover;display:block;}
.sx-card .num{display:block;font-family:'Montserrat',sans-serif;font-size:0.76rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--rust);margin:22px 28px 8px;}
.sx-card h3{margin:0 28px 14px;font-size:1.3rem;}
.sx-card ul{margin:0;padding:0 28px 0 46px;color:var(--concrete);font-size:0.94rem;}
.sx-card li{margin-bottom:8px;}
@media (max-width:900px){.sx-levels{grid-template-columns:1fr;}}

.sx-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
.sx-grid > div{padding:28px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);}
.sx-grid h3{font-size:1.05rem;margin:0 0 8px;}
.sx-grid p{margin:0;color:var(--concrete);font-size:0.93rem;}
@media (max-width:860px){.sx-grid{grid-template-columns:1fr;}}

.sx-policy{max-width:760px;}
.sx-policy h2{margin-bottom:14px;}
.sx-policy p{color:var(--concrete);font-size:1.05rem;}

.sx-form{max-width:640px;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--rust-dim);border-radius:8px;padding:30px 32px;}
.sx-form select{width:100%;padding:12px 14px;border:1px solid var(--steel);border-radius:2px;font-family:inherit;font-size:0.94rem;background:var(--dark-block);color:var(--ink);}

.av-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.av-filter{cursor:pointer;background:transparent;color:var(--ink);border:1.5px solid var(--steel);padding:8px 16px;border-radius:2px;font-family:inherit;font-weight:600;font-size:0.82rem;}
.av-filter.active{background:var(--rust-dim);border-color:var(--rust-dim);color:#fff;}
.av-list{display:flex;flex-direction:column;gap:14px;}
.av-row{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px 26px;}
.av-row h3{margin:0 0 4px;font-size:1.15rem;}
.av-row p{margin:0;color:var(--concrete);font-size:0.94rem;max-width:620px;}
.av-key{margin-top:32px;padding:22px 26px;background:var(--dark-block);border:1px solid var(--line);border-radius:8px;color:var(--concrete);font-size:0.92rem;}
.av-key p{margin:0 0 8px;}
.av-key p:last-child{margin:0;}

/* four-step workflow (the base .workflow is built for seven steps) */
.workflow.four{grid-template-columns:repeat(4,1fr);gap:24px;}
.workflow.four::before{left:calc(100%/8);right:calc(100%/8);}
@media (max-width:960px){
  .workflow.four{grid-template-columns:1fr;gap:0;}
  .workflow.four::before{left:23px;right:auto;}
}

/* ==========================================================================
   Site-wide: uniform secondary-page headers, single-line footer bottom row
   Loaded after theme.css on every page.
   ========================================================================== */
.page-hero{display:flex;align-items:center;min-height:460px;padding:72px 0;}
.page-hero > .wrap{width:100%;}
.page-hero h1{font-size:clamp(2.2rem,4.4vw,3.1rem);max-width:820px;}
.page-hero p{max-width:760px;}
.page-hero.blueprint{background-position:center 45%;}
@media (max-width:640px){
  .page-hero{min-height:360px;padding:56px 0;}
}
.footer-bottom{justify-content:flex-end;}

/* ==========================================================================
   Home page: audience paths and client logo band
   ========================================================================== */
.path-intro{max-width:860px;}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:48px;}
.path-card{position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--rust);border-radius:8px;padding:34px 34px 30px;min-height:420px;}
.path-card::before{content:"";position:absolute;inset:0;background:var(--bg) center/cover no-repeat;opacity:0.14;pointer-events:none;}
.path-card > *{position:relative;}
.path-card.sub{border-top-color:var(--steel);}
.path-tag{align-self:flex-start;background:var(--rust-dim);color:#fff;font-size:0.76rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:8px 14px;border-radius:2px;}
.path-card.sub .path-tag{background:#3B5A6E;}
.path-card h2{font-size:1.7rem;line-height:1.2;margin:20px 0 12px;}
.path-card p{margin:0 0 18px;color:var(--ink);font-size:0.98rem;line-height:1.6;}
.path-card ul{margin:0 0 26px;padding:0 0 0 20px;color:var(--ink);font-size:0.94rem;line-height:1.9;}
.path-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;}
.path-actions.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.path-actions.three .btn{text-align:center;padding-left:12px;padding-right:12px;}
.path-link{font-weight:600;font-size:0.88rem;color:var(--rust-bright);}
@media (max-width:900px){
  .path-grid{grid-template-columns:1fr;}
  .path-card{min-height:0;}
}
@media (max-width:520px){
  .path-actions.three{grid-template-columns:1fr;}
}

.clients-band{padding:48px 0 44px;border-bottom:1px solid var(--line);}
.client-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.client-track{display:flex;width:max-content;margin:0;padding:0;list-style:none;animation:client-scroll 45s linear infinite;}
.client-marquee:hover .client-track{animation-play-state:paused;}
.client-logo{flex:none;margin-right:20px;height:88px;padding:0 24px;background:#fff;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;}
.client-logo img{height:52px;width:auto;max-width:220px;object-fit:contain;display:block;}
@keyframes client-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
  .client-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;}
  .client-logo[aria-hidden]{display:none;}
}


/* ==========================================================================
   ProjectDesk, sample work, and pricing
   ========================================================================== */
.pd-logo{display:inline-block;background:#fff;border-radius:8px;margin-bottom:28px;line-height:0;}
.pd-logo img{display:block;width:min(520px,100%);height:auto;border-radius:8px;}
.pd-split{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;}
.pd-split p{color:var(--concrete);}
.pd-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:16px;}
.pd-list strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:2px;}
.pd-list span{color:var(--concrete);font-size:0.93rem;}
.pd-shot{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden;}
.pd-shot .bar{height:30px;background:var(--dark-block);border-bottom:1px solid var(--line);display:flex;gap:6px;align-items:center;padding:0 12px;}
.pd-shot .bar i{width:9px;height:9px;border-radius:50%;background:var(--steel);display:block;}
.pd-shot img{display:block;width:100%;height:auto;}
.pd-shot .ph{aspect-ratio:16/10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:24px;color:var(--concrete);font-size:0.9rem;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;}
.pd-shot .ph strong{color:var(--ink);font-size:1rem;}
.pd-note{margin-top:14px;font-size:0.8rem;color:var(--steel);}
.pd-states{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.pd-states span{border:1px solid var(--steel);border-radius:2px;padding:4px 12px;font-size:0.78rem;font-weight:600;color:var(--concrete);}
.pd-states span.ok{border-color:var(--rust);color:var(--ink);}
@media (max-width:900px){.pd-split{grid-template-columns:1fr;gap:28px;}}

.sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.sample-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;}
.sample-thumb{aspect-ratio:16/10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:20px;color:var(--concrete);font-size:0.86rem;border-bottom:1px solid var(--line);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;}
.sample-thumb strong{color:var(--ink);font-size:0.95rem;}
.sample-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
.sample-thumb.has-img{padding:0;display:block;}
.sample-body{padding:24px 28px 28px;display:flex;flex-direction:column;flex:1;}
.sample-body .num{font-family:'Montserrat',sans-serif;font-size:0.74rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--rust);}
.sample-body h3{margin:8px 0 10px;font-size:1.2rem;}
.sample-body p{margin:0 0 12px;color:var(--concrete);font-size:0.93rem;}
.sample-body ul{margin:0 0 16px;padding-left:20px;color:var(--concrete);font-size:0.9rem;}
.sample-body li{margin-bottom:6px;}
.sample-body .path-link{margin-top:auto;}
@media (max-width:860px){.sample-grid{grid-template-columns:1fr;}}

.price-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.price-strip.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.price-card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--rust);border-radius:8px;padding:28px 28px 26px;}
.price-card .from{font-size:0.74rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--rust);}
.price-card .amt{font-family:'Montserrat',sans-serif;font-size:2.3rem;font-weight:600;color:var(--ink);margin:8px 0 6px;line-height:1.1;}
.price-card .amt small{font-size:0.9rem;font-weight:500;color:var(--concrete);}
.price-card h3{margin:0 0 8px;font-size:1.1rem;}
.price-card p{margin:0;color:var(--concrete);font-size:0.92rem;}
.price-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:0.93rem;}
.price-table th{text-align:left;font-size:0.74rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--steel);padding:10px 12px;}
.price-table td{padding:14px 12px;border-bottom:1px solid var(--line);color:var(--concrete);vertical-align:top;}
.price-table td:first-child{color:var(--ink);font-weight:600;}
.price-table td.amt{color:var(--ink);white-space:nowrap;font-weight:600;}
.price-note{margin-top:20px;color:var(--concrete);font-size:0.92rem;max-width:760px;}
.price-note strong{color:var(--ink);}
.table-scroll{overflow-x:auto;}
@media (max-width:860px){.price-strip,.price-strip.two{grid-template-columns:1fr;}}
.pd-promo{padding:56px 0 24px;}
.pd-promo-card{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:48px;align-items:center;border:2px solid var(--rust);border-radius:10px;background:var(--surface);padding:40px 44px;}
.pd-promo-logo{display:block;background:#fff;border-radius:8px;line-height:0;}
.pd-promo-logo img{display:block;width:100%;height:auto;border-radius:8px;}
.pd-promo-card .section-label{margin-bottom:10px;}
.pd-promo-card h3{margin:0 0 12px;font-size:1.9rem;line-height:1.2;color:var(--ink);}
.pd-promo-card p{margin:0 0 24px;color:var(--concrete);font-size:1.05rem;line-height:1.6;max-width:560px;}
.pd-promo-card .btn{padding:16px 34px;font-size:1rem;}
@media(max-width:820px){.pd-promo-card{grid-template-columns:1fr;gap:24px;padding:28px 24px;}.pd-promo-card h3{font-size:1.5rem;}}
