.we-hero { min-height: calc(100svh - var(--we-header-stack-height) - var(--we-admin-bar-height)); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr); align-items: center; gap: clamp(40px, 7vw, 110px); background: transparent; }
.we-hero--no-artwork { grid-template-columns: minmax(0, 900px); }
.we-hero__content, .we-hero__visual { position: relative; z-index: 1; }
.we-hero__content h1 span { background: linear-gradient(120deg, var(--we-blue), var(--we-accent-strong)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.we-hero__description { max-width: 680px; color: var(--we-muted); font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.we-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.we-hero__stats { display: grid; grid-template-columns: repeat(4, auto); gap: 26px; margin-top: 50px; }
.we-hero__stats > span { display: grid; }
.we-hero__stats strong { font-size: 1.55rem; }
.we-hero__stats small { color: var(--we-muted); font-size: .82rem; }
.we-hero__visual { min-height: 520px; display: grid; place-items: center; margin: 0; background: transparent; border: 0; box-shadow: none; overflow: visible; }
.we-hero__artwork { display: block; width: min(100%, 650px); height: auto; max-height: none; object-fit: contain; background: transparent; border: 0; border-radius: 0; box-shadow: none; filter: none; }

.we-service-card { position: relative; padding: 30px; overflow: hidden; box-shadow: none; transition: var(--we-transition); }
.we-service-card::after { content: ""; position: absolute; width: 120px; height: 120px; border-radius: 50%; background: rgba(182,255,0,.08); inset-block-end: -70px; inset-inline-end: -50px; }
.we-service-card:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--we-blue) 40%, var(--we-border)); box-shadow: var(--we-shadow); }
.we-service-card__icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 16px; background: linear-gradient(145deg, rgba(59,167,255,.16), rgba(182,255,0,.12)); color: var(--we-blue); font-weight: 900; }
.we-service-card p { color: var(--we-muted); }
.we-service-card > a:last-child { font-weight: 800; }

.we-process { display: grid; border-block: 1px solid var(--we-border); }
.we-process__item { display: grid; grid-template-columns: 110px 1fr; gap: 0 34px; padding-block: 34px; border-bottom: 1px solid var(--we-border); }
.we-process__item:last-child { border-bottom: 0; }
.we-process__item > span { grid-row: 1 / 3; color: var(--we-blue); font-weight: 900; font-size: 1.4rem; }
.we-process__item h3 { margin-bottom: 8px; }
.we-process__item p { color: var(--we-muted); margin: 0; max-width: 720px; }

.we-stats { display: grid; grid-template-columns: repeat(4, 1fr); padding: 38px; background: var(--we-primary); color: #fff; }
.we-stats > span { display: grid; text-align: center; border-inline-end: 1px solid rgba(255,255,255,.12); }
.we-stats > span:last-child { border: 0; }
.we-stats strong { color: var(--we-accent); font-size: clamp(2rem, 4vw, 3.3rem); }
.we-stats small { color: #A8C9D6; }

.we-content-media { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(40px, 8vw, 120px); }
.we-content-media.is-start .we-content-media__visual { order: -1; }
.we-content-media__copy .we-button { margin-top: 24px; }
.we-content-media__visual { min-height: 470px; margin: 0; border-radius: var(--we-radius-lg); overflow: hidden; background: linear-gradient(145deg, var(--we-primary), var(--we-primary-2)); }
.we-content-media__visual img { width: 100%; height: 100%; object-fit: cover; }
.we-media-placeholder { min-height: 470px; display: grid; place-items: center; color: var(--we-accent); font-size: 9rem; font-weight: 900; }

.we-project-card { display: grid; grid-template-columns: 48% 1fr; grid-template-rows: auto auto 1fr; overflow: hidden; box-shadow: none; }
.we-project-card__media { grid-row: 1 / 4; min-height: 310px; background: var(--we-primary); }
.we-project-card__media img { width: 100%; height: 100%; object-fit: cover; }
.we-project-card__tag, .we-project-card h3, .we-project-card p { grid-column: 2; margin-inline: 32px; }
.we-project-card__tag { align-self: end; margin-top: 30px; color: var(--we-blue); font-weight: 800; font-size: .83rem; }
.we-project-card h3 { margin-top: 8px; }
.we-project-card p { color: var(--we-muted); margin-bottom: 30px; }

.we-price-card { position: relative; padding: 34px; box-shadow: none; }
.we-price-card.is-featured { border-color: var(--we-accent); transform: translateY(-12px); box-shadow: var(--we-shadow); }
.we-price-card__tag { display: inline-block; min-height: 24px; color: var(--we-blue); font-size: .78rem; font-weight: 800; }
.we-price-card__price { display: flex; align-items: baseline; gap: 8px; margin-block: 24px; }
.we-price-card__price strong { font-size: 2.2rem; }
.we-price-card__price span { color: var(--we-muted); }
.we-price-card ul { list-style: none; padding: 0; margin: 0 0 30px; display: grid; gap: 11px; }
.we-price-card li::before { content: "✓"; color: var(--we-green); font-weight: 900; margin-inline-end: 9px; }

.we-quote { padding: 30px; box-shadow: none; }
.we-quote__stars { color: var(--we-accent-strong); letter-spacing: .14em; }
.we-quote p { font-size: 1.06rem; }
.we-quote footer { display: grid; }
.we-quote footer span { color: var(--we-muted); font-size: .9rem; }

.we-faq { border-top: 1px solid var(--we-border); }
.we-faq__item { border-bottom: 1px solid var(--we-border); }
.we-faq__item summary { list-style: none; display: flex; justify-content: space-between; gap: 20px; padding-block: 24px; font-weight: 850; cursor: pointer; }
.we-faq__item summary::-webkit-details-marker { display: none; }
.we-faq__item summary span { color: var(--we-blue); font-size: 1.5rem; transition: transform var(--we-transition); }
.we-faq__item[open] summary span { transform: rotate(45deg); }
.we-faq__item > div { padding-bottom: 24px; color: var(--we-muted); }

.we-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: clamp(34px, 6vw, 72px); border-radius: var(--we-radius-lg); background: linear-gradient(135deg, var(--we-primary), #0A334B); color: #fff; overflow: hidden; }
.we-cta > .we-eyebrow, .we-cta > h2, .we-cta > p { grid-column: 1; }
.we-cta > p { color: #A8C9D6; max-width: 700px; }
.we-cta__actions { grid-column: 2; grid-row: 1 / 4; align-self: center; display: flex; flex-wrap: wrap; gap: 12px; margin-inline-start: 34px; }
.we-cta .we-button--ghost { color: #fff; border-color: rgba(255,255,255,.24); }

.we-contact { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(38px, 7vw, 100px); padding: clamp(28px, 6vw, 70px); }
.we-contact > .we-eyebrow, .we-contact > h2, .we-contact > p { grid-column: 1; }
.we-contact > .we-eyebrow { align-self: end; }
.we-contact > p { color: var(--we-muted); }
.we-contact > .we-form { grid-column: 2; grid-row: 1 / 4; }

/* Anchored homepage modules account for the floating sticky header. */
.we-section[id] {
  scroll-margin-top: calc(var(--we-header-stack-height) + 24px);
}
