/* Clear services and calm, spacious sections, grounded in the reference. */
html{scroll-padding-top:116px}
.header-shell{position:sticky;top:0;z-index:50;background:#18232b;border-bottom:1px solid #34414a}
.site-header{height:86px}.site-header nav{gap:26px}.site-header nav>a:not(.button){font-size:13px}
.hero{min-height:calc(100svh - 87px)}

.section-heading>p{max-width:335px;line-height:1.7}
.service{transition:background-color .22s ease}.service:hover,.service:focus-within{background:#f8e6dc}
.process{padding-block:105px}.process-intro{display:block;margin-bottom:58px}.process-intro h2{font-size:clamp(45px,5.2vw,72px);font-weight:500;margin-bottom:24px}.process-intro>p{max-width:740px;font-size:20px!important;line-height:1.6;margin:0;color:var(--muted)}
.work-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.work-steps li{border-top:1px solid #6b6059;padding-top:31px}.process-icon{width:56px;height:56px;border-radius:11px;background:#efb397;color:#18232b;display:grid;place-items:center;margin-bottom:25px}.process-icon svg{width:27px;height:27px;stroke-width:1.5}
.work-steps h3{font-size:29px;font-weight:500;letter-spacing:-.03em;line-height:1.25;margin-bottom:15px}.work-steps p{font-size:18px;line-height:1.65;color:var(--muted);margin:0;max-width:36ch}
.outcomes{padding-block:100px}.outcomes-heading{margin-bottom:48px}.outcomes h2{font-size:clamp(42px,5.2vw,72px);font-weight:500}.outcomes-heading>p{font-size:18px;color:#58636b;max-width:620px;line-height:1.7;margin:22px 0 0}.outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #d3d5ce;border-radius:15px;overflow:hidden;background:#f6f5f0}.outcome{padding:38px 40px 42px;transition:background-color .22s ease}.outcome:nth-child(even){border-left:1px solid #d3d5ce}.outcome:nth-child(n+3){border-top:1px solid #d3d5ce}.outcome:hover{background:#f3d9c9}.outcome>svg{width:56px;height:56px;background:#18232b;color:#efb397;padding:14px;border-radius:11px;stroke-width:1.6;margin-bottom:23px;transition:background-color .22s ease,color .22s ease}.outcome:hover>svg{background:#cf4c29;color:#fff}.outcome h3{font-size:26px;line-height:1.3;letter-spacing:-.03em;font-weight:600;margin-bottom:14px}.outcome p{font-size:18px;line-height:1.65;color:#526068;margin-bottom:0;max-width:47ch}
.testimonial{background:#e6e9e6}
.tools>p{max-width:620px;margin-inline:auto;font-size:17px}
.faq{padding-block:100px 110px;border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.25fr;gap:90px}.faq h2{font-size:clamp(38px,3.8vw,54px);font-weight:500;line-height:1.15}.faq-heading>p{margin:24px 0 0;color:var(--muted);max-width:29ch}.faq-list{border-top:1px solid #62717a}.faq details{border-bottom:1px solid #46545e}.faq summary{font-size:18px;font-weight:500;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:23px 0;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:22px;height:22px;flex:0 0 22px;color:#efb397;stroke-width:1.6}.faq details[open] .faq-plus{display:none}.faq details>p{font-size:16px;line-height:1.8;color:var(--muted);margin:0;padding:0 35px 25px 0}.faq summary:hover{color:#efb397}.faq details[open] summary{color:#efb397}
@media(max-width:1050px){.site-header nav{gap:18px}.brand{font-size:22px}.site-header nav>a:not(.button){font-size:12px}.work-steps{gap:30px}.work-steps h3{font-size:25px}.work-steps p{font-size:17px}.faq{gap:45px}.outcome{padding:30px}}
@media(max-width:760px){html{scroll-padding-top:100px}.site-header{height:78px}.brand{font-size:20px}.hero{min-height:calc(100svh - 79px)}.section-heading>p{max-width:35ch}.process{padding-block:64px}.process-intro{margin-bottom:35px}.process-intro h2{font-size:42px;margin-bottom:21px}.process-intro>p{font-size:17px!important}.work-steps{display:block}.work-steps li{padding-top:25px}.work-steps li+li{margin-top:34px}.process-icon{width:49px;height:49px;margin-bottom:20px}.work-steps h3{font-size:27px}.work-steps p{font-size:17px;max-width:none}.outcomes{padding-block:64px}.outcomes h2{font-size:42px}.outcomes-heading{margin-bottom:30px}.outcomes-heading>p{font-size:17px}.outcome-grid{grid-template-columns:1fr;border-radius:10px}.outcome{padding:28px}.outcome:nth-child(even){border-left:0}.outcome+.outcome{border-top:1px solid #d3d5ce}.outcome>svg{width:49px;height:49px;padding:12px;margin-bottom:20px}.outcome h3{font-size:24px}.outcome p{font-size:17px}.faq{padding-block:62px 70px;display:block}.faq h2{font-size:38px}.faq-heading{margin-bottom:34px}.faq-heading>p{max-width:35ch;margin-top:20px}.faq summary{font-size:17px;gap:17px;padding-block:21px}.faq details>p{font-size:16px;padding-right:10px}.tools>p{font-size:16px}.footer-top p{max-width:38ch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service,.outcome,.outcome>svg{transition:none}}

.testimonial .testimonial-title{font-size:36px;font-weight:500;line-height:1.15;letter-spacing:-.03em;max-width:11ch;margin:0 0 28px;color:var(--ink)}
@media(max-width:760px){.testimonial .testimonial-title{font-size:34px;max-width:none;margin-bottom:24px}}

/* Give the mobile hero the same typographic presence as desktop. */
@media(max-width:760px){.hero h1{font-size:clamp(2.875rem,15.4vw,6.5rem);line-height:1.04}}

/* A 4% reduction on desktop; retain the approved mobile scale. */
@media(min-width:761px){.hero h1{font-size:clamp(72.96px,12.672vw,167.04px)}}
@media(min-width:761px) and (max-width:1050px){.hero h1{font-size:12.48vw}}
/* Pointer devices play the service artwork on each card hover. Touch retains the arrival animation. */
@media(hover:hover) and (pointer:fine){
  .service .tool-preview,.service .key-build,.service .build-cursor{animation:none}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .service:hover .tool-preview{animation:tool-settle 1.1s cubic-bezier(.16,1,.3,1) both}
  .service:hover .key-build{animation:key-press 1.1s .25s ease-in-out both}
  .service:hover .build-cursor{animation:cursor-arrive 1.1s cubic-bezier(.16,1,.3,1) both}
}
