/* Styles for the interactive template demos on /template/. Each demo renders inside .vp,
   a fixed-size viewport that is scaled to fit its card or the preview window. */
.vp{position:absolute;top:0;left:0;transform-origin:0 0;container:demo/inline-size;overflow:hidden}
.demo{--line:color-mix(in srgb,var(--ink) 13%,transparent);--sf2:color-mix(in srgb,var(--ink) 7%,var(--sf));position:relative;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.45;text-align:left;letter-spacing:normal}
.demo *,.demo *::before,.demo *::after{box-sizing:border-box}
.demo h2,.demo h3{margin:0;letter-spacing:-.025em;line-height:1.1;font-weight:700;color:inherit}
.demo p{margin:0}
.demo button{font-family:inherit;line-height:1.2}
.demo [hidden]{display:none!important}
.demo :focus-visible{outline:2px solid var(--ac);outline-offset:2px;border-radius:8px}
.d-page{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.d-nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 36px;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.d-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.01em;min-width:0;white-space:nowrap}
.d-logo>span{overflow:hidden;text-overflow:ellipsis}
.d-logo i{flex:none;font-style:normal;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--ac);color:var(--ai)}
.d-links{display:flex;align-items:center;gap:24px;font-size:14px;color:var(--mu);flex:none}
.d-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;border:0;border-radius:999px;padding:11px 20px;cursor:pointer;background:var(--ac);color:var(--ai);white-space:nowrap;transition:transform .15s,filter .15s}
.d-btn:hover{filter:brightness(1.08)}
.d-btn:active{transform:scale(.97)}
.d-btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.d-toast{position:absolute;left:50%;bottom:24px;z-index:30;transform:translate(-50%,16px);opacity:0;transition:opacity .3s,transform .3s;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:14px;font-size:14px;font-weight:600;pointer-events:none;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.d-toast.on{opacity:1;transform:translate(-50%,0)}
@container demo (max-width:700px){.d-nav{padding:14px 18px}.hide-sm{display:none!important}.d-logo{font-size:16px}.d-nav .d-btn{padding:10px 14px;font-size:13px}}

/* Market */
.s-hero{padding:44px 36px 30px;display:grid;gap:10px;background:linear-gradient(120deg,color-mix(in srgb,var(--ac) 14%,var(--bg)),var(--bg) 70%)}
.s-hero small{font-size:13px;font-weight:700;color:var(--ac)}
.s-hero h2{font-size:44px;max-width:560px}
.s-hero p{color:var(--mu);max-width:460px}
.s-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 36px 6px}
.s-chips{display:flex;gap:8px;flex-wrap:wrap}
.s-chip{font-size:14px;font-weight:600;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--sf);color:var(--ink);cursor:pointer}
.s-chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.s-n{font-size:13px;color:var(--mu)}
.s-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:16px 36px 40px}
.s-card{background:var(--sf);border:1px solid var(--line);border-radius:20px;padding:12px;display:grid;gap:12px}
.s-art{aspect-ratio:4/3;border-radius:14px;display:grid;place-items:center}
.s-art svg{width:56%;height:auto}
.s-info{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:0 4px}
.s-info b{font-size:15px}
.s-info span{font-size:15px;color:var(--mu)}
.s-add{font-size:14px;font-weight:700;border-radius:999px;padding:11px 14px;cursor:pointer;border:1px solid var(--ac);background:transparent;color:var(--ac);transition:background .2s,color .2s}
.s-add:hover,.s-add.ok{background:var(--ac);color:var(--ai)}
.s-cart{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:8px 10px 8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--sf);color:var(--ink);cursor:pointer}
.s-badge{min-width:24px;height:24px;padding:0 7px;border-radius:99px;display:grid;place-items:center;font-size:12px;background:var(--ac);color:var(--ai)}
.s-badge.bump{animation:d-bump .45s}
@keyframes d-bump{40%{transform:scale(1.4)}}
.d-scrim{position:absolute;inset:0;z-index:10;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .3s}
.d-scrim.on{opacity:1;pointer-events:auto}
.d-drawer{position:absolute;top:0;right:0;bottom:0;z-index:11;width:390px;max-width:100%;background:var(--sf);color:var(--ink);transform:translateX(102%);transition:transform .35s cubic-bezier(.2,.7,.2,1);display:grid;grid-template-rows:auto 1fr auto;box-shadow:-20px 0 50px rgba(0,0,0,.18)}
.d-drawer.on{transform:none}
.dr-h{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line);font-size:18px}
.dr-x{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);font-size:22px;cursor:pointer}
.dr-body{overflow:auto;padding:6px 22px}
.dr-it{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.dr-art{width:56px;height:56px;border-radius:12px;display:grid;place-items:center}
.dr-art svg{width:72%}
.dr-it b{display:block;font-size:14px}
.dr-it span{font-size:13px;color:var(--mu)}
.qty{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:99px;padding:3px}
.qty button{width:30px;height:30px;border-radius:50%;border:0;background:var(--sf2);color:var(--ink);cursor:pointer;font-size:16px}
.qty span{min-width:22px;text-align:center;font-size:14px;font-weight:700;color:var(--ink)}
.dr-empty,.dr-done{padding:48px 6px;text-align:center;color:var(--mu)}
.dr-done b{display:block;color:var(--ink);font-size:22px;margin-bottom:8px}
.dr-f{padding:18px 22px 22px;border-top:1px solid var(--line);display:grid;gap:14px}
.dr-f:empty{display:none}
.dr-ship{font-size:13px;color:var(--mu);display:grid;gap:7px}
.dr-ship i{display:block;height:6px;border-radius:9px;background:var(--sf2);overflow:hidden}
.dr-ship i b{display:block;height:100%;background:var(--ac);transition:width .4s}
.dr-tot{display:flex;justify-content:space-between;font-size:17px}
@container demo (max-width:700px){
  .s-hero{padding:28px 18px 22px}.s-hero h2{font-size:32px}
  .s-bar{padding:16px 18px 4px}.s-n{display:none}
  .s-grid{grid-template-columns:1fr 1fr;gap:12px;padding:12px 18px 30px}
  .s-card{padding:10px;gap:10px}.s-info{flex-direction:column;gap:0}.s-info b{font-size:14px}
  .s-add{padding:10px 8px;font-size:13px}
}

/* Pulse */
.d-pulse{display:grid;grid-template-columns:220px 1fr}
.ds-side{background:var(--sf);border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:28px;min-width:0}
.ds-side .d-logo{font-size:16px}
.ds-side nav{display:grid;gap:4px}
.ds-side nav span{padding:10px 12px;border-radius:10px;font-size:14px;color:var(--mu)}
.ds-side nav span.on{background:color-mix(in srgb,var(--ac) 16%,transparent);color:var(--ink);font-weight:600}
.ds-main{padding:26px 30px 34px;display:grid;gap:16px;align-content:start}
.ds-mnav{display:none}
.ds-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.ds-top h2{font-size:28px}
.ds-top p{font-size:13px;color:var(--mu);margin-top:6px;display:flex;gap:10px;align-items:center}
.ds-live{display:inline-flex;align-items:center;gap:6px;color:var(--ac);font-weight:700}
.ds-live i{width:8px;height:8px;border-radius:50%;background:var(--ac);animation:d-pulse 1.6s infinite}
@keyframes d-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ac) 60%,transparent)}100%{box-shadow:0 0 0 12px transparent}}
.ds-seg,.r-tabs,.w-seg{display:flex;padding:4px;border-radius:99px;background:var(--sf);border:1px solid var(--line)}
.ds-seg button,.r-tabs button,.w-seg button{flex:1;border:0;background:none;color:var(--mu);font-size:13px;font-weight:600;padding:8px 14px;border-radius:99px;cursor:pointer;white-space:nowrap}
.ds-seg button[aria-pressed="true"],.r-tabs button[aria-pressed="true"],.w-seg button[aria-pressed="true"]{background:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink)}
.ds-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ds-k,.ds-card{background:var(--sf);border:1px solid var(--line);border-radius:18px;padding:18px;min-width:0}
.ds-k span{font-size:13px;color:var(--mu)}
.ds-k b{display:block;font-size:28px;letter-spacing:-.02em;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.ds-k b.tick{animation:d-tick .6s}
@keyframes d-tick{0%{color:var(--ac)}}
.ds-k em{font-style:normal;font-size:12px;font-weight:600;color:var(--ac)}
.ds-row{display:grid;grid-template-columns:1.7fr 1fr;gap:14px}
.ds-row.two{grid-template-columns:1fr 1fr}
.ds-card>b{font-size:14px}
.ds-ch{display:flex;justify-content:space-between;align-items:baseline}
.ds-ch span{font-size:12px;color:var(--mu)}
.ds-plot{position:relative;height:200px;margin-top:14px}
.ds-plot svg{width:100%;height:100%;display:block;overflow:visible}
.ds-line{fill:none;stroke:var(--ac);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ds-area{fill:color-mix(in srgb,var(--ac) 16%,transparent)}
.ds-grid line{stroke:var(--line);vector-effect:non-scaling-stroke}
.ds-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--ac);border:2px solid var(--sf);animation:d-pulse 1.6s infinite;transition:top .5s}
.ds-bars{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:13px}
.ds-bars li{display:grid;gap:6px;font-size:13px}
.ds-bars li div{display:flex;justify-content:space-between;color:var(--mu)}
.ds-bars li div b{color:var(--ink);font-weight:600}
.ds-bars i{display:block;height:8px;border-radius:9px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}
.ds-bars i b{display:block;height:100%;border-radius:9px;background:var(--ac);transition:width .7s}
.ds-feed{list-style:none;margin:8px 0 0;padding:0}
.ds-feed li{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.ds-feed li:last-child{border:0}
.ds-feed li i{flex:none;width:8px;height:8px;border-radius:50%}
.ds-feed li span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-feed li time{color:var(--mu);font-size:12px;font-variant-numeric:tabular-nums}
.ds-feed li.new{animation:d-slide .5s}
@keyframes d-slide{from{opacity:0;transform:translateY(-8px);background:color-mix(in srgb,var(--ac) 12%,transparent)}}
.ds-src{display:flex;height:14px;border-radius:9px;overflow:hidden;margin:18px 0 16px;gap:2px}
.ds-src i{display:block;height:100%}
.ds-leg{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;font-size:13px;color:var(--mu)}
.ds-leg span{display:flex;align-items:center;gap:8px}
.ds-leg i{width:10px;height:10px;border-radius:3px}
.ds-leg b{color:var(--ink);margin-left:auto;font-weight:600}
@container demo (max-width:700px){
  .d-pulse{grid-template-columns:1fr}.ds-side{display:none}
  .ds-main{padding:0 16px 24px;gap:14px}
  .ds-mnav{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:4;margin:0 -16px;padding:14px 16px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .ds-mnav .d-logo{font-size:16px}
  .ds-burger{width:20px;height:2px;background:var(--ink);box-shadow:0 6px var(--ink),0 -6px var(--ink)}
  .ds-top h2{font-size:24px}.ds-seg{width:100%}
  .ds-kpis{grid-template-columns:1fr 1fr;gap:10px}.ds-k{padding:14px}.ds-k b{font-size:22px}
  .ds-row,.ds-row.two{grid-template-columns:1fr}.ds-plot{height:160px}
}

/* Launch */
.m-hero{position:relative;min-height:620px;display:grid;place-items:center;text-align:center;padding:80px 40px;overflow:hidden;isolation:isolate}
.m-orbs i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;z-index:-1}
.m-orbs i:nth-child(1){width:420px;height:420px;background:var(--ac);left:-80px;top:-60px;animation:d-drift1 14s ease-in-out infinite alternate}
.m-orbs i:nth-child(2){width:380px;height:380px;background:#7b5cff;right:-60px;top:140px;animation:d-drift2 16s ease-in-out infinite alternate}
.m-orbs i:nth-child(3){width:300px;height:300px;background:#38c3ff;left:32%;bottom:-170px;opacity:.35;animation:d-drift1 18s ease-in-out infinite alternate-reverse}
@keyframes d-drift1{to{transform:translate(140px,90px) scale(1.15)}}
@keyframes d-drift2{to{transform:translate(-150px,-70px) scale(.9)}}
.m-ring{position:absolute;width:640px;height:640px;left:50%;top:50%;margin:-320px 0 0 -320px;z-index:-1;animation:d-spin 50s linear infinite;opacity:.6}
.m-ring circle{fill:none;stroke:var(--ink);stroke-opacity:.22}
.m-ring .m-sat{fill:var(--ac);stroke:none}
@keyframes d-spin{to{transform:rotate(360deg)}}
.m-k{display:inline-block;font-size:13px;font-weight:700;padding:7px 14px;border-radius:99px;border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.m-h{font-size:78px;line-height:1;margin:24px auto 20px;max-width:840px}
.m-h .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em}
.m-h .w>span{display:inline-block;transform:translateY(110%)}
.play .m-h .w>span{animation:d-rise .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i) * 90ms)}
.m-hero p{color:var(--mu);font-size:18px;max-width:520px;margin:0 auto}
.m-fade{opacity:0}
.play .m-fade{animation:d-fade .8s .65s forwards}
@keyframes d-rise{to{transform:none}}
@keyframes d-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.m-btns{display:flex;gap:10px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.m-marq{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;background:color-mix(in srgb,var(--ac) 8%,var(--bg))}
.m-track{display:flex;gap:48px;width:max-content;animation:d-marq 24s linear infinite;font-size:22px;font-weight:700;letter-spacing:-.01em}
.m-track span::after{content:"\2726";margin-left:48px;color:var(--ac)}
@keyframes d-marq{to{transform:translateX(calc(-50% - 24px))}}
.m-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:64px 40px 20px}
.m-st{text-align:center}
.m-st b{display:block;font-size:58px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ac)}
.m-st span{color:var(--mu)}
.m-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:36px 40px 54px}
.m-card{border-radius:22px;padding:24px;background:var(--sf);border:1px solid var(--line)}
.m-card h3{font-size:20px;margin:18px 0 6px}
.m-card p{color:var(--mu);font-size:14px}
.m-ic{width:56px;height:56px;border-radius:16px;background:color-mix(in srgb,var(--ac) 18%,transparent);position:relative;overflow:hidden}
.m-ic i{position:absolute;background:var(--ac);border-radius:3px}
.ic1 i{bottom:14px;width:7px;height:24px;transform-origin:bottom;animation:d-eq 1.1s ease-in-out infinite alternate}
.ic1 i:nth-child(1){left:14px}.ic1 i:nth-child(2){left:24.5px;animation-delay:-.4s}.ic1 i:nth-child(3){left:35px;animation-delay:-.8s}
@keyframes d-eq{from{transform:scaleY(.3)}}
.ic2 i{width:10px;height:10px;border-radius:50%;left:23px;top:23px}
.ic2 i:nth-child(1){animation:d-orbit 2.4s linear infinite}
.ic2 i:nth-child(2){opacity:.5;animation:d-orbit 2.4s linear infinite -.8s}
.ic2 i:nth-child(3){opacity:.25;animation:d-orbit 2.4s linear infinite -1.6s}
@keyframes d-orbit{from{transform:rotate(0) translateX(15px)}to{transform:rotate(360deg) translateX(15px)}}
.ic3 i{left:18px;top:18px;width:20px;height:20px;border-radius:50%;background:none;border:2px solid var(--ac);animation:d-ring 2.1s ease-out infinite}
.ic3 i:nth-child(2){animation-delay:-.7s}.ic3 i:nth-child(3){animation-delay:-1.4s}
@keyframes d-ring{from{transform:scale(.3);opacity:1}to{transform:scale(1.9);opacity:0}}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d,0) * 120ms)}
.rv.in{opacity:1;transform:none}
.m-cta{margin:0 40px 54px;padding:46px;border-radius:28px;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 28%,var(--sf)),var(--sf))}
.m-cta h3{font-size:38px}
.m-cta p{color:var(--mu);margin-top:8px}
.m-form{display:flex;gap:10px;max-width:470px;margin:22px auto 0}
.m-form input{flex:1;min-width:0;font:inherit;font-size:15px;padding:12px 18px;border-radius:99px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.d-launch.still *,.d-launch.still *::after{animation:none!important;transition:none!important}
.d-launch.still .m-h .w>span,.d-launch.still .m-fade,.d-launch.still .rv{transform:none;opacity:1}
@container demo (max-width:700px){
  .m-hero{min-height:540px;padding:60px 20px}.m-h{font-size:46px}.m-hero p{font-size:16px}
  .m-ring{width:440px;height:440px;margin:-220px 0 0 -220px}
  .m-track{font-size:18px}
  .m-stats,.m-feat{grid-template-columns:1fr;padding:40px 18px 10px}.m-feat{padding-bottom:36px}
  .m-st b{font-size:46px}
  .m-cta{margin:0 18px 36px;padding:30px 20px}.m-cta h3{font-size:28px}.m-form{flex-direction:column}
}

/* Configurators (Drive, Room) */
.cf{display:grid;grid-template-columns:1fr 360px;min-height:calc(100% - 67px)}
.cf-stage{position:relative;display:flex;flex-direction:column;justify-content:center;padding:30px 36px;gap:18px;background:radial-gradient(70% 55% at 50% 72%,color-mix(in srgb,var(--ink) 9%,transparent),transparent)}
.cf-title small{font-size:13px;font-weight:700;color:var(--ac)}
.cf-title h2{font-size:40px;margin-top:4px}
.cf-panel{border-left:1px solid var(--line);background:var(--sf);padding:24px;display:flex;flex-direction:column;gap:22px;overflow:auto}
.r-opts{display:grid;gap:22px}
.cf-g{display:grid;gap:10px}
.cf-l{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;color:var(--ink)}
.cf-l b{font-weight:500;color:var(--mu);text-align:right}
.cf-sws{display:flex;flex-wrap:wrap;gap:8px}
.cf-sw{width:40px;height:40px;border-radius:50%;padding:3px;border:2px solid transparent;background:none;cursor:pointer;transition:border-color .2s}
.cf-sw i{display:block;width:100%;height:100%;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 6px 10px rgba(255,255,255,.22)}
.cf-sw[aria-pressed="true"]{border-color:var(--ac)}
.cf-list{display:grid;gap:8px}
.cf-o{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s}
.cf-o em{flex:none;font-style:normal;font-weight:500;color:var(--mu);font-size:13px}
.cf-o[aria-pressed="true"]{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 12%,transparent)}
.cf-sum{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:4px}
.cf-sum>span{font-size:13px;color:var(--mu)}
.cf-price{font-size:34px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cf-sum small{font-size:12px;color:var(--mu)}
.cf-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.c-car{width:100%;height:auto;display:block;overflow:visible}
.c-paint{fill:var(--paint);transition:fill .5s}
.c-body,.c-tyre{transition:transform .5s cubic-bezier(.3,.7,.3,1)}
.c-tyre,.c-rim{transform-box:fill-box;transform-origin:center}
.c-spoiler,.c-rack,.c-stripe{opacity:0;transition:opacity .4s}
.pk-sport .c-spoiler,.pk-sport .c-stripe,.pk-adventure .c-rack{opacity:1}
.pk-sport .c-body{transform:translateY(4px)}
.pk-adventure .c-body{transform:translateY(-10px)}
.pk-adventure .c-tyre{transform:scale(1.1)}
.c-rim.spin{animation:d-spin .9s cubic-bezier(.3,.7,.3,1)}
.r-tabs{align-self:flex-start}
.r-svg{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.r-svg *{transition:fill .4s,opacity .4s}
@container demo (max-width:700px){
  .cf{grid-template-columns:1fr}
  .cf-stage{padding:22px 18px 18px}.cf-title h2{font-size:28px}
  .cf-panel{border-left:0;border-top:1px solid var(--line);padding:20px 18px 26px;overflow:visible}
  .cf-acts{grid-template-columns:1fr}
}

/* Workshop */
.w-hero{display:grid;grid-template-columns:1fr 400px;gap:32px;padding:40px 36px;align-items:start}
.w-copy small{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ac)}
.w-copy h2{font-size:46px;margin:10px 0 12px}
.w-copy p{color:var(--mu);max-width:440px}
.w-draw{margin-top:24px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 6%,transparent),transparent)}
.w-draw svg{width:100%;height:auto;display:block}
.w-draw svg *{transition:all .3s}
.w-card{background:var(--sf);border:1px solid var(--line);border-radius:22px;padding:22px;display:grid;gap:18px}
.w-ct{font-size:18px}
.w-r{display:grid;gap:8px;font-size:13px;font-weight:700}
.w-r span{display:flex;justify-content:space-between}
.w-r output{font-weight:500;color:var(--mu);font-variant-numeric:tabular-nums}
.w-r input{width:100%;accent-color:var(--ac);margin:0}
.w-est{border-radius:16px;padding:16px;background:color-mix(in srgb,var(--ac) 12%,transparent);display:grid;gap:2px}
.w-est span{font-size:13px;color:var(--mu)}
.w-est b{font-size:24px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.w-est small{font-size:12px;color:var(--mu)}
.w-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 36px 40px}
.w-strip div{padding:16px;border:1px solid var(--line);border-radius:16px;font-weight:600;background:color-mix(in srgb,var(--ink) 4%,transparent)}
@container demo (max-width:700px){
  .w-hero{grid-template-columns:1fr;padding:24px 18px;gap:20px}.w-copy h2{font-size:32px}
  .w-strip{grid-template-columns:1fr;padding:0 18px 30px}
}
@media (prefers-reduced-motion:reduce){.demo *,.demo *::before,.demo *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
