/* Restrained motion, layered on the existing identity. */
.hero-slides{overflow:hidden}.hero-slide{position:absolute;inset:0}.hero-controls{flex-wrap:wrap}.hero-controls [data-rotation]{font-size:12px;padding:0 13px;min-width:62px}.hero-controls button:disabled{cursor:default;opacity:.8}
.button,.site-header a,.text-link,.project-card,.close{transition:background-color .2s,color .2s,box-shadow .2s,transform .2s}
.button:focus-visible{background:#3e5854;color:white;transform:translateY(-2px)}
.site-header nav>a:hover,.site-header nav>a:focus-visible,.text-link:hover,.text-link:focus-visible{color:#456461}
.project-card:focus-visible .project-thumb img{transform:scale(1.025)}
.project-card:hover,.project-card:focus-visible{box-shadow:0 10px 25px #25333312}
@media(max-width:380px){.hero-controls{gap:4px}.hero-controls [data-slide-status]{font-size:9px;padding:4px 6px}.hero-controls [data-rotation]{padding:0 9px;min-width:54px}.hero-controls button{min-width:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.hero-slide,.button:hover,.button:focus-visible,.project-card:hover .project-thumb img,.project-card:focus-visible .project-thumb img{transform:none!important}}

@media(max-width:700px){.hero-controls [data-slide-status]{flex-basis:100%;width:max-content;max-width:120px;text-align:center}.hero-copy{padding-bottom:122px}}

/* Bring the work closer without cropping or compressing the artwork. */
.managed-service-montage{margin:36px 0 48px}#included{padding-top:clamp(64px,6vw,88px);padding-bottom:clamp(64px,6vw,88px)}#included .optional{margin-top:40px;padding-top:28px;grid-template-columns:1fr 2fr}#included .services-simple{gap:36px}@media(max-width:700px){.managed-service-montage{margin:30px 0 36px}#included .optional{grid-template-columns:1fr;margin-top:32px;padding-top:24px}}

/* One changing H1; four consistent lines reserve space for every message. */
[data-hero-heading]{min-height:4.24em}[data-hero-line]{display:block;white-space:nowrap}[data-hero-summary]{min-height:3.3em}
@media(max-width:700px){.hero-copy h1{font-size:clamp(32px,10.8vw,49px)}[data-hero-summary]{min-height:4.95em}}

.hero-summaries{font-size:19px;max-width:430px}.hero-summaries p{margin-bottom:0}@media(max-width:700px){.hero-summaries{font-size:18px;max-width:340px}}

[data-enquiry] input,[data-enquiry] textarea{display:block;width:100%;max-width:100%;border:1px solid #aebeb2;border-radius:9px;padding:10px 12px;background:#fffefa;color:var(--ink);font:inherit}[data-enquiry] label span{font-weight:400;font-size:12px}[data-enquiry] textarea{resize:vertical}[data-enquiry] .small{margin-top:18px}[data-enquiry-status]:empty{display:none}.enquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}dialog{max-height:calc(100dvh - 32px);overflow:auto}[data-enquiry] button:disabled{opacity:.65;cursor:wait}input:focus-visible,textarea:focus-visible{outline:3px solid #5875a1;outline-offset:3px}

/* Small centered indicators with full-size touch targets. */
.hero-controls{display:block;bottom:18px;left:5%;right:5%;height:44px}
.hero-dot-group{display:flex;justify-content:center;width:176px;margin:0 auto}
.hero-controls .hero-dot{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink)}
.hero-dot span{display:block;width:7px;height:7px;border:1px solid #253333;border-radius:50%;background:#f6f5f0}
.hero-dot[aria-pressed=true] span{background:#253333}
.hero-controls .hero-dot:focus-visible{outline:2px solid #253333;outline-offset:-4px}
.hero-controls [data-rotation]{position:absolute;right:0;top:0;min-width:44px;min-height:44px;padding:0 8px;font-size:11px;border:0;background:#f6f5f0d9}
.hero-controls .sr-only{position:absolute;width:1px;height:1px;min-width:0;max-width:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.hero-copy{padding-bottom:88px}}
