button, summary, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, summary:focus-visible { outline:2px solid #dedfdf; outline-offset:5px; }
button { cursor:pointer; }
.nav-work { color:#b8bbc1; }
.work-section { padding-block:0 6.5rem; }
.project-feature { display:grid; grid-template-columns:1.3fr .8fr; gap:5%; align-items:start; }
.project-preview { display:block; border:1px solid #424855; background:#13171e; padding:0; overflow:hidden; }
.project-browser { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; border-bottom:1px solid #394352; color:#aeb8c9; font-size:.7rem; }
.browser-dots { display:flex; gap:.3rem; }
.browser-dots i { width:5px; height:5px; border-radius:50%; background:#6c7687; }
.project-preview img { display:block; width:100%; height:auto; aspect-ratio:1348/925; object-fit:cover; object-position:top; transition:filter .2s; }
.project-preview:hover img { filter:brightness(1.08); }
.project-open { display:flex; align-items:center; justify-content:space-between; padding:1rem; font-size:.8rem; color:#e0e5ed; border-top:1px solid #394352; }
.project-open span { font-size:1.2rem; }
.project-category { text-transform:uppercase; font-size:.65rem; letter-spacing:.09em; color:#a6afc0; margin:.1rem 0 1rem; }
.project-copy h3 { font-size:clamp(2rem,3.2vw,3rem); line-height:1.2; letter-spacing:-.045em; font-weight:500; margin:0 0 1rem; }
.project-copy > p:not(.project-category) { color:#b2bac8; font-size:.9rem; line-height:1.85; margin:0 0 1.3rem; }
.project-deliverables { margin:0 0 .9rem; }
.project-deliverables > div { border-top:1px solid #343c49; padding:.9rem 0; }
.project-deliverables dt { font-size:.8rem; color:#d4dce8; margin:0 0 .4rem; }
.project-deliverables dd { color:#a6b1c3; font-size:.8rem; line-height:1.8; margin:0; }
@media (max-width:900px) {
 .project-feature { grid-template-columns:1fr; gap:2rem; }
 .project-copy { max-width:600px; }
 .project-deliverables { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
}
@media (max-width:680px) {
 .nav-work { display:none; }
 .work-section { padding-bottom:3.5rem; }
 .project-deliverables { grid-template-columns:1fr; gap:0; }
}
.capabilities { grid-template-columns:repeat(5,minmax(0,1fr)); }
.capability { padding-inline:1.1rem; gap:.7rem; font-size:.85rem; }
.capability-number { font-size:.7rem; }
.capability:first-child { padding-left:0; }
.service-row > summary { grid-template-columns:65px 1.2fr .8fr 20px; }
.automation-body { display:grid; grid-template-columns:.85fr 1.15fr; gap:6%; padding:0 0 2.8rem 89px; }
.product-label { display:inline-block; color:#aeb6c6; text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; margin:0 0 1.2rem; }
.automation-copy h4 { font-size:clamp(1.7rem,2.3vw,2.3rem); font-weight:500; line-height:1.25; letter-spacing:-.04em; margin:0 0 1.2rem; }
.automation-copy > p { font-size:.9rem; line-height:1.9; color:#b0b6c3; margin:0 0 1rem; }
.automation-points { list-style:none; margin:1.4rem 0 1rem; padding:0; }
.automation-points li { display:flex; gap:.7rem; font-size:.8rem; line-height:1.75; color:#d0d5df; padding:.35rem 0; }
.automation-points li:before { content:'↗'; color:#9fa9ba; }
.automation-demo { background:#12151b; border:1px solid #3b424e; padding:1.5rem; min-width:0; align-self:start; }
.demo-heading { display:flex; align-items:center; gap:.5rem; font-size:.85rem; padding-bottom:1.2rem; }
.demo-light { width:6px; height:6px; background:#c1cbdc; border-radius:50%; }
.demo-heading small { font-size:.65rem; color:#aab2c0; margin-left:auto; }
.demo-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.35rem; margin-bottom:1.7rem; }
.demo-steps button { padding:.65rem .3rem; color:#acb5c5; background:#101217; border:1px solid #39414f; font:inherit; font-size:.7rem; text-align:center; min-height:54px; }
.demo-steps button span { display:block; font-size:.65rem; margin-bottom:.35rem; }
.demo-steps button[aria-pressed=true] { background:#dce2ec; color:#171b22; border-color:#e2e6ed; }
.demo-steps button:hover { border-color:#c0cadb; }
.demo-panel { min-height:305px; }
.demo-overline { font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; color:#9ca9be; }
.demo-panel h5 { font-size:1.35rem; font-weight:500; letter-spacing:-.035em; margin:.6rem 0 1rem; line-height:1.35; }
.demo-message, .demo-mail { padding:1rem; background:#0d1015; border:1px solid #343c49; }
.demo-message > span, .demo-mail > span { font-size:.7rem; color:#aeb9cb; }
.demo-message p, .demo-mail p { font-size:.875rem; color:#d5dbe7; line-height:1.85; margin:.7rem 0 0; }
.demo-explanation { color:#aeb8c9; font-size:.75rem; line-height:1.8; margin:1rem 0 0; }
.demo-record { margin:0; padding:0; font-size:.8rem; }
.demo-record > div { display:grid; grid-template-columns:90px 1fr; gap:1rem; padding:.55rem 0; border-bottom:1px solid #303745; }
.demo-record dt { color:#9faabd; }
.demo-record dd { margin:0; color:#dee4ee; }
.demo-badge { font-size:.65rem; padding:.2rem .55rem; background:#2f394a; border:1px solid #596d8a; }
.demo-mail + .demo-mail { margin-top:.65rem; }
.demo-mail { padding:.75rem 1rem; }
.demo-mail p { font-size:.8rem; line-height:1.7; margin-top:.35rem; }
.demo-footnote { font-size:.65rem; line-height:1.8; color:#9ca9be; border-top:1px solid #353e4e; padding-top:1rem; margin:1.4rem 0 0; }
.demo-status-label { display:block; font-size:.75rem; line-height:1.7; color:#b7c1d2; margin:0 0 .5rem; }
#demo-status-select { width:100%; font:inherit; font-size:.85rem; padding:.75rem; background:#0c0f14; color:#dde5f1; border:1px solid #59677e; border-radius:0; }
#demo-status-select:focus-visible { outline:2px solid white; outline-offset:3px; }
.demo-reminder { margin:1rem 0; border-left:2px solid #b9c6dc; padding:.6rem 0 .6rem 1rem; }
.demo-reminder strong { font-size:.85rem; font-weight:500; }
.demo-reminder p { color:#bac6d8; font-size:.75rem; line-height:1.8; margin:.4rem 0 0; }
.demo-reminder.is-resolved { border-color:#a7c7b4; }
.hero-description { color:#bbbfc7; max-width:475px; }
.hero-signature { color:#a6aab2; }
.capability-arrow { margin-left:auto; font-size:1.15rem; color:#969ba5; transition:transform .2s; }
.capability:hover .capability-arrow { transform:translate(3px,-3px); color:white; }
.capability:first-of-type { padding-left:0; }
.capability { transition:color .2s; }
.capability + .capability { border-left:1px solid var(--line); }
.nav-process { color:#b8bbc1; }
.section-topline { display:flex; justify-content:space-between; gap:2rem; align-items:center; }
.section-note { font-size:.75rem; color:#979ca7; }
.services-section { padding-block:6.5rem; }
.section-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:10%; align-items:end; margin:2rem 0 3.5rem; }
.section-heading h2, .quick-intro h2, .faq-section h2 { font-size:clamp(2.3rem,3.7vw,3.7rem); font-weight:500; letter-spacing:-.05em; line-height:1.18; margin:0; }
.section-heading h2 span, .quick-intro h2 span, .faq-section h2 span { color:#9a9da5; }
.section-heading > p { margin:0; font-size:1rem; line-height:1.85; color:#aeb2bc; max-width:440px; }
.service-row { border-top:1px solid #353840; scroll-margin-top:2rem; }
.service-row:last-child { border-bottom:1px solid #353840; }
summary { cursor:pointer; }
.service-row > summary { display:grid; grid-template-columns:65px 1fr 1fr 20px; align-items:center; gap:1.5rem; padding:1.8rem 0; list-style:none; }
summary::-webkit-details-marker { display:none; }
.service-index { font-size:.8rem; color:#9399a5; }
.service-row h3 { margin:0; font-size:clamp(1.35rem,2vw,1.8rem); font-weight:500; letter-spacing:-.035em; }
.service-teaser { font-size:.875rem; color:#9da3af; }
.expand-icon { width:18px; height:18px; position:relative; display:inline-block; flex-shrink:0; }
.expand-icon:before, .expand-icon:after { content:''; position:absolute; background:#c1c5cc; top:8px; left:2px; width:14px; height:1px; }
.expand-icon:after { transform:rotate(90deg); transition:transform .2s; }
details[open] > summary .expand-icon:after { transform:rotate(0); }
.service-body { display:grid; grid-template-columns:1fr 1fr; gap:10%; margin-left:89px; padding:0 0 2.5rem; }
.service-copy > p { color:#b0b5bf; font-size:.95rem; line-height:1.85; margin:0 0 1.5rem; max-width:490px; }
.inline-link { display:inline-flex; align-items:center; gap:1.6rem; font-size:.875rem; color:#e8e9ec; min-height:44px; text-decoration:underline; text-decoration-color:#5d636d; text-underline-offset:6px; }
.inline-link:hover { text-decoration-color:#eceef2; }
.inline-link span { font-size:1.35rem; }
.service-includes { list-style:none; padding:0; margin:0; }
.service-includes li { padding:.75rem 0; display:flex; gap:1rem; border-bottom:1px solid #25282f; color:#c5c9d0; font-size:.875rem; line-height:1.7; }
.service-includes li:before { content:'↗'; color:#9299a6; }
.process-section { background:#101115; border-block:1px solid #292c33; padding-block:5.5rem; }
.process-grid { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; }
.process-number { display:flex; justify-content:space-between; color:#969daa; padding:1rem 0; border-top:1px solid #4d535e; font-size:.8rem; }
.process-number span { font-size:1.15rem; }
.process-grid h3 { font-size:1.2rem; letter-spacing:-.03em; margin:1rem 0 .7rem; font-weight:500; }
.process-grid p { font-size:.9rem; color:#aeb4bf; line-height:1.85; margin:0; max-width:310px; }
.quick-section { padding-block:6.5rem 3rem; display:grid; grid-template-columns:.9fr 1.1fr; gap:9%; align-items:start; }
.quick-intro .eyebrow { margin-bottom:2rem; }
.quick-intro > p:not(.eyebrow) { max-width:355px; color:#aeb4bf; line-height:1.9; margin:1.7rem 0 2rem; }
.people-signature { display:flex; align-items:center; gap:1rem; font-size:.875rem; }
.people-signature small { display:block; color:#9ca3b0; font-size:.75rem; margin-top:.35rem; }
.people-initials { display:flex; padding-right:.3rem; }
.people-initials i { display:grid; place-items:center; width:39px; height:39px; border-radius:50%; background:#20242b; border:1px solid #5b626e; font-style:normal; font-size:.75rem; }
.people-initials i+i { margin-left:-8px; background:#343942; }
.quick-phone { display:inline-flex; flex-direction:column; gap:.55rem; margin-top:2.5rem; }
.quick-phone > span { color:#9ca3b0; font-size:.8rem; }
.quick-phone strong { font-size:1.6rem; font-weight:500; letter-spacing:-.025em; }
.quick-phone strong span { margin-left:.75rem; color:#afb5c0; }
.quick-panel { background:#101115; border:1px solid #343842; padding:2rem; min-width:0; }
.quick-panel .choice-chip > span { padding:.55rem .75rem; font-size:.8rem; }
.quick-panel .choice-chip input:checked + span { background:#e2e4e8; color:#14161b; }
.quick-optional { margin:.25rem 0 1.3rem; }
.quick-optional summary { font-size:.8rem; color:#c0c6d0; padding:.5rem 0; line-height:1.7; }
.quick-optional summary span { font-size:.75rem; color:#969eac; margin-left:.35rem; }
.quick-optional .field-grid { margin-top:1rem; }
.quick-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid #343842; padding-top:1.5rem; }
.quick-actions > span { color:#a9b0bc; font-size:.75rem; }
.quick-actions .button-primary { gap:1.2rem; }
.quick-result { margin-top:1.5rem; border-top:1px solid #494f5c; padding-top:1rem; }
.quick-result p { color:#cdd2dc; font-size:.875rem; line-height:1.8; }
.quick-result summary { font-size:.8rem; line-height:1.8; margin-top:1rem; color:#b5bdca; }
.quick-result textarea { display:block; width:100%; margin-top:1rem; background:#090a0c; color:#dce0e8; border:1px solid #4d5563; padding:.8rem; resize:vertical; font-size:.875rem; line-height:1.6; }
.full-brief { border-block:1px solid #343842; }
.full-brief > summary { display:flex; gap:2rem; align-items:center; justify-content:space-between; padding:1.6rem 0; list-style:none; }
.full-brief > summary strong { display:block; font-size:.95rem; font-weight:500; }
.full-brief > summary small { display:block; margin-top:.5rem; font-size:.8rem; color:#9da6b6; line-height:1.7; }
.full-brief .brief-section { padding-block:3rem; }
.full-brief .brief-intro { position:static; }
.faq-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:10%; padding-block:6rem; }
.faq-section .eyebrow { margin-bottom:1.7rem; }
.faq-list details { border-bottom:1px solid #343842; }
.faq-list details:first-child { border-top:1px solid #343842; }
.faq-list summary { display:flex; justify-content:space-between; gap:1.5rem; list-style:none; padding:1.5rem 0; font-size:1rem; line-height:1.65; }
.faq-list p { color:#b1b8c5; font-size:.9rem; line-height:1.9; margin:0 2.5rem 1.6rem 0; }
.contact { padding-block:4.5rem; }
@media (max-width:1050px) {
 .capabilities { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem 0; }
 .capability:nth-child(4) { border-left:0; padding-left:0; }
 .automation-body { padding-left:59px; grid-template-columns:1fr 1.15fr; gap:4%; }
 .automation-demo { padding:1rem; }
 .site-header nav { gap:1.5rem; }
 .nav-process { display:none; }
 .quick-section { gap:4%; }
 .quick-panel { padding:1.5rem; }
 .quick-actions { flex-wrap:wrap; }
 .service-row > summary { grid-template-columns:35px 1fr 1fr 18px; }
 .service-body { margin-left:59px; gap:6%; }
 .process-grid { gap:1.5rem; }
}
@media (max-width:800px) {
 .automation-body { grid-template-columns:1fr; padding-left:46px; gap:1.5rem; }
 .automation-copy { max-width:540px; }
 .demo-panel { min-height:270px; }
 .section-heading { gap:6%; }
 .section-note { display:none; }
 .service-teaser { display:none; }
 .service-row > summary { grid-template-columns:30px 1fr 18px; gap:1rem; }
 .service-body { margin-left:46px; gap:2rem; }
 .quick-section { grid-template-columns:1fr; gap:2.5rem; }
 .quick-intro > p:not(.eyebrow) { max-width:500px; }
 .quick-phone { margin-top:1.5rem; }
 .faq-section { grid-template-columns:1fr; gap:2rem; }
 .faq-section h2 br { display:none; }
 .faq-section h2 span:before { content:' '; }
}
@media (max-width:680px) {
 .capabilities { display:block; }
 .capability { padding:1.1rem 0; font-size:.95rem; gap:1rem; }
 .automation-body { padding-left:0; padding-bottom:2rem; }
 .automation-demo { padding:1rem; }
 .automation-copy h4 { font-size:1.9rem; }
 .demo-steps { gap:.25rem; }
 .demo-steps button { font-size:.65rem; padding:.6rem .1rem; }
 .demo-panel { min-height:0; }
 .demo-record > div { grid-template-columns:65px 1fr; gap:.5rem; }
 .demo-heading { flex-wrap:wrap; }
 .capability + .capability { border-left:0; }
 .capability-arrow { margin-right:.25rem; }
 .services-section { padding-block:3.5rem; }
 .section-heading { grid-template-columns:1fr; gap:1.5rem; margin:1.5rem 0 2.2rem; }
 .section-heading h2, .quick-intro h2, .faq-section h2 { font-size:clamp(2rem,7.5vw,2.9rem); }
 .section-heading > p { font-size:.95rem; }
 .service-row > summary { padding:1.5rem 0; }
 .service-body { grid-template-columns:1fr; margin-left:0; gap:1.3rem; padding-bottom:2rem; }
 .service-copy > p { margin-bottom:.7rem; }
 .process-section { padding-block:3.5rem; }
 .process-grid { grid-template-columns:1fr; gap:2rem; }
 .process-grid li { display:grid; grid-template-columns:35px 1fr; gap:0 1rem; border-top:1px solid #454c58; padding-top:1.3rem; }
 .process-number { border:0; padding:0; grid-row:span 2; padding-top:.35rem; }
 .process-number span { display:none; }
 .process-grid h3 { margin:0 0 .6rem; }
 .process-grid p { max-width:100%; }
 .quick-section { padding-block:3.5rem 2rem; }
 .quick-panel { padding:1.3rem; }
 .quick-intro .eyebrow { margin-bottom:1.5rem; }
 .quick-actions { align-items:flex-start; flex-direction:column; }
 .quick-actions .button-primary { width:100%; }
 .quick-panel .field-grid { grid-template-columns:1fr; gap:0; }
 .full-brief .brief-panel { padding:1.1rem; }
 .full-brief .brief-section { padding-top:1rem; }
 .full-brief > summary strong { font-size:.875rem; line-height:1.7; }
 .faq-section { padding-block:3.5rem; }
 .faq-list summary { font-size:.9rem; }
 .contact { padding-block:3rem; }
}

/* Live intake uses the existing Tally form and its current integrations. */
.tally-panel { background:#191815; padding:1.5rem; }
.tally-intro { color:#c5c3bf; font-size:.85rem; line-height:1.8; margin:0 0 1.5rem; }
.tally-panel iframe { display:block; width:100%; border:0; color-scheme:dark; }
.tally-fallback { border-top:1px solid #3d3b37; padding-top:1rem; margin:1rem 0 .8rem; font-size:.78rem; line-height:1.8; color:#aaa8a4; }
.tally-fallback a { color:#e2e1de; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:680px) { .tally-panel { padding:1rem; } }
