/* A v16. Composition pass: approved A typography, artwork and copy retained.
   Layout is content-led. No fixed section height or scaled preview. */
:root{--reading-size:18px;--detail-size:15px;--layout-space:clamp(32px,3.4vw,52px)}
.review-bar,#restore-panel,.review-footer{display:none!important}
.content-width{width:88%;max-width:1240px}
.eyebrow,.expertise{font-size:14px;letter-spacing:.06em}
.section-seam{height:18px}
.hero-action>span{font-size:15px;line-height:1.5}
.service-section,.automation,.custom-service,.web-service{min-height:0;padding:32px 6% 120px}
.service-grid{grid-template-columns:19% 36% 1fr;gap:4%;max-width:1240px}
.service-label{font-size:22px;line-height:1.3;padding-top:3px;color:var(--accent)}
.service-grid h2{font-size:clamp(30px,2.65vw,42px);line-height:1.15;letter-spacing:-.035em}
.service-description p{font-size:18px;line-height:1.6;max-width:48ch}
.service-description a{font-size:16px}
.service-section .service-art img{width:100%;height:100%;left:0;bottom:0;object-fit:cover;object-position:50% 66%;mask-image:none;-webkit-mask-image:none}
.service-section .service-art:after{background:linear-gradient(180deg,rgba(var(--base-rgb),.94),rgba(var(--base-rgb),.75) 45%,rgba(var(--base-rgb),.2) 80%,var(--base))}
.expertise{margin-bottom:24px}
.client-case{padding:36px 0}
.case-layout{grid-template-columns:.85fr 1.15fr;gap:6%}
.case-heading h2{font-size:clamp(32px,3vw,44px)}
.case-copy p{font-size:18px;line-height:1.6}
.sense{min-height:0;padding:36px 0}
.sense-layout{grid-template-columns:1.15fr 1fr 1fr;gap:32px}
.sense h2{font-size:clamp(36px,3.1vw,46px)}
.sense-list{padding:20px 22px}.sense-list li{padding:7px 0;font-size:17px}
.hand-note{font-size:23px;line-height:1.45;margin-top:22px}
.practice{padding-block:36px}
.practice .section-heading h2,.work h2{font-size:clamp(38px,3.3vw,50px)}
.practice .scenario-picker>p,.console-top>span,.view-controls button,.scenario-categories button,.flow-result small{font-size:14px}
.practice .scenario-picker>p{margin-bottom:16px}
.scenario-categories{gap:8px;margin-bottom:16px}
.scenario-categories button{padding:9px 12px}
.scenario-questions button{font-size:18px;padding-block:18px}
.console-content{padding:24px}
.flow-steps li p{font-size:15px;line-height:1.5}
.flow-steps li b{font-size:17px}
.flow-result p{font-size:17px;line-height:1.5}
.demo-pill{font-size:13px}
.work{min-height:0;padding:36px 0 40px}
.work h2{margin-bottom:26px}
.work-steps{gap:28px}
.work-steps li:nth-child(2){margin-top:12px}.work-steps li:nth-child(3){margin-top:24px}.work-steps li:nth-child(4){margin-top:36px}
.step-number{font-size:34px}
.work-steps h3{font-size:20px;line-height:1.3;margin:14px 0 10px}
.work-steps p{font-size:16px;line-height:1.6}
.closing-world .next-step{min-height:0;padding:36px 0 54px}
.next-layout{gap:6%;grid-template-columns:1fr 1fr}
.next-layout h2,.interior .closing-world h2{font-size:clamp(38px,3.7vw,58px);max-width:17ch;line-height:1.08}
.next-layout p{font-size:19px;line-height:1.55}
.closing-world .footer-bottom small,.closing-world .legal-preview{font-size:13px}
.closing-world .footer-nav a{font-size:15px;min-height:38px}

