.page-work .work-intro { padding-block: 30px 24px; align-items: center; }
.page-work .work-intro h1 { font-family: var(--sans); font-size: 38px; font-weight: 500; letter-spacing: -1.7px; line-height: 1.2; margin: 0; }
.page-work .work-intro-copy { max-width: none; padding: 0; }
.page-work .work-intro-copy p { margin: 0; font-size: 12px; }
.page-af1 .site-header .header-inner { height: 70px; }
.page-af1 main { max-width: 1600px; margin: 0 auto; padding: 20px 28px 24px; }
.af1-demo { --af1-bg:#171e23; --af1-panel:#1c252b; --af1-line:#344047; --af1-quiet:#9faeb6; --af1-white:#e6edf0; --af1-green:#c5df78; color:var(--af1-white); background:var(--af1-bg); font-family:var(--sans); border:1px solid #344047; font-size:12px; width:100%; overflow:hidden; }
.af1-demo button, .af1-demo select { color:inherit; font:inherit; }
.af1-demo button:focus-visible, .af1-demo a:focus-visible, .af1-demo input:focus-visible, .af1-demo select:focus-visible { outline:2px solid var(--af1-green); outline-offset:4px; }
.af1-demo button { background:none; }
.af1-heading { display:flex; justify-content:space-between; align-items:center; min-height:65px; padding:16px 22px; border-bottom:1px solid var(--af1-line); gap:16px; }
.af1-heading>div { display:flex; align-items:center; gap:12px; }
.af1-heading-label { font-size:9px; letter-spacing:1.3px; color:var(--af1-quiet); }
.af1-heading .af1-heading-right { gap:20px; }
.af1-heading-right a { font-size:10px; color:var(--af1-white); border-bottom:1px solid #627278; padding-block:3px; }
.af1-model-label { font-size:8px; letter-spacing:1.2px; color:var(--af1-green); }
.af1-body { display:block; }
.af1-viewport { position:relative; min-height:490px; overflow:hidden; background:#20282d; }
.af1-standalone .af1-viewport { min-height:480px; height:max(480px,calc(100vh - 290px)); max-height:800px; }
#af1-canvas { display:block; width:100%; height:100%; position:absolute; inset:0; touch-action:none; cursor:grab; }
#af1-canvas:active { cursor:grabbing; }
.af1-loading { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:12px; z-index:6; color:var(--af1-quiet); background:#20282d; font-size:12px; }
.af1-loading>span:first-child { width:17px; height:17px; border:1px solid #53616a; border-top-color:var(--af1-green); border-radius:50%; animation:af1-spin 1s linear infinite; }
@keyframes af1-spin { to { transform:rotate(360deg); } }
.af1-error { flex-direction:column; text-align:center; padding:30px; }
.af1-error>span { border:0!important; border-radius:0!important; width:auto!important; height:auto!important; animation:none!important; font-size:11px; line-height:1.8; }
.af1-error button { border:1px solid #6b7a82; padding:9px 15px; margin-top:10px; }
.af1-stage-badge { position:absolute; top:19px; left:21px; display:flex; gap:8px; align-items:center; font-size:8px; letter-spacing:1.2px; pointer-events:none; z-index:2; }
.af1-stage-badge>span:first-child { background:var(--af1-green); width:5px; height:5px; border-radius:50%; box-shadow:0 0 8px #c5df7833; }
.af1-view-buttons { position:absolute; right:18px; top:16px; display:flex; border:1px solid #52616b; border-radius:4px; background:#1a232ac9; z-index:3; }
.af1-view-buttons button { font-size:9px; padding:7px 10px; min-width:36px; }
.af1-view-buttons button+button { border-left:1px solid #52616b; }
.af1-view-buttons button[aria-pressed=true] { background:#4c5d67; }
.af1-viewport-bottom { position:absolute; left:20px; right:20px; bottom:16px; display:flex; justify-content:space-between; align-items:center; gap:12px; pointer-events:none; z-index:2; }
.af1-viewport-bottom>span { font-size:7px; letter-spacing:1px; color:#afbdc5; }
.af1-viewport-bottom button { pointer-events:auto; font-size:9px; background:#1a232ac9; border:1px solid #52616b; border-radius:4px; padding:6px 9px; }
.af1-labels { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1; }
.af1-scene-label { position:absolute; top:0; left:0; padding:5px 7px; background:#162129df; border:1px solid #74848d5c; color:#bccbd2; font-size:7px; letter-spacing:.8px; white-space:nowrap; border-radius:3px; margin-top:14px; margin-left:-22px; }
.af1-demo input[type=range] { -webkit-appearance:none; appearance:none; height:3px; background:#4c5e69; border-radius:2px; cursor:pointer; margin:5px 0; }
.af1-demo input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:10px; height:10px; background:var(--af1-green); border:0; border-radius:50%; }
.af1-demo input[type=range]::-moz-range-thumb { width:10px; height:10px; background:var(--af1-green); border:0; border-radius:50%; }
.af1-transport { display:flex; align-items:center; gap:16px; padding:16px 20px; border-top:1px solid var(--af1-line); }
.af1-transport .af1-play { background:var(--af1-green); color:#17221c; height:33px; min-width:83px; font-size:10px; display:flex; align-items:center; justify-content:center; gap:9px; border-radius:3px; font-weight:500; }
.af1-play:disabled { opacity:.35; cursor:wait; }
.af1-play-icon { font-size:10px; min-width:10px; }
.af1-restart { font-size:21px!important; line-height:1; padding:0; color:#a3b1b9!important; }
.af1-timeline-label { flex:1; display:flex; min-width:0; }
.af1-timeline-label input { width:100%; background:linear-gradient(to right,var(--af1-green) var(--progress,0%),#4c5e69 var(--progress,0%))!important; }
.af1-time { font-family:ui-monospace,monospace; font-size:9px; color:#80939e; white-space:nowrap; }
#af1-current-time { color:var(--af1-white); }
.af1-speed-label select { appearance:none; background:#27343e; border:1px solid #41545f; border-radius:3px; padding:6px 9px; font-size:10px; cursor:pointer; }
.af1-sequence { display:flex; border-top:1px solid var(--af1-line); }
.af1-sequence button { position:relative; text-align:left; flex:1; padding:13px 16px; font-size:10px; color:#8497a2; }
.af1-sequence button+button { border-left:1px solid var(--af1-line); }
.af1-sequence button>span { font-size:8px; padding-right:9px; color:#627680; }
.af1-sequence button.active { color:var(--af1-green); background:#c5df7808; }
.af1-sequence i { position:absolute; bottom:0; left:0; width:var(--progress,0%); height:2px; background:var(--af1-green); }
.af1-caption { padding:13px 20px 14px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--af1-line); }
.af1-caption p { font-size:10px; line-height:1.7; color:var(--af1-quiet); }
.af1-caption>span { font-size:8px; color:#70848f; line-height:1.7; text-align:right; max-width:200px; flex-shrink:0; }
.af1-fallback { padding:25px; }
.technical-footer { display:flex; justify-content:space-between; padding-block:20px 28px; color:var(--muted); border-top:1px solid var(--rule); font-size:10px; }
.technical-footer>div { display:flex; gap:22px; }
.technical-footer a { text-decoration:underline; text-underline-offset:4px; }
@media(min-width:1600px) { .af1-viewport { min-height:600px;  background:#20282d; } }
@media(max-width:1000px) {
  .af1-viewport { min-height:500px;  background:#20282d; }
  .af1-model-label { display:none; }
  .af1-caption { align-items:flex-start; }
  .af1-caption>span { max-width:135px;  color:#70848f; }
}
@media(max-width:900px) {
  .page-af1 main { padding:12px; }
  .page-work .work-intro h1 { font-size:32px; }
  .page-work .work-intro-copy p { font-size:11px; }
  .af1-viewport,.af1-standalone .af1-viewport { min-height:400px; height:55vh; max-height:540px; }
  .af1-heading { min-height:57px; padding:12px 15px; }
  .af1-heading-label { font-size:7px; letter-spacing:.6px; }
  .af1-heading>div { gap:7px; }
  .af1-heading-right a { font-size:9px; white-space:nowrap;  border-bottom:1px solid #627278; }
  .af1-transport { gap:12px; padding:15px; flex-wrap:wrap; }
  .af1-time { font-size:8px;  color:#80939e; }
  .af1-speed-label select { padding:5px 6px;  background:#27343e;  border:1px solid #41545f; }
  .af1-transport .af1-play { min-width:67px;  color:#17221c; }
  .af1-sequence button { padding:12px 9px; font-size:9px; text-align:center;  color:#8497a2; }
  .af1-sequence button>span { display:block; padding:0 0 5px; font-size:7px;  color:#627680; }
  .af1-caption { padding:13px 15px; display:block; }
  .af1-caption>span { display:block; max-width:none; margin-top:8px; text-align:left; font-size:7px;  color:#70848f; }
  .af1-stage-badge { top:19px; left:15px; font-size:7px; }
  .af1-view-buttons { top:14px; right:13px;  border:1px solid #52616b; }
  .af1-view-buttons button { font-size:8px; min-width:30px; padding:7px 8px; }
  .af1-viewport-bottom { left:14px; right:14px; }
  .af1-viewport-bottom>span { font-size:6px; max-width:150px; line-height:1.8;  color:#afbdc5; }
  .af1-scene-label { font-size:6px; padding:4px 5px;  color:#bccbd2; }
}
@media(max-width:560px) {
  .af1-viewport,.af1-standalone .af1-viewport { min-height:300px; height:320px; }
}
@media(max-width:400px) {
  .af1-heading-label { max-width:90px; line-height:1.6; }
  .af1-heading .af1-heading-right { gap:0; }
  .af1-transport { gap:10px; }
  .af1-speed-label { display:none; }
}
@media(prefers-reduced-motion:reduce) { .af1-loading>span:first-child { animation:none;  border:1px solid #53616a; } }


.af1-project-description { display:grid; grid-template-columns:minmax(150px, 1fr) minmax(0, 3fr); gap:36px; padding:32px; border-top:1px solid var(--af1-line); background:#0f1c24; }
.af1-project-description span { color:var(--af1-quiet); font-size:9px; letter-spacing:1.5px; }
.af1-project-description h2 { font-family:var(--sans); font-size:18px; font-weight:500; margin:9px 0 0; letter-spacing:-.4px; }
.af1-project-description p { max-width:780px; margin:0; font-family:inherit; font-size:16px; line-height:1.8; color:#c3d0d7; }
.af1-patent { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,3fr); gap:36px; padding:25px 32px; border-top:1px solid var(--af1-line); background:#0f1c24; }
.af1-patent>span { font-size:8px; letter-spacing:1.2px; color:var(--af1-quiet); line-height:1.7; }
.af1-patent a { display:inline-flex; align-items:center; gap:20px; color:var(--af1-green); font-size:16px; text-decoration:underline; text-underline-offset:4px; }
.af1-patent p { margin:10px 0 0; font-size:11px; line-height:1.8; color:var(--af1-quiet); }
@media(max-width:700px) { .af1-patent { grid-template-columns:1fr; gap:12px; padding:24px 20px; } }
@media(max-width:700px) { .af1-project-description { grid-template-columns:1fr; gap:18px; padding:24px 20px; } .af1-project-description p { font-size:14px;  color:#c3d0d7; } }

.af1-product-video{padding:28px 32px 32px;border-top:1px solid var(--af1-line)}.af1-product-video>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}.af1-product-video h2{font:500 25px var(--sans);letter-spacing:-.7px}.af1-product-video a{font-size:11px;color:var(--af1-quiet)}.af1-product-video video{display:block;width:100%;aspect-ratio:16/9;max-height:800px;background:#18252e;border:1px solid var(--rule)}@media(max-width:640px){.af1-product-video{padding:24px 18px}.af1-product-video>div{display:block}.af1-product-video a{display:inline-block;margin-top:12px}}
