.service-mockup-page { overflow-x: hidden; background: var(--lw-paper); color: var(--lw-ink); cursor: auto; }
.service-mockup-page main { overflow: hidden; }
.service-mockup-page main h1,
.service-mockup-page main h2,
.service-mockup-page main h3,
.service-mockup-page main p { margin: 0; }
.service-mockup-page main em { color: var(--lw-plum); font-weight: 500; }
.service-mockup-page a,
.service-mockup-page button { cursor: pointer; }
.service-mockup-page ::selection { background: var(--lw-plum); color: var(--lw-paper); }
.service-mockup-page .cursor-dot,
.service-mockup-page .cursor-ring { display: none; }
.service-mockup-page.hovering .cursor-ring { width: 66px; height: 66px; border-color: var(--lw-plum); }
.service-mockup-page.hovering .cursor-dot { opacity: .35; }

.sg-hero { min-height: 100svh; }
.sg-hero .lw-hero__image { object-position: right center; }
.sg-hero .lw-hero__content { width: min(44rem, 55vw); padding-left: 4.85vw; }
.sg-hero .lw-hero__content h1 { font-size: clamp(4rem, 5.55vw, 5.4rem); line-height: .95; }
.sg-hero .lw-hero__lead { margin-top: 2rem !important; font-size: var(--lw-type-body); line-height: 1.5; }
.sg-hero .lw-hero__actions { gap: 1.25rem; margin-top: 1.9rem; }
.sg-hero .lw-button { min-width: 12rem; min-height: 3.15rem; padding: .85rem 2.1rem; font-size: var(--lw-type-control); }
.capture-hero .lw-hero__image,
.automation-hero .lw-hero__image { object-position: right center; }
.capture-hero .lw-hero__content,
.automation-hero .lw-hero__content { width: min(50rem, 61vw); padding: 6.4rem 0 3.8rem 5.1vw; }
.capture-hero .lw-hero__content h1,
.automation-hero .lw-hero__content h1 { margin-top: 2.55rem; font-size: clamp(3.9rem, 5.45vw, 5.8rem); line-height: .93; }
.capture-hero .lw-hero__lead,
.automation-hero .lw-hero__lead { margin-top: 2.8rem !important; font-size: clamp(1.05rem, 1.25vw, 1.3rem); line-height: 1.45; }
.capture-hero .lw-hero__actions,
.automation-hero .lw-hero__actions { gap: 1.25rem; margin-top: 1.9rem; }
.capture-hero .lw-button,
.automation-hero .lw-button { min-width: 12rem; min-height: 3.15rem; padding: .85rem 2.1rem; font-size: var(--lw-type-control); }