/* Page introductions: title and purpose share one readable horizontal band. */
.interior{--section-space:44px}
.interior .page-opening{min-height:0;padding-bottom:36px}
.interior .opening-art:after{background:linear-gradient(90deg,rgba(var(--base-rgb),.88),rgba(var(--base-rgb),.68) 42%,rgba(var(--base-rgb),.58) 75%,rgba(var(--base-rgb),.45)),linear-gradient(0deg,var(--base),transparent 32%)}
.interior .opening-copy{display:grid;grid-template-columns:1fr 1fr;gap:12px 6%;padding-top:20px}
.interior .opening-copy>.eyebrow{grid-column:1/-1;margin:0;font-size:15px}
.interior .opening-copy h1{grid-column:1;font-size:clamp(40px,4vw,60px);max-width:19ch;line-height:1.08}
.interior .opening-lead{grid-column:2;align-self:center;font-size:19px;line-height:1.6;max-width:50ch;margin:0}
.interior .initial-review-note{grid-column:2;font-size:15px;margin:0}
.interior .content-section,.interior .quiet-statement{max-width:none;padding-inline:max(6%,calc((100% - 1240px)/2))}
.interior .section-heading{grid-template-columns:.7fr 1.3fr;gap:6%;margin-bottom:26px}
.interior .section-heading h2{font-size:clamp(32px,3vw,44px)}
.interior .eyebrow{font-size:15px;margin-bottom:14px;letter-spacing:.025em}
.interior .problem-row{padding-block:24px;gap:6%}
.interior .problem-row p,.interior .capabilities p{font-size:18px;line-height:1.6}
.interior .problem-row h3{font-size:clamp(27px,2.4vw,34px)}
.interior .case-fields b,.interior .system-details b,.interior .demo-panel>span,.interior .demo-panel small{font-size:14px}
.interior .case-fields p,.interior .system-details p{font-size:17px;line-height:1.6}
.interior .demo-panel>p,.interior .demo-switch button{font-size:14px}
.interior .practice-case summary{padding-block:21px}
.interior .quiet-statement{gap:6%;padding-block:36px}
.interior .sample-card{padding:24px}

