/* Put card content in normal flow so figures can never collide with the copy. */
html body .art-section .art-card{display:flex;flex-direction:column;justify-content:space-between;width:100%;min-width:0;box-sizing:border-box;gap:48px;padding:24px;min-height:440px;aspect-ratio:2/3}
html body .art-section .card-stat,html body .art-section .card-copy{position:relative;inset:auto;flex:none;width:100%;padding:0;margin:0;z-index:2}
html body .art-section .card-stat-value{font-size:clamp(46px,24cqw,76px)}
html body .art-section .card-stat-caption{font-size:11px;line-height:1.4;letter-spacing:.035em;max-width:none;margin-top:12px}
html body .art-section .card-copy h2{font-size:clamp(30px,16cqw,46px);line-height:1.06}
html body .art-section .card-copy p{font-size:14px;line-height:1.55;margin:18px 0 0;min-height:4.65em}
html body .art-section .card-shade{background:linear-gradient(#0002,transparent 38%,#000a 65%,#000 98%)}
@media(max-width:1100px){
 html body .art-section .art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 html body .art-section .art-card{aspect-ratio:auto;min-height:460px}
 .callback-heading{gap:30px}.callback-heading h2{font-size:52px}
 .callback-panel{padding:44px 36px}
}
@media(max-width:760px){
 html body .wrap,html body .art-section,html body .callback-section{width:calc(100% - 40px);max-width:none}
 html body .header{height:82px;gap:12px;padding:0}
 html body .header .ai-brand{width:185px;height:42px;flex-shrink:1}
 html body .header nav{display:none}
 html body .header .button{padding:10px 14px;min-height:44px;font:700 13px 'Helvetica Neue',Helvetica,Arial,sans-serif;white-space:nowrap}
 html body .header .button span{display:none}
 html body .mobile-jumps{display:flex;position:relative;z-index:3;justify-content:center;gap:24px;padding:0 15px 14px;background:transparent;color:#edf7ff}
 html body .mobile-jumps a{font:700 12px 'Helvetica Neue',Helvetica,Arial,sans-serif;color:inherit;padding:8px 0}
 html body .hero{min-height:0;padding:52px 0 100px}
 html body .hero-wash{top:-125px;bottom:0;height:auto}
 html body .hero h1{font-size:clamp(48px,10.5vw,76px);line-height:1.02;letter-spacing:-.035em;max-width:680px;margin:26px auto}
 html body .hero .eyebrow{font-size:12px;letter-spacing:0;gap:8px;margin:0 auto}
 html body .hero .intro{font-size:16px;line-height:1.65;max-width:520px;margin:0 auto 28px}
 html body .hero .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
 html body .hero .button{font-size:14px;min-height:50px;padding:12px 18px}
 html body .hero .micro{font-size:12px;line-height:1.6;margin:22px auto 0;max-width:280px}
 html body .hero .sweep-edge{height:55px}
 html body .task-marquee{padding:24px 0}
 html body .processing-bridge{display:flex;flex-direction:column;gap:22px;min-height:0;padding:42px 0 54px;text-align:center}
 html body .bridge-left,html body .bridge-right{font-size:32px;transform:none}
 html body .processing-ring{width:86px;height:86px;flex-shrink:0}
 html body .demo-intro h2,html body .art-section .heading h2{font-size:48px;line-height:1.05}
 html body .demo-intro>p,html body .art-section .heading>p{font-size:15px;line-height:1.65}
 html body .orb-demo{padding:25px 0 0}
 html body .orb-stage{margin:28px auto 20px}
 html body .orb-stage .liquid-orb{width:220px;height:220px}
 html body .orb-status{font-size:12px}
 html body .case-tabs{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;margin:0 auto}
 html body .case-tabs button{white-space:normal;min-height:48px;width:100%;padding:12px 14px;font-size:13px}
 html body .example-audit{margin:20px auto 0}
 html body .example-audit .button{min-height:48px}
 html body .demo-wrap{margin-top:24px}
 html body .demo-body{padding:18px}
 html body .demo-top{padding:18px;gap:12px;flex-wrap:wrap}
 html body .demo-top strong{font-size:15px}
 html body .detail-grid{grid-template-columns:1fr}
 html body .demo-bottom{flex-direction:column;align-items:stretch;gap:14px}
 html body .result-title{flex-wrap:wrap;gap:8px}
 html body .progress{flex-wrap:wrap;gap:12px;padding:16px}
 html body .progress li{font-size:11px}
 html body .art-section{padding:65px 0}
 html body .art-section .heading{margin-bottom:30px}
 html body .art-section .art-grid{gap:16px}
 html body .art-section .art-card{padding:22px;min-height:420px;gap:36px}
 html body .art-section .card-copy h2{font-size:34px}
 html body .art-section .card-copy p{font-size:13px}
 html body .art-section .figure-assumptions{font-size:12px}
 html body .callback-section{margin-bottom:52px}
 html body .callback-panel{padding:30px 24px;border-radius:10px}
 html body .callback-heading{display:block;margin-bottom:34px}
 html body .callback-heading h2{font-size:44px;line-height:1.05;text-wrap:initial}
 html body .callback-heading>p{font-size:14px;margin:20px 0 0;max-width:none}
 html body .callback-heading>p br{display:none}
 html body .contact-row{grid-template-columns:1fr;gap:26px}
 html body .callback-form{gap:26px}
 html body .callback-form input,html body .callback-form select{font-size:16px;min-height:52px;height:auto;padding:12px 0 15px}
 html body .callback-form select{padding-right:20px}
 html body .callback-form label{font-size:12px}
 html body .callback-form .button{min-height:50px;width:100%;font-size:14px}
 html body .contact-actions{margin-top:0}
 html body .workflow-sweep{padding:95px 0}
 html body .workflow-sweep .workflow-background{inset:0}
 html body .workflow-sweep .workflow-edge{height:65px}
 html body .workflow-sweep .examples-section.wrap{width:calc(100% - 32px)}
 html body .workflow-sweep .example-rows{gap:18px}
 html body .workflow-sweep .example-row{padding:28px 22px 22px;gap:20px;border-radius:10px}
 html body .workflow-sweep .example-copy h3{font-size:36px;line-height:1.08}
 html body .workflow-sweep .diagram{height:290px}
 html body .workflow-sweep .sorting-panel{inset:0}
 html body .workflow-sweep .sorting-row{grid-template-columns:minmax(0,1fr) 54px;gap:9px;min-height:88px;align-content:center}
 html body .workflow-sweep .sorting-label{font-size:16px;grid-column:1;grid-row:auto}
 html body .workflow-sweep .sorting-track{height:10px;grid-column:1/-1;grid-row:auto;order:3}
 html body .workflow-sweep .sorting-status{font-size:12px;height:18px;grid-column:2;grid-row:auto}
 html body .workflow-sweep .enquiry-stack{inset:0}
 html body .workflow-sweep .enquiry-row{height:78px;width:calc(100% - 24px);padding:14px;display:grid;grid-template-columns:1fr 8px;gap:7px;margin-bottom:16px}
 html body .workflow-sweep .enquiry-channel{font-size:14px;grid-column:1}
 html body .workflow-sweep .enquiry-step{font-size:11px;grid-column:1;margin:0;white-space:normal}
 html body .workflow-sweep .enquiry-dot{grid-column:2;grid-row:1/3;width:7px;height:7px}
 html body .workflow-sweep .booking-graph{top:45px;height:208px;inset-inline:0;width:100%}
 html body .workflow-sweep .flow-tags{top:0;gap:8px}
 html body .workflow-sweep .flow-tag{font-size:11px;padding:8px 10px}
 html body .workflow-sweep .flow-status{font-size:11px;bottom:0;padding:8px 10px}
 html body .workflow-sweep .setup-chart{top:36px;bottom:0;gap:12px;justify-content:space-around}
 html body .workflow-sweep .setup-stage{width:29%;gap:16px}
 html body .workflow-sweep .setup-column{width:48px;height:calc(var(--height)*1.6)}
 html body .workflow-sweep .setup-number{font-size:17px}
 html body .workflow-sweep .setup-label{font-size:11px;white-space:normal;text-align:center;min-height:30px}
 html body .process,html body .faq-section{grid-template-columns:1fr;gap:30px;padding-block:50px}
 html body .process .section-heading h2,html body .faq-section h2{font-size:40px}
 html body .process-list p{font-size:14px}
 html body .faqs summary{font-size:16px;min-height:52px;padding:18px 0;gap:16px}
 html body .faqs details p{font-size:14px;line-height:1.65}
 html body .floating-demo{display:none}
 html body .footer{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:32px 0;font-size:12px}
}
@media(max-width:540px){
 html body .art-section .art-grid{grid-template-columns:1fr}
 html body .art-section .art-card{min-height:450px;aspect-ratio:auto;padding:28px;gap:48px}
 html body .art-section .card-stat-value{font-size:72px}
 html body .art-section .card-stat-caption{font-size:12px}
 html body .art-section .card-copy h2{font-size:42px}
 html body .art-section .card-copy p{font-size:14px;min-height:0}
 html body .hero .actions{flex-direction:column;align-items:stretch;width:min(100%,340px);margin-inline:auto}
 html body .hero .button{justify-content:center}
}

/* Square header contact button on every screen size. */
html body .header a.button.small{border-radius:0!important}

/* Keep the booking confirmation next to the completed graph. */
html body .workflow-sweep .flow-booking .flow-status{top:64px;bottom:auto;right:6.5%;padding:10px 16px;border:1px solid #dce7f0;background:#f9fcff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.3;box-shadow:none}
@media(max-width:760px){html body .workflow-sweep .flow-booking .flow-status{top:54px;right:4%;padding:8px 12px;font-size:12px}}

/* Responsive finish: phone, tablet, laptop and wide desktop. */
html body .bridge-left,html body .bridge-right{max-width:none;min-width:0}
html body .case-tabs button{min-height:48px}
html body .header .button.small{min-height:44px}
html body .contact-row>*{min-width:0}
html body .callback-form #email-fallback{overflow-wrap:anywhere}
html body .workflow-sweep .examples-section.wrap{max-width:1440px}
@media(min-width:761px) and (max-width:1100px){
 html body .processing-bridge{gap:24px;padding:70px 0;min-height:260px}
 html body .bridge-left,html body .bridge-right{font-size:clamp(32px,4vw,44px);white-space:nowrap}
 html body .processing-ring{width:110px;height:110px;flex-shrink:0}
 html body .callback-form input,html body .callback-form select{font-size:18px}
 html body .case-tabs{gap:10px}
 html body .case-tabs button{padding:12px 16px;font-size:13px;white-space:normal}
}
@media(max-width:760px){
 html body .processing-bridge{gap:18px;padding:34px 0 40px}
 html body .bridge-left,html body .bridge-right{font-size:clamp(30px,6vw,38px);line-height:1.15;text-align:center;white-space:nowrap}
 html body .processing-ring{width:72px;height:72px}
 html body .demo-intro h2,html body .art-section .heading h2{font-size:clamp(38px,8vw,56px)}
 html body .demo-intro>p{max-width:36ch;margin-inline:auto}
 html body .callback-heading h2{font-size:clamp(34px,7vw,48px)}
 html body .process .section-heading h2,html body .faq-section h2{font-size:clamp(34px,7vw,44px)}
 html body .workflow-sweep .example-copy h3{font-size:clamp(28px,6.5vw,36px);overflow-wrap:normal}
 html body .art-section .card-stat-value{font-size:clamp(54px,17vw,72px)}
 html body .art-section .card-copy h2{font-size:clamp(32px,8vw,42px)}
}
@media(min-width:541px) and (max-width:760px){
 html body .processing-bridge{flex-direction:row;justify-content:space-between;gap:14px;padding:46px 0;min-height:190px}
 html body .bridge-left,html body .bridge-right{font-size:clamp(26px,4.5vw,34px)}
 html body .processing-ring{width:70px;height:70px}
 html body .art-section .art-card{padding:22px;min-height:430px}
 html body .art-section .card-stat-value{font-size:56px}
 html body .art-section .card-copy h2{font-size:32px}
 html body .case-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 html body .case-tabs button{font-size:12px;padding:12px 10px;height:100%}
}
@media(max-width:380px){
 html body .wrap,html body .art-section,html body .callback-section{width:calc(100% - 32px)}
 html body .header .ai-brand{width:162px}
 html body .header .button{padding:10px 12px;font-size:12px}
 html body .mobile-jumps{gap:18px}
 html body .hero h1{font-size:clamp(42px,13vw,49px)}
 html body .hero .eyebrow{font-size:11px}
 html body .hero .intro{font-size:15px}
 html body .callback-panel{padding:26px 20px}
 html body .art-section .art-card{padding:24px;min-height:420px}
 html body .workflow-sweep .example-row{padding:26px 18px 20px}
 html body #example-detail .demo-top{flex-direction:column;gap:10px}
 html body #example-detail .demo-top,html body #example-detail .demo-body{padding-inline:20px}
 html body #example-detail .detail-grid>div{grid-template-columns:72px minmax(0,1fr);gap:10px}
 html body #example-detail .progress{gap:8px;padding-inline:20px}
}
@media(max-height:600px) and (min-width:541px) and (max-width:1100px){
 html body .hero{padding-top:36px;padding-bottom:90px;min-height:0}
 html body .hero h1{font-size:clamp(52px,7vw,76px);margin-block:24px}
 html body .orb-stage .liquid-orb{width:200px;height:200px}
}

html body .header nav a,html body .mobile-jumps a{display:inline-flex;align-items:center;min-height:44px}