.sg-dark { padding-top: 3.4rem; padding-bottom: 4rem; background: radial-gradient(circle at 50% 105%, rgba(120,8,87,.23), transparent 34rem), linear-gradient(112deg,#140c17,#07070a 52%,#140c17); color: #fff; }
.sg-dark__inner { width: min(calc(100% - 7.7vw), var(--lw-content-max)); margin: 0 auto; }
.sg-dark__title { color: #fff; font: 500 var(--lw-type-section-title)/1 var(--lw-serif); letter-spacing: -.04em; }
.sg-dark__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.35rem; margin-top: 2.6rem; }
.sg-dark-card { position: relative; min-height: 34rem; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: .55rem; background: #0b0910; isolation: isolate; transition: transform .55s cubic-bezier(.16,1,.3,1), box-shadow .55s ease; }
.sg-dark-card::after { content: ""; position: absolute; inset: 28% 0 0; z-index: -1; background: linear-gradient(180deg,transparent,rgba(5,4,7,.85) 32%,rgba(5,4,7,.98)); }
.sg-dark-card > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .85s cubic-bezier(.16,1,.3,1), filter .85s ease; }
.sg-dark-card:hover { transform: translateY(-8px); box-shadow: 0 28px 56px rgba(0,0,0,.36); }
.sg-dark-card:hover > img { transform: scale(1.045); filter: brightness(1.08); }
.sg-dark-card__copy { position: absolute; inset: auto 1.45rem 1.3rem; }
.sg-dark-card__icon { display: block; width: 3.3rem; height: 3.3rem; color: #c32491; stroke-width: 1.35; filter: drop-shadow(0 .35rem .7rem rgba(195,36,145,.22)); }
.sg-dark-card__copy b { display: block; width: 1.5rem; height: 1px; margin: .55rem 0 .65rem; background: #c32491; }
.sg-dark-card__copy h3 { color: #fff; font: 500 var(--lw-type-step-title)/1.08 var(--lw-serif); letter-spacing: -.025em; }
.sg-dark-card__copy p { margin-top: .8rem !important; color: rgba(255,255,255,.78); font: 400 .85rem/1.45 var(--lw-sans); }
.sg-dark-card__copy a { display: inline-flex; align-items: center; gap: .5rem; margin-top: .9rem; padding: .55rem .8rem; border: 1px solid #c32491; color: #fff; font: 500 .75rem/1 var(--lw-sans); text-decoration: none; transition: color .35s ease, background-color .35s ease, transform .35s ease; }
.sg-dark-card__copy a svg { width: .85rem; transition: transform .35s ease; }
.sg-dark-card__copy a:hover { transform: translateY(-2px); background: #c32491; }
.sg-dark-card__copy a:hover svg { transform: translateX(.35rem); }

.capture-page .sg-dark { background: #f6f2f0; color: var(--lw-ink); }
.capture-page .sg-dark__title { color: var(--lw-ink); }
.capture-page .sg-dark-card { min-height: 36rem; }
.has-gsap .capture-page .sg-dark-card { transition: transform .7s cubic-bezier(.16,1,.3,1), box-shadow .7s ease; }
.capture-page .sg-dark-card > img { transition: transform 1.05s cubic-bezier(.16,1,.3,1), filter 1.05s ease; }
.capture-page .sg-dark-card:hover { transform: translateY(-6px); }
.capture-page .sg-dark-card__copy p { font: 400 var(--lw-type-body)/1.5 var(--lw-sans); }
.capture-page .sg-dark-card__copy a { margin-top: 1rem; padding: .75rem 1rem; font: 500 var(--lw-type-control)/1.15 var(--lw-sans); }
.capture-page .sg-dark-card__copy a svg { width: 1rem; }
.capture-page .sg-process { min-height: 34rem; }

.sg-process { min-height: 27rem; padding-top: 4.3rem; padding-bottom: 4.6rem; }
.sg-process .lw-process__grid { margin-top: 3.7rem; }
.sg-process .lw-process-step h3 { min-height: 3.45rem; margin-top: 1.4rem; }
.sg-process .lw-process-step p { max-width: 16rem; }

.sg-offer { min-height: 46rem; padding-top: 4.1rem; padding-bottom: 4.8rem; }
.sg-offer .lw-heading-rule { margin-bottom: 2.8rem; }
.sg-offer .lw-offer-card { grid-template-rows: 18.25rem 1fr; min-height: 32.5rem; }
.sg-offer .lw-offer-card__copy { padding-top: 1.45rem; }
.sg-offer .lw-offer-card__copy p { max-width: 22rem; }
.automation-offer { background: var(--lw-paper); }

.automation-control { --automation-side-width: clamp(28rem, 28vw, 34rem); --automation-content-start: 25.5%; position: relative; min-height: 43rem; overflow: hidden; background: #f3ede8; }
.automation-control__side { position: absolute; inset: 0 auto 0 0; width: var(--automation-side-width); height: 100%; object-fit: cover; object-position: left center; -webkit-mask-image: linear-gradient(90deg,#000 0 58%,rgba(0,0,0,.88) 68%,transparent 100%); mask-image: linear-gradient(90deg,#000 0 58%,rgba(0,0,0,.88) 68%,transparent 100%); }
.automation-control__inner { position: relative; width: min(calc(100% - var(--automation-content-start)), 62rem); min-height: 43rem; margin-left: var(--automation-content-start); padding: 3.7rem 1rem 3.2rem; }
.automation-control__inner > h2 { margin-top: 1.25rem !important; font: 500 clamp(3.25rem,4vw,4.2rem)/1 var(--lw-serif); letter-spacing: -.04em; }
.automation-control__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.7rem; margin-top: 2.2rem; }
.automation-control-card__icon { display: block; width: 3.3rem; height: 3.3rem; color: var(--lw-plum); stroke-width: 1.35; filter: drop-shadow(0 .35rem .7rem rgba(172,0,112,.2)); }
.automation-control-card h3 { margin-top: .55rem !important; font: 500 var(--lw-type-step-title)/1.08 var(--lw-serif); letter-spacing: -.025em; }
.automation-control-card b { display: block; width: 1.4rem; height: 1px; margin: .7rem 0 .85rem; background: var(--lw-plum); }
.automation-control-card p { min-height: 4.6rem; font: 400 .9rem/1.5 var(--lw-sans); }
.automation-control-card img { width: 100%; height: 8.5rem; margin-top: 1.15rem; object-fit: cover; }

.service-mockup-page .lw-faq { min-height: 31rem; padding-top: 4.7rem; padding-bottom: 4.5rem; }
.service-mockup-page .lw-faq__intro h2,
.service-mockup-page .contact__intro h2 { font-size: clamp(3.8rem,5vw,4.8rem); line-height: .9; }
.service-mockup-page .lw-faq__intro p,
.service-mockup-page .contact__intro p { font-size: var(--lw-type-body); line-height: 1.55; }
.service-mockup-page .contact { width: min(calc(100% - 7.7vw),var(--lw-content-max)); max-width: var(--lw-content-max); min-height: 34.375rem; grid-template-columns: 49.45% 50.55%; gap: 0; margin-inline: auto; padding: 3.5rem 0 6.5rem; box-shadow: 0 0 0 100vmax var(--lw-paper); clip-path: inset(0 -100vmax); }
.service-mockup-page .contact::before { top: 3rem; bottom: 3rem; left: 5.65rem; }
.service-mockup-page .contact::after { top: 3rem; left: calc(5.65rem - .32rem); }
.service-mockup-page .contact__intro { position: relative; min-width: 0; padding: .7rem 0 0 9.525rem; }
.service-mockup-page .contact__intro::before { content: ""; position: absolute; left: 2.775rem; bottom: 6.25rem; width: 7.5rem; height: 1px; background: rgba(17,16,15,.38); }
.service-mockup-page .contact__intro::after { content: ""; position: absolute; left: 15.15rem; bottom: 1.95rem; width: 1px; height: 5.3rem; background: rgba(17,16,15,.2); }
.service-mockup-page .contact-form { position: relative; width: 100%; min-width: 0; grid-template-columns: 1fr 1fr; gap: 2.52rem 2.3rem; padding-top: .25rem; }
.service-mockup-page .contact-form label { gap: .65rem; }
.service-mockup-page .contact-form input { min-height: 1.55rem; padding: .1rem 0 .45rem; }
.service-mockup-page .contact-form textarea { min-height: 4rem; padding: .1rem 0 .45rem; }
.service-mockup-page .button--contact { margin-top: 0; font-size: var(--lw-type-control); }
.service-mockup-page .contact-form__status { position: absolute; left: 0; bottom: -1.5rem; margin: 0; font-size: var(--lw-type-body); }

@media (max-width:1020px) {
    .sg-hero .lw-hero__content { width: 60vw; }
    .sg-dark__inner { width: 90%; }
    .sg-process .lw-process__grid { gap: 2rem; }
    .automation-control { --automation-side-width: clamp(22rem, 44vw, 28rem); --automation-content-start: clamp(16rem, 32vw, 20rem); }
    .automation-control__side { -webkit-mask-image: linear-gradient(90deg,#000 0 42%,rgba(0,0,0,.82) 55%,transparent 82%); mask-image: linear-gradient(90deg,#000 0 42%,rgba(0,0,0,.82) 55%,transparent 82%); }
    .automation-control__inner { width: min(calc(100% - var(--automation-content-start)), 62rem); margin-left: var(--automation-content-start); }
    .automation-control__grid { gap: 1.5rem; }
    .service-mockup-page .contact { width: 100%; max-width: none; grid-template-columns: .85fr 1.15fr; gap: 4rem; padding: 4rem 5vw 6.5rem; }
    .service-mockup-page .contact::before { top: 2rem; bottom: 2.6rem; left: 6vw; }
    .service-mockup-page .contact::after { top: 2rem; left: calc(6vw - .32rem); }
    .service-mockup-page .contact__intro { padding: 0 0 0 4rem; }
    .service-mockup-page .contact__intro::before,
    .service-mockup-page .contact__intro::after { content: none; }
    .service-mockup-page .contact-form { gap: 1.65rem 2rem; padding-top: .9rem; }
    .service-mockup-page .contact-form__status { position: static; margin: -.9rem 0 0; }
}

@media (max-width:760px) {
    .service-mockup-page,
    .service-mockup-page a,
    .service-mockup-page button { cursor: auto; }
    .service-mockup-page .cursor-dot,
    .service-mockup-page .cursor-ring { display: none; }
    .sg-hero { min-height: 100svh; align-items: end; }
    .sg-hero::after { background: linear-gradient(180deg,rgba(246,241,235,.06) 0 30%,rgba(246,241,235,.96) 69%,var(--lw-paper)); }
    .sg-hero .lw-hero__image { object-position: right center; }
    .automation-hero .lw-hero__image { object-position: right center; }
    .sg-hero .lw-hero__content,
    .automation-hero .lw-hero__content { width: 100%; padding: 7.4rem 1.25rem 2.5rem; }
    .sg-hero .lw-hero__content h1,
    .automation-hero .lw-hero__content h1 { margin-top: 1.55rem; font-size: clamp(3.05rem,13.5vw,3.8rem); }
    .sg-hero .lw-hero__lead { margin-top: 1.4rem !important; }
    .sg-hero .lw-hero__lead br { display: none; }
    .sg-hero .lw-hero__actions { margin-top: 1.8rem; }
    .sg-hero .lw-button { width: 100%; min-width: 0; }
    .sg-dark { padding: 4.5rem 1.25rem; }
    .sg-dark__inner { width: 100%; }
    .sg-dark__title { font-size: clamp(2.8rem,12vw,4rem); }
    .sg-dark__title br { display: none; }
    .sg-dark__grid { grid-template-columns: 1fr; }
    .sg-dark-card { min-height: 36rem; }
    .sg-process { padding: 4.5rem 1.25rem; }
    .sg-process .lw-process__grid { grid-template-columns: 1fr; gap: 2.75rem; }
    .sg-process .lw-process-step h3 { min-height: 0; }
    .sg-offer .lw-offer-card { grid-template-rows: 16rem 16.5rem; min-height: 0; }
    .automation-control { min-height: 0; padding-top: 18rem; }
    .automation-control__side { inset: 0 0 auto; width: 100%; height: 18rem; object-position: center 68%; -webkit-mask-image: none; mask-image: none; }
    .automation-control__inner { width: 100%; min-height: 0; margin: 0; padding: 4.5rem 1.25rem; }
    .automation-control__inner > h2 { font-size: clamp(3.1rem,13vw,4.2rem); }
    .automation-control__grid { grid-template-columns: 1fr; gap: 3rem; }
    .automation-control-card p { min-height: 0; }
    .automation-control-card img { height: 12rem; }
    .service-mockup-page .lw-faq { padding: 4.7rem 1.25rem; }
    .service-mockup-page .lw-faq__intro h2,
    .service-mockup-page .contact__intro h2 { font-size: 4.6rem; }
    .service-mockup-page .contact { min-height: 0; grid-template-columns: 1fr; gap: 3.5rem; padding: 5.2rem 1.25rem 5rem 3.2rem; }
    .service-mockup-page .contact::before { left: 1.35rem; top: 1.8rem; bottom: 2rem; }
    .service-mockup-page .contact::after { left: 1.03rem; top: 1.8rem; }
    .service-mockup-page .contact__intro { padding: 0; }
    .service-mockup-page .contact-form { grid-template-columns: 1fr; }
    .service-mockup-page .contact-form__full,
    .service-mockup-page .button--contact,
    .service-mockup-page .contact-form__status { grid-column: 1; }
    .service-mockup-page .button--contact { width: 100%; margin-top: 1.5rem; }
}

@media (prefers-reduced-motion:reduce) {
    .sg-dark-card,
    .sg-dark-card > img { transition: none; }
}