/* One system per row: visitors can read its purpose beside the complete demo. */
.our-solutions .solution-gallery{display:block}
.our-solutions .solution-item:nth-child(n){display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:auto;grid-column:auto;grid-row:auto;gap:6%;align-items:center;padding:44px max(6%,calc((100% - 1240px)/2));border-right:0}
.our-solutions .solution-item:nth-child(n) .solution-copy{grid-column:1;grid-row:1;min-width:0}
.our-solutions .solution-item:nth-child(n) .solution-interface{grid-column:2;grid-row:1;height:auto;align-self:center;margin:0;padding:24px;min-width:0}
.our-solutions .solution-item:nth-child(n) .mock{height:auto;display:block}
.our-solutions .solution-item:nth-child(n) .mock .mfoot{margin-top:12px;padding-top:14px}
.our-solutions .solution-copy h2{font-size:clamp(34px,3vw,44px);line-height:1.12;max-width:22ch;margin-bottom:20px}
.our-solutions .solution-copy p{font-size:18px;line-height:1.6;margin-bottom:18px;max-width:61ch}
.our-solutions .solution-copy p:last-child{margin-bottom:0}
.our-solutions .solution-copy>b{font-size:15px;font-weight:600;margin:18px 0 6px}
.our-solutions .mock .mh,.our-solutions .mock .mfoot,.our-solutions .mock .flow{font-size:14px}
.our-solutions .mock h4{font-size:27px;line-height:1.25;margin:18px 0}
.our-solutions .mock .mi b{font-size:16px}.our-solutions .mock .mi small{font-size:15px}
.our-solutions .mock .t2{font-size:13px}.our-solutions .mock .mi{padding-block:12px}
.our-solutions .solution-interface>span,.our-solutions .interface-window>span{font-size:14px;line-height:1.5;letter-spacing:0}
.our-solutions .solution-item>.scene-art:after{background:linear-gradient(90deg,rgba(var(--base-rgb),.9),rgba(var(--base-rgb),.78) 42%,rgba(var(--base-rgb),.18) 80%),linear-gradient(180deg,var(--base),transparent 20%,transparent 80%,var(--base))}
.our-solutions .solution-item>.scene-art img{object-position:center 68%}
.interior .founder{grid-template-columns:.8fr 1.2fr;gap:6%;padding-block:40px}
.interior .founder-quote{padding:26px 30px}
.interior .founder-quote p{font-size:18px;line-height:1.65;margin-bottom:20px}
.interior .founder-quote p:first-child{font-size:26px;line-height:1.4}
.interior.blog .opening-copy{padding-top:20px}
.interior.blog .blog-grid{padding-block:20px 40px;gap:28px}
.interior .blog-card{padding-top:140px}
.interior .blog-card>div:last-child{padding:24px}
.interior .article-layout{grid-template-columns:.55fr 1.45fr;gap:6%;padding-block:32px 48px}
.interior .article-prose{max-width:68ch}.interior .article-prose p{font-size:18px;line-height:1.7}
.interior.faq .page-opening,.interior.contact .page-opening{min-height:0;padding-bottom:32px}
.interior.faq .opening-copy h1{font-size:60px}
.interior .faq-category{padding-block:26px}.interior .faq-list summary{font-size:22px}
.interior .contact-section{max-width:1000px;padding-inline:6%}
.interior .form-explanation,.interior .paid-boundary,.interior .prototype-notice{font-size:15px}
@media(min-width:761px){.practice>.content-width{grid-template-columns:.85fr 1.15fr;column-gap:5%;grid-template-rows:auto 1fr}.practice .demo-console{margin-top:0}}
@media(max-width:1100px) and (min-width:761px){
 .service-grid{grid-template-columns:23% 1fr;gap:22px 5%}.service-description{grid-column:2}.service-grid h2{font-size:34px}
 .our-solutions .solution-item:nth-child(n){gap:4%;padding-inline:5%}.our-solutions .solution-item:nth-child(n) .solution-interface{padding:20px}
 .our-solutions .solution-copy p{font-size:17px}.our-solutions .mock h4{font-size:24px}
 .work-steps{grid-template-columns:1fr 1fr;gap:26px 34px}.work-steps li:nth-child(n){margin-top:0}
 .sense-layout{grid-template-columns:1fr 1fr;gap:24px}.sense-intro{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6%}.hand-note{margin:0}
}
@media(max-width:760px){
 .service-section,.automation,.custom-service,.web-service{padding:28px 6% 80px;min-height:0}
 .service-grid{display:grid;grid-template-columns:1fr;gap:16px}.service-label{font-size:21px;padding:0}.service-grid h2{font-size:33px;max-width:25ch}.service-description{grid-column:auto}.service-description p{font-size:17px;line-height:1.6}
 .service-section .service-art:after{background:linear-gradient(180deg,var(--base),rgba(var(--base-rgb),.87) 60%,rgba(var(--base-rgb),.35) 85%,var(--base))}
 .case-layout,.sense-layout,.next-layout{grid-template-columns:1fr;gap:24px}.client-case,.sense{padding-block:28px}.case-heading h2{font-size:33px}.case-copy p{font-size:17px}.sense h2{font-size:36px;max-width:17ch}.hand-note{max-width:none;font-size:23px;margin-top:18px}.sense-list{padding:18px 20px}.sense-list li{font-size:17px;padding:6px 0}
 .practice{padding:28px 0}.practice .section-heading h2,.work h2{font-size:38px}.scenario-categories button{font-size:14px;padding:10px}.scenario-questions button{font-size:17px}.console-content{padding:20px}.practice .demo-console{margin-top:0}
 .work{padding:28px 0 36px}.work-steps{grid-template-columns:1fr;gap:24px}.work-steps li:nth-child(n){margin-top:0;padding-top:16px}.work-steps h3{margin-top:10px}.work-steps p{font-size:17px}
 .closing-world .next-step{padding:28px 0 44px}.next-layout h2,.interior .closing-world h2{font-size:38px}.next-layout p{font-size:18px}
 .closing-world .footer-nav a{font-size:15px;min-height:44px}.closing-world .footer-bottom small,.closing-world .legal-preview{font-size:12px}
 .interior .opening-copy{display:block;padding-top:14px}.interior .opening-copy>.eyebrow{margin-bottom:14px}.interior .opening-copy h1{font-size:40px}.interior .opening-lead{font-size:18px;margin-top:20px}.interior .initial-review-note{margin-top:16px}
 .interior .page-opening{padding-bottom:28px}.interior{--section-space:32px}.interior .section-heading{display:block}.interior .section-heading h2{font-size:34px}.interior .content-section,.interior .quiet-statement{padding-inline:6%}
 .interior .problem-row p,.interior .capabilities p{font-size:17px}.interior .filter-tabs{flex-wrap:wrap}.interior .filter-tabs button{font-size:14px;padding:9px 12px;flex:1 1 120px}
 .our-solutions .solution-item:nth-child(n){display:flex;flex-direction:column;gap:24px;padding:32px 6%;align-items:stretch}.our-solutions .solution-copy{order:0}.our-solutions .solution-interface{order:1}
 .our-solutions .solution-item:nth-child(n) .solution-interface{padding:20px;align-self:stretch}.our-solutions .solution-copy h2{font-size:34px}.our-solutions .solution-copy p{font-size:17px}.our-solutions .mock h4{font-size:25px}.our-solutions .mock .mh{font-size:14px}.our-solutions .mock .mfoot{font-size:14px}.our-solutions .solution-item>.scene-art:after{background:linear-gradient(180deg,var(--base),rgba(var(--base-rgb),.8) 20%,rgba(var(--base-rgb),.65) 65%,var(--base))}
 .interior .founder{grid-template-columns:1fr;gap:28px;padding-inline:6%}.interior .founder-quote{padding:22px;margin-left:8px}.interior .founder-quote p{font-size:17px}.interior .founder-quote p:first-child{font-size:24px}
 .interior .blog-grid{grid-template-columns:1fr}.interior .article-layout{display:flex;gap:24px}.interior .article-prose p{font-size:18px;line-height:1.7}.interior .faq-list summary{font-size:20px}.interior .faq-list details p{font-size:17px}
}
