[hidden] { display: none !important; }
.compact-automation,.digital-carousel,.local-options { max-width:1200px; margin:auto; padding:clamp(2rem,5vw,4rem) clamp(1.25rem,5vw,4rem); }
.compact-automation { border-block:1px solid #e4dfeb; }
.compact-automation h2,.digital-heading h2 { font-family:'Instrument Serif',serif; font-size:clamp(2rem,4vw,3rem); line-height:1.1; font-weight:400; margin:.8rem 0 1rem; }
.compact-automation p { color:#514762; line-height:1.8; max-width:50rem; }
.compact-automation a { display:inline-block; margin-top:1.2rem; color:#4840a0; text-decoration:underline; text-underline-offset:5px; }
.digital-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:2rem; }
.digital-controls { display:flex; gap:.5rem; }
.digital-controls button { width:44px; height:44px; border:1px solid #d8d0e5; border-radius:50%; color:#1B133C; background:#eee9f7; font-size:1.2rem; cursor:pointer; }
.digital-track { position:relative; display:flex; gap:1.25rem; overflow-x:auto; scroll-snap-type:x mandatory; padding:.3rem .2rem 1rem; scrollbar-width:thin; scroll-padding-left:.2rem; }
.digital-track::after { display:none; }
.digital-card { flex:0 0 43%; min-width:0; min-height:420px; padding:clamp(1.3rem,2.5vw,2rem); border-radius:1.5rem; background:linear-gradient(120deg,#eee6ff,#d9cafa); scroll-snap-align:start; display:flex; flex-direction:column; color:#1B133C; }
.digital-card:nth-child(2) { background:linear-gradient(120deg,#e4f0e8,#cfe4dc); }
.digital-card:nth-child(3) { background:linear-gradient(120deg,#e4eaff,#ccd8f1); }
.digital-number { font-size:.75rem; letter-spacing:.1em; opacity:.7; }
.digital-card svg { width:48px; height:48px; margin:2rem 0 3rem; }
.digital-card>div { margin-top:auto; }
.digital-card h3 { text-transform:uppercase; font-size:1.05rem; letter-spacing:.06em; }
.digital-card p { font-size:.9rem; line-height:1.7; margin:.8rem 0; }
.digital-tools { display:block; font-size:.7rem; line-height:1.6; color:#514762; }
.digital-card a { display:inline-block; margin-top:1.2rem; font-size:.8rem; color:#30235d; text-decoration:underline; text-underline-offset:4px; }
.digital-status { font-size:.75rem; color:#675a79; margin-top:.7rem; }
.content-page .workflow-cta { padding:3rem 0; margin-top:3rem; }
.content-page .workflow-copy .hero-contact { margin-top:1.5rem; }
@media(max-width:1000px) { .digital-card,.digital-track::after { flex-basis:calc(50% - .625rem); } }
@media(max-width:600px) { .digital-card { flex-basis:88%; min-height:380px; } .digital-track::after { flex-basis:12%; } .digital-heading { align-items:start; flex-direction:column; } .local-options>div { grid-template-columns:minmax(0,1fr) !important; } }
.video-pause { position:absolute; z-index:11; bottom:1rem; right:1rem; padding:.65rem .9rem; border:1px solid #d6cfe5; border-radius:.6rem; background:#faf9f7ed; color:#1B133C; font:inherit; font-size:.75rem; cursor:pointer; }
.form-label { display:block; font-size:.8rem; line-height:1.5; font-weight:500; margin:0 0 .4rem; color:#1B133C; }
#workflow-title { scroll-margin-top:100px; }
.workflow-cta { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,4rem); align-items:center; max-width:1200px; padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,4rem); margin:auto; border-top:1px solid #e4dfeb; }
.workflow-copy h2 { font-family:'Instrument Serif',serif; font-size:clamp(2.3rem,4.5vw,3.5rem); font-weight:400; line-height:1.05; margin:1rem 0 1.5rem; }
.workflow-copy p { font-size:.95rem; line-height:1.8; color:#514762; }
.workflow-copy .workflow-quote { font-size:.85rem; margin-top:1rem; }
.lead-demo { padding:clamp(1rem,2.5vw,1.6rem); border:1px solid #dfd7ef; border-radius:1.4rem; background:radial-gradient(circle at 100% 0,#ded2ff,transparent 70%),#f1edf8; box-shadow:0 16px 48px #2613420a; }
.demo-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:.9rem; font-weight:600; margin-bottom:1.5rem; }
.demo-dot { color:#6666ff; }
.demo-label { display:block; font-size:.65rem; letter-spacing:.06em; text-transform:uppercase; font-weight:400; color:#625374; margin-top:.3rem; }
.demo-pause { font:inherit; font-size:.65rem; padding:.6rem; border:1px solid #c9bfda; border-radius:.5rem; color:#392956; background:#ffffff99; cursor:pointer; }
.demo-steps { display:grid; gap:1.1rem; }
.demo-step { position:relative; background:#ffffffeb; border:1px solid #ddd5e9; border-radius:.85rem; padding:1rem; }
.demo-step:not(:last-child)::after { content:''; position:absolute; bottom:-1.15rem; left:1.5rem; color:#75639a; font-size:.9rem; }
.demo-step-title { display:flex; align-items:center; gap:.5rem; margin-bottom:.85rem; }
.demo-number { font-size:.65rem; color:#75639a; }
.demo-step h3 { font-size:.8rem; font-weight:600; }
.demo-status { margin-left:auto; color:#57418a; background:#f0eafb; padding:.25rem .4rem; border-radius:.3rem; font-size:.6rem; }
.demo-record { display:flex; align-items:center; gap:.7rem; }
.demo-avatar { flex-shrink:0; width:2rem; height:2rem; display:grid; place-items:center; border-radius:.6rem; background:#eee8fb; color:#6146a1; font-size:.7rem; }
.demo-record strong { font-size:.75rem; font-weight:500; }
.demo-record p { font-size:.7rem; line-height:1.6; color:#675a79; margin-top:.25rem; }
.lead-demo figcaption { font-size:.65rem; color:#6c5d7c; line-height:1.6; margin-top:1.3rem; }
.demo-step::before { content:''; position:absolute; height:3px; left:1rem; right:1rem; bottom:0; background:#7852d1; border-radius:3px; transform-origin:left; animation:flowProgress 24s linear infinite; animation-delay:calc(var(--step) * 3s); transform:scaleX(0); }
.demo-record,.demo-status { animation:flowInquiry 24s ease infinite; }
.demo-step:nth-child(2) .demo-record,.demo-step:nth-child(2) .demo-status { animation-name:flowContact; }
.demo-step:nth-child(3) .demo-record,.demo-step:nth-child(3) .demo-status { animation-name:flowTask; }
.demo-step:nth-child(4) .demo-record,.demo-step:nth-child(4) .demo-status { animation-name:flowConversation; }
.demo-step:nth-child(5) .demo-record,.demo-step:nth-child(5) .demo-status { animation-name:flowSummary; }
.demo-step:nth-child(6) .demo-record,.demo-step:nth-child(6) .demo-status { animation-name:flowNotes; }
.demo-record .demo-flag { color:#734414; background:#fff2d9; border-left:3px solid #b77828; padding:.4rem .6rem; margin-top:.6rem; }
.demo-avatar { font-size:.9rem; }
.demo-step:not(:last-child)::after { animation:flowHandoff 24s ease infinite; animation-delay:calc(var(--step) * 3s); }
@keyframes flowInquiry { 0%,3%,96%,100% { opacity:0; transform:translateY(12px); } 10%,90% { opacity:1; transform:translateY(0); } }
@keyframes flowContact { 0%,13%,96%,100% { opacity:0; transform:translateY(12px); } 19%,90% { opacity:1; transform:translateY(0); } }
@keyframes flowTask { 0%,26%,96%,100% { opacity:0; transform:translateY(12px); } 32%,90% { opacity:1; transform:translateY(0); } }
@keyframes flowConversation { 0%,39%,96%,100% { opacity:0; transform:translateY(12px); } 45%,90% { opacity:1; transform:translateY(0); } }
@keyframes flowSummary { 0%,52%,96%,100% { opacity:0; transform:translateY(12px); } 58%,90% { opacity:1; transform:translateY(0); } }
@keyframes flowNotes { 0%,65%,96%,100% { opacity:0; transform:translateY(12px); } 71%,90% { opacity:1; transform:translateY(0); } }
@keyframes flowProgress { 0% { transform:scaleX(0); opacity:1; } 12% { transform:scaleX(1); opacity:1; } 14%,100% { transform:scaleX(1); opacity:0; } }
@keyframes flowHandoff { 0%,9%,18%,100% { transform:translateY(0); color:#75639a; } 13% { transform:translateY(5px); color:#6336c3; } }
.lead-demo.has-active-card .demo-step *,.lead-demo.has-active-card .demo-step::before,.lead-demo.has-active-card .demo-step::after { animation-play-state:paused; }
.lead-demo.has-active-card .demo-step.is-playing-card { border-color:#8970cc; box-shadow:0 4px 18px #7750c41a; }
.lead-demo.has-active-card .is-playing-card .demo-record,.lead-demo.has-active-card .is-playing-card .demo-status { animation:focusedRecord 3s ease infinite; }
.lead-demo.has-active-card .is-playing-card::before { animation:focusedProgress 3s linear infinite; }
.lead-demo.has-active-card .is-playing-card::after { animation:none; }
.demo-step:focus-visible { outline:2px solid #6666ff; outline-offset:4px; }
@keyframes focusedRecord { 0%,100% { opacity:.25; transform:translateY(8px); } 18%,85% { opacity:1; transform:translateY(0); } }
@keyframes focusedProgress { 0% { transform:scaleX(0); opacity:1; } 85% { transform:scaleX(1); opacity:1; } 100% { transform:scaleX(1); opacity:0; } }
.lead-demo.is-paused *,.lead-demo.is-paused *::before,.lead-demo.is-paused *::after { animation-play-state:paused !important; }
@media(max-width:800px) { .workflow-cta { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .demo-pause { display:none; } }
main, #contact, section[id] { scroll-margin-top: 76px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #6666ff !important; outline-offset: 4px; }
[data-nav] { min-height: 44px; display: inline-flex; align-items: center; }
[aria-current="page"] { color: #1B133C !important; background: rgba(102,102,255,.1) !important; }
a[aria-label="Baselayer home"][aria-current="page"] { background:transparent !important; }
.hero-contact { display:inline-flex; align-items:center; gap:1rem; margin-top:1.5rem; padding:.9rem 1.4rem; border-radius:.7rem; background:#1B133C; color:#fff; font-size:.9rem; font-weight:600; }
.hero-contact:hover { background:#373064; color:#fff; }
.home-services { max-width:1200px; margin:auto; padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,4rem); }
.eyebrow { color:#6666ff; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.home-services h2 { font-family:'Instrument Serif',serif; font-size:clamp(2rem,5vw,3rem); font-weight:400; line-height:1.1; margin:.8rem 0 2.5rem; }
.home-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3rem; }
.home-service { display:flex; flex-direction:column; align-items:flex-start; padding:1.6rem 0; border-top:1px solid rgba(27,19,60,.18); color:#1B133C; }
.service-number { font-family:'Instrument Serif',serif; color:#6666ff; font-size:1.5rem; margin-bottom:.8rem; }
.home-service h3 { font-size:1.1rem; font-weight:600; }
.home-service p { font-size:.9rem; line-height:1.75; color:rgba(27,19,60,.72); margin:.7rem 0 1rem; max-width:43ch; }
.service-more { margin-top:auto; font-size:.82rem; color:#4848bd; }
.home-service:hover .service-more { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:600px) { .home-service-grid { grid-template-columns:1fr; } }
.elastic-service { position:relative; isolation:isolate; overflow:hidden; border:1px solid #e5dff0; border-radius:1.2rem; background:#fff; color:#1B133C; min-height:320px; display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; }
/* Exact grid and radial gradient supplied for gradient-blur-bg. */
.service-art { position:absolute; inset:0; z-index:-1; background-color:#fff; background-image:linear-gradient(to right, #f0f0f0 1px, transparent 1px),linear-gradient(to bottom, #f0f0f0 1px, transparent 1px),radial-gradient(circle 800px at 100% 200px, #d5c5ff, transparent); background-size:96px 64px, 96px 64px, 100% 100%; }
.service-art span { display:none; }
.elastic-service h3 { margin:0; }
.service-toggle { border:0; background:transparent; color:inherit; font:inherit; text-align:left; width:100%; cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; gap:1rem; padding:.25rem 0; }
.service-toggle>span:nth-child(2) { font-family:'Instrument Serif',serif; font-size:clamp(1.65rem,3vw,2.7rem); font-weight:400; line-height:1.08; }
.elastic-number { font-size:.75rem; letter-spacing:.12em; color:#514280; }
.elastic-plus { position:absolute; top:1.5rem; right:1.5rem; font-size:1.3rem; }
.elastic-detail p { color:#44385f; font-size:.9rem; line-height:1.7; margin:1rem 0 1.4rem; max-width:40ch; }
.elastic-detail a { display:inline-flex; gap:1.5rem; color:#38266c; font-size:.82rem; padding:.5rem 0; text-decoration:underline; text-underline-offset:5px; }
.home-service-grid { gap:1rem; }
.home-service-grid.is-elastic { display:flex; height:540px; }
.is-elastic .elastic-service { flex:1; min-width:0; transition:flex .7s cubic-bezier(.25,1,.5,1); }
.is-elastic .elastic-service.is-active { flex:3; }
.is-elastic .elastic-service:not(.is-active) .service-toggle>span:nth-child(2) { writing-mode:vertical-rl; font-family:'Inter',sans-serif; font-size:1rem; line-height:1.4; }
.is-elastic .elastic-service.is-active { border-color:#a598ca; }
@media(max-width:700px) {
 .home-service-grid.is-elastic { flex-direction:column; height:auto; }
 .is-elastic .elastic-service { flex:none; min-height:86px; padding:1.2rem; }
 .is-elastic .elastic-service.is-active { flex:none; min-height:340px; }
 .is-elastic .elastic-service:not(.is-active) .service-toggle>span:nth-child(2) { writing-mode:horizontal-tb; font-size:.95rem; }
 .is-elastic .elastic-service:not(.is-active) .service-toggle { flex-direction:row; align-items:center; padding-right:1.5rem; }
 .elastic-plus { top:1.2rem; right:1.2rem; }
}
[data-hover="darkCtaHover"]:hover { box-shadow: 0 6px 16px rgba(0,0,0,.25); transform: translateY(-1px); }
[data-hover="ghostHover"]:hover { background: rgba(255,255,255,.8); border-color: rgba(27,19,60,.3) !important; }
[data-hover="cardHover"]:hover { border-color: rgba(102,102,255,.35) !important; box-shadow: 0 6px 20px rgba(27,19,60,.07); transform: translateY(-2px); }
#form-msg[data-success="true"] { color: #37379d; background: #efefff; }
#form-msg[data-success="false"] { color: #942020; background: #fff0f0; }
button:disabled { opacity: .65; cursor: wait; }
.form-privacy { font-size:.8rem; line-height:1.6; color:rgba(27,19,60,.72); margin:0 0 1rem; }
.form-privacy a,.privacy-copy a { text-decoration:underline; text-underline-offset:3px; }
.privacy-copy { max-width:48rem; margin:auto; overflow-wrap:anywhere; }
.privacy-copy h2 { font-family:'Instrument Serif',serif; font-size:1.8rem; font-weight:400; margin:2rem 0 .75rem; }
.privacy-copy p,.privacy-copy li { font-size:.95rem; line-height:1.8; margin-bottom:1rem; }
.privacy-copy ul { list-style:disc; padding-left:1.4rem; }
.privacy-date { color:rgba(27,19,60,.6); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  video { display: none !important; }
}

.brand-header { padding: 1.25rem; text-align: center; }
.brand-header a { display:inline-flex; align-items:center; gap:.5rem; color:#1B133C; font-weight:600; }
.brand-header img { width:24px; height:24px; }
.brand-header span { color:#6666ff; }
.skip-link { position:fixed; top:-100px; left:1rem; z-index:100; background:white; padding:.75rem; }
.skip-link:focus { top:1rem; }
.content-page,.service-directory { max-width:1200px; margin:0 auto; padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,4rem); }
.page-title,.service-directory h2,.page-questions h2 { font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(2rem,5vw,3rem); line-height:1.1; margin:0 0 1.5rem; }
.back-link { display:inline-block; margin-bottom:2rem; }
.service-directory>div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:1rem; }
.service-link { background:white; border:1px solid rgba(27,19,60,.08); border-radius:.9rem; padding:1.5rem; color:#1B133C; }
.service-link p,.page-questions p { font-size:.95rem; line-height:1.8; color:rgba(27,19,60,.72); margin:.75rem 0; }
.service-link span { color:#6666ff; font-size:.85rem; }
.page-questions { margin-top:3rem; max-width:48rem; }
.page-questions article { margin:1.5rem 0; }
.page-questions h3 { font-size:1rem; }
@media(max-width:400px) { #management { grid-template-columns: minmax(0,1fr) !important; } }
/* Scoped service copy reuses the existing interior typography and colors. */
.page-intro{max-width:48rem;font-size:1rem;line-height:1.8;color:#514762;margin:1rem 0 2rem}.content-page>p{line-height:1.8;max-width:48rem}.scope-copy{max-width:48rem;margin-top:2.5rem}.scope-copy h2,.service-scope h2{font:400 clamp(1.7rem,3.5vw,2.5rem)/1.15 'Instrument Serif',serif;margin:1.5rem 0 1rem}.scope-copy p,.capability-grid p{font-size:.95rem;line-height:1.8;color:#514762;margin:.8rem 0}.capability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:1rem}.capability-grid article{background:#fff;border:1px solid #e4dfeb;border-radius:.9rem;padding:1.5rem}.capability-grid h3{font-size:1rem}.scope-copy a:not(.hero-contact){text-decoration:underline;text-underline-offset:4px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;margin:0 0 2rem;line-height:1.7}.breadcrumbs li+li::before{content:'/';padding-right:.5rem;color:#655f73}.content-page .service-directory{padding:1.5rem 0}.hero-contact:focus-visible{outline-offset:5px}
/* Small text needs the darker existing violet for sufficient contrast. */
.content-page a:not(.hero-contact),.service-link span,.content-page .eyebrow{color:#4942bb}
