/* iTailors home (v3). Loaded after v3.css (shared header, footer, buttons, tokens). Scoped under body.v3. */
.v3{
  --g:#E9ECE6; --w:#FFFFFF; --ink:#14181C; --ink2:#343B42; --mut:#59626B; --line:rgba(20,24,28,.16);
  --or:#FF5D3A; --ye:#F9A800; --gr:#2E6B45; --bl:#154889; --red:#C2391F;
  margin:0; background:var(--g); color:var(--ink);
  font-family:'Host Grotesk','Helvetica Neue',Arial,sans-serif; -webkit-font-smoothing:antialiased;
}
.v3 *{box-sizing:border-box}
:where(.v3) a{color:inherit}
.v3 .mono,.v3 .v3-tel{font-family:'Spline Sans Mono',ui-monospace,monospace}
.v3 .nw{white-space:nowrap}
.v3 .mob{display:none}
.v3 [hidden]{display:none !important}
.v3 :focus-visible{outline:3px solid var(--bl);outline-offset:3px}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.v3-light{background:#F3F1EA;color:var(--ink);border-color:#F3F1EA}
.v3-light:hover{background:#fff}
.v3-btn[disabled]{opacity:.45;cursor:default}
.v3-pulse{animation:v3pulse 1.4s ease-out 2}
@keyframes v3pulse{0%{box-shadow:0 0 0 0 rgba(249,168,0,.7)}100%{box-shadow:0 0 0 16px rgba(249,168,0,0)}}

/* hero */
.v3-hero{padding:24px 0 72px}
.v3-herow{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:24px}
.v3-htext{flex:1 1 440px;max-width:540px;min-width:0;display:flex;flex-direction:column;gap:22px;padding-top:34px}
.v3-h1{margin:0;font-weight:800;font-size:clamp(44px,4.3vw,64px);line-height:.95;letter-spacing:-.045em;text-wrap:balance}
.v3-lead{margin:0;font-size:19px;line-height:1.55;color:var(--ink2)}
.v3-ctas{display:flex;flex-wrap:wrap;gap:12px}
.v3-note{margin:-8px 0 0;font-size:14px;line-height:1.4;color:#4B535B}
.v3-hmsg{margin:0;min-height:44px;font-size:15px;line-height:1.45;font-weight:700}
.v3-hmsg.err{color:#B4321A}
.v3-facts{margin:0;padding:16px 0 0;list-style:none;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);font-size:15px;color:var(--ink2)}
.v3-facts li{display:flex;align-items:center;gap:10px}
.v3-facts i{width:8px;height:8px;border-radius:50%;background:var(--gr);flex:0 0 auto}
.v3-hstage-wrap{flex:0 0 auto}
.v3-hstage{position:relative;width:760px;height:640px;zoom:.86}
.v3-hdocs{position:absolute;inset:0}
.v3-hdoc{position:absolute;display:block;width:132px;height:172px;margin:0;padding:0;border:0;background:transparent;text-align:left;font-family:inherit;color:var(--ink);cursor:grab;touch-action:none;transform-origin:50% 50%}
.v3-hdoc:active{cursor:grabbing}
.v3-hdoc.busy{cursor:default;pointer-events:none}
.v3-hdoc.gone{pointer-events:none}
.v3-hdoc.rej{cursor:pointer}
.v3-hfl,.v3-hwb{display:block;width:100%;height:100%}
.v3-flo{animation:v3flo 2.6s ease-in-out 2 alternate}
@keyframes v3flo{from{transform:translateY(0)}to{transform:translateY(-8px)}}
.v3-wob{animation:v3wob 2.4s ease-in-out 2}
@keyframes v3wob{0%,55%,100%{transform:none}62%{transform:translateY(-10px) rotate(-5deg)}70%{transform:translateY(-10px) rotate(4deg)}78%{transform:translateY(-5px) rotate(-2deg)}86%{transform:none}}
.v3-hdi{position:relative;display:flex;flex-direction:column;width:100%;height:100%;padding:0 0 10px;background:#fff;border-radius:6px;border:2px solid transparent;box-shadow:0 1px 0 rgba(0,0,0,.06),0 22px 34px -18px rgba(20,24,28,.45);overflow:hidden;transition:box-shadow .25s,border-color .25s}
.v3-hdoc.free:hover .v3-hdi{box-shadow:0 1px 0 rgba(0,0,0,.06),0 34px 44px -18px rgba(20,24,28,.5)}
.v3-hdoc.rej .v3-hdi{border-color:#D23A1E}
.v3-dbar{display:block;height:9px;flex:0 0 auto}
.v3-dtt{display:block;padding:7px 11px 0;font-weight:800;font-size:15px;line-height:1.15;white-space:nowrap}
.v3-dsub{display:block;padding:1px 11px 0;font-size:11px;color:#4B535B}
.v3-dfs{display:flex;flex-direction:column;gap:2px;padding:8px 11px 0}
.v3-df{display:flex;justify-content:space-between;gap:6px;font-size:10.5px;line-height:13px;padding:0 3px;margin:0 -3px;border-radius:3px;transition:background-color .2s}
.v3-df.hl{background:rgba(249,168,0,.42)}
.v3-df.hlb{background:rgba(255,93,58,.45)}
.v3-df.hlg{background:rgba(46,107,69,.24)}
.v3-dk{color:#4B535B}
.v3-dv{font-weight:700;white-space:nowrap}
.v3-dlines{display:flex;flex-direction:column;gap:5px;padding:9px 11px 0}
.v3-dlines i{display:block;height:4px;border-radius:2px;background:#D9DEE3}
.v3-dlines i:nth-child(1){width:82%}.v3-dlines i:nth-child(2){width:64%}.v3-dlines i:nth-child(3){width:74%}
.v3-dfoot{margin-top:auto;padding:0 11px;display:flex;justify-content:space-between;align-items:center}
.v3-dex{font-size:9px;font-weight:600;color:#8A939B}
.v3-dflag{font-size:10px;font-weight:800}
.v3-scan{position:absolute;left:0;right:0;top:0;height:28px;margin-top:-28px;background:linear-gradient(rgba(249,168,0,0),rgba(249,168,0,.34));border-bottom:2px solid var(--ye);animation:v3scan .42s linear both;pointer-events:none}
@keyframes v3scan{to{transform:translateY(204px)}}
.v3-stamp{position:absolute;left:14px;top:92px;padding:2px 9px;border:3px solid var(--gr);border-radius:7px;background:rgba(255,255,255,.94);color:var(--gr);font-size:17px;font-weight:800;transform:rotate(-10deg)}
.v3-edemo{position:absolute;right:4px;top:354px;font-size:12px;font-weight:600;color:var(--mut)}
.v3-erp{position:absolute;left:300px;top:380px;width:460px;height:260px;border:3px solid var(--ink);border-radius:14px;background:#fff;box-shadow:0 30px 50px -24px rgba(20,24,28,.5);overflow:hidden;transition:transform .25s cubic-bezier(.3,1.5,.5,1),border-color .2s,box-shadow .25s}
.v3-erp.over{border-color:var(--ye);box-shadow:0 0 0 7px rgba(249,168,0,.38),0 34px 60px -26px rgba(20,24,28,.55);transform:scale(1.02)}
.v3-erp.flash{border-color:#C8361B}
.v3-ebar{display:flex;align-items:center;gap:12px;height:48px;padding:0 12px 0 16px;background:#fff;color:var(--ink);transition:background-color .3s,color .3s}
.v3-erp.flash .v3-ebar{background:#C8361B;color:#fff}
.v3-erp.won .v3-ebar{background:var(--ink);color:#fff}
.v3-etit{font-weight:800;font-size:24px;letter-spacing:-.02em}
.v3-estat{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700}
.v3-ecnt{padding:6px 11px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap;background:var(--ink);color:#fff}
.v3-erp.won .v3-ecnt{background:var(--ye);color:var(--ink)}
.v3-esteps{display:flex;gap:8px;padding:8px 12px 8px 14px;border-top:1px solid #E3E7EA;border-bottom:1px solid #E3E7EA}
.v3-estep{flex:1 1 0;min-width:0;height:28px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1.5px solid #CDD2D7;color:var(--mut);font-size:12.5px;font-weight:700;white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s}
.v3-estep.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.v3-estep.done{background:#E2F0E6;color:var(--gr);border-color:#B9D9C3}
.v3-estep.bad{background:#FDE2DA;color:var(--red);border-color:var(--or)}
.v3-ehead,.v3-erow{display:grid;grid-template-columns:74px minmax(0,1fr) 98px 118px;gap:10px;align-items:center;padding:0 12px 0 16px}
.v3-ehead{height:26px;font-size:11.5px;font-weight:700;color:#6A737C}
.v3-erows{position:relative;height:122px;border-top:1px solid #E3E7EA}
.v3-erow{height:30px;border-bottom:1px solid #EEF0F2;font-size:13.5px}
.v3-erow>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-erow .mono{font-family:'Spline Sans Mono',monospace}
.v3-est{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700}
.v3-est i{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:currentColor}
.v3-erow.new{animation:v3new 1.4s ease-out}
@keyframes v3new{from{background-color:#FFE29A}to{background-color:rgba(255,226,154,0)}}
.v3-eempty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:0 24px}
.v3-eempty b{font-size:17px;font-weight:800}
.v3-eempty>span{font-size:13.5px;color:var(--mut)}
.v3-tray{position:absolute;left:0;top:470px;width:276px;height:170px;padding:12px 14px;border:2px dashed var(--ink);border-radius:14px;background:#F1F3EF;transition:background-color .3s,border-color .3s}
.v3-tray.has{border-style:solid;border-color:#E75B12;background:#FFF3EC}
.v3-tray b{display:block;font-size:15px;font-weight:800}
.v3-tnote{display:block;margin-top:8px;max-width:220px;font-size:13px;line-height:1.4;color:#4B535B}
.v3-tnote.ok{color:var(--gr)}
.v3-tbox{position:absolute;left:132px;top:40px;right:10px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.v3-treason{font-size:13px;font-weight:700;line-height:1.3;color:#B4321A}
.v3-treason.ok{color:var(--gr)}

/* sections */
.v3-sec{padding:104px 0}
.v3-white{background:#fff}
.v3-dark-sec{background:var(--ink);color:#F3F1EA}
.v3-shead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 48px;margin-bottom:40px}
.v3-h2{margin:0;flex:1 1 520px;font-weight:800;font-size:clamp(34px,3.6vw,56px);line-height:1;letter-spacing:-.035em;text-wrap:balance}
.v3-lede{margin:0;flex:1 1 380px;max-width:540px;font-size:18px;line-height:1.55;color:var(--ink2)}
.v3-dark-sec .v3-lede{color:#C9CDD2}
.v3-h3{margin:0;font-weight:800;font-size:21px;line-height:1.2;letter-spacing:-.01em}
.v3-h4{margin:0;font-size:17px;font-weight:800;line-height:1.25}
.v3-fabrica{margin-bottom:28px}

/* audit */
.v3-audit{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-areas:"q card" "contact contact";gap:20px;align-items:start}
.v3-acontactw{grid-area:contact;display:flex;flex-direction:column;gap:12px;min-width:0}
@media (max-width:1024px){.v3-audit{grid-template-columns:minmax(0,1fr);grid-template-areas:"q" "card" "contact"}}
.v3-aleft{grid-area:q;min-width:0;display:flex;flex-direction:column;gap:22px;padding:24px;border-radius:18px;background:#fff}
.v3-aq{display:flex;flex-direction:column;gap:10px}
.v3-aqh{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.v3-aqh b{font-size:19px;font-weight:800}
.v3-aqh>span{font-size:13px;font-weight:700;color:var(--gr)}
.v3-chips{display:flex;flex-wrap:wrap;gap:8px}
.v3-chip-b{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 14px;border:2px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font:600 14.5px/1.2 'Host Grotesk',sans-serif;text-align:left;cursor:pointer;transition:background-color .15s,color .15s}
.v3-chip-b[aria-pressed="true"]{background:var(--ink);color:#fff}
.v3-chip-b small{font-size:11.5px;font-weight:800;opacity:.85}
.v3-aright{grid-area:card;min-width:0;display:flex;flex-direction:column;gap:14px}
@media (min-width:1025px){.v3-aright{position:sticky;top:96px}}
.v3-acard{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:18px;background:var(--ink);color:#F3F1EA}
.v3-acard>div{display:flex;flex-direction:column;gap:14px}
.v3-acard-t{font-size:20px}
.v3-aprog{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:#C9CDD2}
.v3-abar{flex:1 1 auto;height:8px;border-radius:999px;background:#2F353B;overflow:hidden}
.v3-abar i{display:block;height:100%;width:0;border-radius:999px;background:var(--ye);transition:width .4s cubic-bezier(.3,1.3,.5,1)}
.v3-asum{margin:0;padding:0 0 0 18px;font-size:15px;line-height:1.55;color:#E2E4E6}
.v3-asm{font-size:13.5px;line-height:1.45;color:#C9CDD2}
.v3-asm.v3-muted{color:var(--mut)}
.v3-acontact{display:flex;flex-direction:column;padding:18px 20px;border-radius:18px;background:#fff}
.v3-acr{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #E3E7EA;font-size:15px}
.v3-acr:last-child{border-bottom:0}
.v3-acr>span{color:var(--mut)}
.v3-acr a{font-weight:700;text-decoration:none}
.v3-acr a:hover{text-decoration:underline;text-underline-offset:4px}

/* confetti (one burst at a real outcome) */
.v3-cf{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}
.v3-cfx{position:absolute;width:0;height:0;animation:v3cfx var(--d) cubic-bezier(.1,.8,.35,1) var(--dl) both}
.v3-cfy{display:block;animation:v3cfy var(--d) linear var(--dl) both}
.v3-cff{display:block;margin:-6px 0 0 -5px;animation:v3cff .7s linear infinite}
@keyframes v3cfx{0%{transform:translateX(0);opacity:1}82%{opacity:1}100%{transform:translateX(var(--dx));opacity:0}}
@keyframes v3cfy{0%{transform:translateY(0);animation-timing-function:cubic-bezier(.15,.75,.4,1)}30%{transform:translateY(calc(var(--up) * -1));animation-timing-function:cubic-bezier(.5,0,.85,.65)}100%{transform:translateY(var(--fall))}}
@keyframes v3cff{to{transform:rotate3d(1,.35,.15,360deg)}}

/* responsive */
@media (max-width:1300px){.v3-hstage{zoom:.78}}
@media (max-width:1100px){
  .v3-hstage{zoom:.7}
}
@media (max-width:760px){
  .v3 .dsk{display:none}
  .v3 .mob{display:inline}
  .v3-hero{padding:12px 0 52px}
  .v3-htext{padding-top:12px;max-width:none}
  .v3-h1{font-size:42px}
  .v3-lead{font-size:17px}
  .v3-hstage-wrap{flex:1 1 100%}
  .v3-hstage{zoom:1;width:100%;height:auto}
  .v3-hdocs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .v3-hdoc{position:relative !important;left:auto !important;top:auto !important;transform:none !important;width:auto;height:150px;touch-action:manipulation;cursor:pointer;transition:opacity .3s !important}
  .v3-hdoc.gone{display:none}
  .v3-dtt{font-size:12px;padding:6px 8px 0}
  .v3-dsub{padding:0 8px;font-size:10px}
  .v3-dfs{padding:6px 8px 0}
  .v3-df:first-child{display:none}
  .v3-dlines{display:none}
  .v3-dfoot{padding:0 8px}
  .v3-stamp{top:70px;font-size:14px}
  .v3-edemo{position:static;display:block;text-align:right;margin-top:6px}
  .v3-erp{position:relative;left:auto;top:auto;width:100%;height:auto;margin-top:12px}
  .v3-erows{height:auto;min-height:92px}
  .v3-ehead,.v3-erow{grid-template-columns:72px minmax(0,1fr) 104px;gap:8px;padding:0 10px}
  .v3-ehead>span:nth-child(2),.v3-erow>span:nth-child(2){display:none}
  .v3-estep{font-size:11px}
  .v3-tray{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:96px;margin-top:12px}
  .v3-tbox{position:static;margin-top:8px}
  .v3-sec{padding:64px 0}
  .v3-shead{margin-bottom:28px}
  .v3-aleft{padding:20px 16px}
  .v3-chip-b{padding:6px 11px;font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){
  .v3-flo,.v3-wob,.v3-scan,.v3-pulse,.v3-erow.new{animation:none}
  .v3-cf{display:none}
  .v3-hdoc{transition:none !important}
}

.v3-guar{margin:26px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;font-size:16px;font-weight:600}
.v3-guar li{display:flex;align-items:center;gap:10px}
.v3-guar i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--gr);color:#fff;font-style:normal}
.v3-alink{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px;border-radius:14px;border:2px solid var(--ink);text-decoration:none;font-size:16px;line-height:1.4}
.v3-alink b{text-decoration:underline;text-underline-offset:5px}

/* home v3.2: the rest of the page lives in the same world as the hero (paper, machines, stamps, folders) */
.v3-grid-bg{background-color:var(--g);background-image:linear-gradient(rgba(20,24,28,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(20,24,28,.05) 1px,transparent 1px);background-size:32px 32px}
.v3-navy{background:#10233F;color:#EEF2F8;background-image:radial-gradient(1200px 500px at 85% -10%,rgba(100,71,245,.35),transparent 60%),radial-gradient(900px 500px at 0% 110%,rgba(37,99,235,.35),transparent 60%)}
.v3-navy .v3-lede{color:#C5D0E0}
.v3-sun{background:#FFB81F}
.v3-sun .v3-lede{color:#3A2E0A}
.v3-peach{background:#FFE4D6}
.v3-hgroup{flex:1 1 560px;display:flex;flex-direction:column;gap:14px}
.v3-hgroup .v3-h2{flex:none}
.v3-kicker{display:inline-flex;align-items:center;gap:10px;font:700 13px/1 'Spline Sans Mono',monospace;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.v3-kicker::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--or);box-shadow:16px 0 0 var(--ye),32px 0 0 var(--gr);margin-right:34px}
.v3-h2 mark{background:linear-gradient(transparent 60%,rgba(249,168,0,.85) 60%,rgba(249,168,0,.85) 90%,transparent 90%);color:inherit;padding:0 .05em}
.v3-navy .v3-h2 mark{background:linear-gradient(transparent 60%,rgba(255,93,58,.75) 60%,rgba(255,93,58,.75) 90%,transparent 90%)}
.v3-sun .v3-h2 mark{background:linear-gradient(transparent 60%,rgba(255,255,255,.7) 60%,rgba(255,255,255,.7) 90%,transparent 90%)}

.v3 main{overflow-x:hidden;overflow-x:clip}

/* services as machines */
.v3-machines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:8px}
.v3-mach{position:relative;display:flex;flex-direction:column;gap:14px;padding:0 0 18px;border:3px solid var(--ink);border-radius:18px;background:#fff;box-shadow:0 7px 0 var(--ink);transition:transform .25s cubic-bezier(.3,1.4,.5,1),box-shadow .25s}
.v3-mach:hover{transform:translateY(-5px);box-shadow:0 12px 0 var(--ink)}
.v3-mach.focus{box-shadow:0 7px 0 var(--ink),0 0 0 8px rgba(249,168,0,.6)}
.v3-mach-top{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;border-radius:14px 14px 0 0;background:var(--c);color:var(--fg)}
.v3-mach-top::after{content:"";position:absolute;right:16px;top:16px;width:10px;height:10px;border-radius:50%;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.v3-mach.on .v3-mach-top::after{background:#3CF08A;box-shadow:0 0 10px #3CF08A}
.v3-mach-ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.22)}
.v3-mach-ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v3-mach-k{display:block;font:700 11.5px/1.2 'Spline Sans Mono',monospace;letter-spacing:.03em;opacity:.9}
.v3-mach-t{margin:4px 0 0;padding-right:16px;font-size:18px;font-weight:800;line-height:1.15;letter-spacing:-.01em}
.v3-mach-lcd{margin:0 16px;padding:12px 14px;border-radius:10px;background:#1B1F24;color:#FFC970;font:500 13px/1.5 'Spline Sans Mono',monospace;box-shadow:inset 0 2px 6px rgba(0,0,0,.6)}
.v3-mach-lcd b{color:#fff}
.v3-mach-fix{margin:0;padding:0 18px;font-size:15px;line-height:1.5;color:var(--ink2)}
.v3-mach-sw{margin:auto 16px 0;display:inline-flex;align-items:center;gap:12px;align-self:flex-start;min-height:44px;padding:0 6px 0 0;border:0;background:transparent;font:800 15px/1 'Host Grotesk',sans-serif;color:var(--ink);cursor:pointer}
.v3-sw{position:relative;flex:0 0 auto;width:48px;height:28px;border-radius:999px;background:#C9CED3;box-shadow:inset 0 2px 4px rgba(0,0,0,.25);transition:background-color .2s}
.v3-sw i{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.3);transition:transform .25s cubic-bezier(.3,1.4,.5,1)}
.v3-mach.on .v3-sw{background:var(--c)}
.v3-mach.on .v3-sw i{transform:translateX(20px)}
.v3-mach-audit{background:var(--ink);color:#F3F1EA;box-shadow:0 7px 0 #000}
.v3-mach-audit .v3-mach-top{border-bottom:1px solid #2F353B}
.v3-mach-audit .v3-mach-fix{color:#C9CDD2}
.v3-mach-audit .v3-svl{margin:0;padding:0 18px;color:var(--ye);font-weight:700;font-size:15px;line-height:1.45}
.v3-mach-audit .v3-btn{margin:auto 16px 0;align-self:flex-start}

/* projects: the cabinet */
.v3-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 30px}
.v3-ftab{min-height:42px;padding:0 16px;border-radius:999px;border:2px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:700 14.5px/1 'Host Grotesk',sans-serif;cursor:pointer;transition:background-color .2s,border-color .2s}
.v3-ftab:hover{border-color:#fff}
.v3-ftab.on{background:var(--c,#fff);border-color:var(--c,#fff);color:#fff}
.v3-ftab[data-f="all"].on{color:#10233F}
.v3-cabinet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 20px}
.v3-folder{position:relative;padding-top:28px;--fg:#fff;transition:transform .3s cubic-bezier(.3,1.3,.5,1)}
.v3-folder[data-f="ag"]{--fg:#14181C}
.v3-folder.off{display:none}
.v3-folder:hover{transform:translateY(-6px) rotate(-.5deg)}
.v3-ftab-lbl{position:absolute;left:0;top:0;height:30px;display:inline-flex;align-items:center;padding:0 16px;border-radius:10px 10px 0 0;background:var(--c);color:var(--fg);font:800 13px/1 'Host Grotesk',sans-serif}
.v3-fbody{position:relative;height:100%;display:flex;flex-direction:column;gap:10px;padding:22px 20px 20px;border-radius:0 14px 14px 14px;background:#F7F4EC;color:var(--ink);border-top:6px solid var(--c);box-shadow:0 22px 34px -20px rgba(0,0,0,.7)}
.v3-fico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--c);color:var(--fg)}
.v3-fico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v3-ft{margin:4px 0 0;font-size:18px;font-weight:800;line-height:1.2;letter-spacing:-.01em}
.v3-fx{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink2)}
.v3-folder-big{grid-column:span 2}
.v3-folder-big .v3-ft{font-size:24px}
.v3-folder-big .v3-fx{font-size:16px;max-width:520px}
.v3-mini{position:relative;margin-top:auto;padding:14px;border-radius:12px;background:#fff;border:2px solid #E3E0D6;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v3-mini em{position:absolute;right:10px;top:-10px;padding:2px 8px;border-radius:999px;background:#EDE9DD;font:700 10.5px/1.4 'Spline Sans Mono',monospace;font-style:normal;color:var(--mut)}
.v3-mini-chat{flex-direction:column;align-items:stretch}
.v3-mini-chat .q{align-self:flex-end;max-width:85%;padding:9px 12px;border-radius:14px 14px 4px 14px;background:var(--ink);color:#fff;font-size:14px}
.v3-mini-chat .a{align-self:flex-start;max-width:90%;padding:9px 12px;border-radius:14px 14px 14px 4px;background:#EFEAFE;color:var(--ink);font-size:14px;line-height:1.4}
.v3-mini-chat .a i{display:block;margin-top:4px;font:500 11.5px/1.3 'Spline Sans Mono',monospace;font-style:normal;color:#5B43D6}
.v3-mini-states span{padding:7px 11px;border-radius:999px;font:700 12.5px/1 'Host Grotesk',sans-serif;background:#EEF0F2;color:var(--mut)}
.v3-mini-states i{width:18px;height:2px;background:#C9CED3}
.v3-mini-states .s4{margin-left:auto;background:transparent;border:2px solid var(--gr);color:var(--gr)}
.v3-folder.in .v3-mini-states .s1{animation:v3st1 .4s .3s both}
.v3-folder.in .v3-mini-states .s2{animation:v3st2 .4s .9s both}
.v3-folder.in .v3-mini-states .s3{animation:v3st3 .4s 1.5s both}
@keyframes v3st1{to{background:#DDE6F3;color:#1E3A8A}}
@keyframes v3st2{to{background:#FFE7A3;color:#6B4E00}}
@keyframes v3st3{to{background:#2E6B45;color:#fff}}
.v3-pjmore{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:20px 24px;border-radius:14px;border:2px dashed rgba(255,255,255,.45);color:#fff;text-decoration:none;font-size:16px;transition:background-color .2s}
.v3-pjmore:hover{background:rgba(255,255,255,.08)}
.v3-pjmore b{white-space:nowrap;text-decoration:underline;text-underline-offset:5px}

/* process: tickets */
.v3-route{position:relative}
.v3-path{position:absolute;left:3%;right:3%;top:52px;height:6px;border-radius:3px;background:repeating-linear-gradient(90deg,rgba(20,24,28,.28) 0 12px,transparent 12px 20px)}
.v3-path i{display:block;height:100%;width:0;border-radius:3px;background:var(--ink)}
.v3-tickets{position:relative;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.v3-ticket{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 22px 26px;border-radius:14px;background:#fff;box-shadow:0 16px 0 -8px rgba(20,24,28,.18);-webkit-mask:radial-gradient(circle 11px at 0 104px,transparent 10.5px,#000 11px) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 104px,transparent 10.5px,#000 11px) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 104px,transparent 10.5px,#000 11px) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 104px,transparent 10.5px,#000 11px) right/51% 100% no-repeat}
.v3-ticket::after{content:"";position:absolute;left:18px;right:18px;top:103px;border-top:2px dashed #D9D4C7}
.v3-tk-n{font:700 52px/1 'Spline Sans Mono',monospace;color:var(--c);letter-spacing:-.04em}
.v3-ticket .v3-h3{margin-top:28px}
.v3-ticket p{margin:0;font-size:15.5px;line-height:1.5;color:var(--ink2)}
.v3-tk-stamp{margin-top:auto;align-self:flex-start;padding:6px 12px;border:3px solid var(--c);border-radius:9px;color:var(--c);font:800 13.5px/1.2 'Host Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.02em;transform:rotate(-5deg);opacity:0}
.v3-ticket.in .v3-tk-stamp{animation:v3stamp .45s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--d,0s) + .45s)}
@keyframes v3stamp{0%{opacity:0;transform:rotate(-14deg) scale(1.8)}100%{opacity:.92;transform:rotate(-5deg) scale(1)}}
.v3-sun .v3-guar i{background:var(--ink)}

/* about: badges */
.v3-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.v3-badge{position:relative;display:flex;flex-direction:column;gap:14px;padding:44px 24px 26px;border-radius:18px;background:#fff;border-top:14px solid var(--c);box-shadow:0 22px 34px -22px rgba(20,24,28,.5);transition:transform .3s cubic-bezier(.3,1.3,.5,1)}
.v3-badge-hole{position:absolute;left:50%;top:14px;width:52px;height:11px;margin-left:-26px;border-radius:999px;background:var(--g);box-shadow:inset 0 2px 3px rgba(0,0,0,.25)}
.v3-badge-k{align-self:flex-start;padding:7px 12px;border-radius:9px;background:var(--c);color:#fff;font:800 16px/1.1 'Host Grotesk',sans-serif}
.v3-badge p{margin:0;font-size:16px;line-height:1.55;color:var(--ink2)}
.v3-grid-bg .v3-alink{background:#fff}

/* audit: the paper form */
.v3-peach .v3-aleft{box-shadow:0 22px 34px -24px rgba(20,24,28,.45)}
.v3-chip-b[aria-pressed="true"]{background:var(--or);border-color:var(--or);color:#fff}
.v3-paper{position:relative;background-color:#FFFDF6;color:var(--ink);border-radius:6px;padding:26px 26px 26px 54px;box-shadow:0 30px 50px -26px rgba(20,24,28,.6);background-image:linear-gradient(90deg,transparent 38px,rgba(255,93,58,.55) 38px 40px,transparent 40px),repeating-linear-gradient(transparent 0 31px,rgba(21,72,137,.12) 31px 32px)}
.v3-paper .v3-asum{color:var(--ink2)}
.v3-paper .v3-asm{color:var(--mut)}
.v3-paper .v3-aprog{color:var(--ink2)}
.v3-paper .v3-abar{background:#E6E1D3}
.v3-paper-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.v3-paper-h .mono{font-size:12.5px;color:var(--mut)}
.v3-astamp{align-self:flex-start;padding:6px 14px;border:4px solid #2E6B45;border-radius:10px;color:#2E6B45;font:800 22px/1 'Host Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.03em;transform:rotate(-7deg);animation:v3stamp2 .5s cubic-bezier(.2,1.4,.4,1) both}
@keyframes v3stamp2{0%{opacity:0;transform:rotate(-16deg) scale(2)}100%{opacity:.95;transform:rotate(-7deg) scale(1)}}

/* footer big line */
.v3-fbig{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin-bottom:54px;padding-bottom:40px;border-bottom:1px solid #2F353B}
.v3-fbig span{font:800 clamp(30px,3.4vw,48px)/1 'Host Grotesk',sans-serif;letter-spacing:-.035em;color:#fff}
.v3-fbig a{font:800 clamp(30px,3.4vw,48px)/1 'Host Grotesk',sans-serif;letter-spacing:-.035em;color:var(--ye);text-decoration:none;border-bottom:4px solid var(--ye)}
.v3-fbig a:hover{color:#fff;border-color:#fff}

/* resting tilts (kept after the reveal) */
.v3-badge:nth-child(1){--rot:-1.2deg}
.v3-badge:nth-child(3){--rot:1deg}
.v3-badge{transform:rotate(var(--rot,0deg))}
.v3-badge:hover{transform:rotate(0deg) translateY(-6px)}
.v3-paper{transform:rotate(-.8deg)}

/* scroll reveal: only when JS runs, never for reduced motion */
.rv-ready .rv{opacity:0;translate:0 24px;transition:opacity .6s ease,translate .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.rv-ready .rv.in{opacity:1;translate:0 0}

@media (max-width:1100px){
  .v3-machines,.v3-cabinet,.v3-tickets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3-path{display:none}
  .v3-badges{grid-template-columns:1fr}
}
@media (max-width:760px){
  .v3-machines,.v3-cabinet,.v3-tickets{grid-template-columns:1fr}
  .v3-folder-big{grid-column:auto}
  .v3-paper{padding-left:44px}
  .v3-kicker::before{margin-right:30px}
}
@media (prefers-reduced-motion:reduce){
  .rv-ready .rv{opacity:1;translate:0 0;transition:none}
  .v3-tk-stamp{opacity:.92}
  .v3-ticket.in .v3-tk-stamp,.v3-astamp,.v3-folder.in .v3-mini-states span{animation:none}
  .v3-mini-states .s3{background:#2E6B45;color:#fff}
}

/* home v3: "Ce dezvoltăm" as technical drawing sheets on drafting paper */
.v3-draft{--bp:#1E3A8A;--bl2:#2563EB;background-color:#F3F6FC;background-image:linear-gradient(rgba(37,99,235,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.13) 1px,transparent 1px),linear-gradient(rgba(37,99,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}
.v3-draft .v3-h2 mark{background:linear-gradient(transparent 60%,rgba(37,99,235,.28) 60%,rgba(37,99,235,.28) 90%,transparent 90%)}
.v3-plans{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.v3-plan{position:relative;grid-column:span 2;display:flex;flex-direction:column;gap:18px;padding:24px 22px 22px;background:#fff;border:2px solid var(--bp);border-radius:4px;box-shadow:8px 8px 0 rgba(30,58,138,.12);transition:box-shadow .25s,transform .25s,border-color .2s}
.v3-plan:hover{transform:translate(-2px,-2px);box-shadow:12px 12px 0 rgba(30,58,138,.16)}
.v3-plan.on{border-color:var(--bl2);box-shadow:8px 8px 0 rgba(37,99,235,.35)}
.v3-plan::before,.v3-plan::after{content:"";position:absolute;width:16px;height:16px;border:2px solid var(--bl2);pointer-events:none}
.v3-plan::before{left:8px;top:8px;border-right:0;border-bottom:0}
.v3-plan::after{right:8px;bottom:8px;border-left:0;border-top:0}
.v3-plan-wide{grid-column:span 3;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:22px;align-items:center}
.v3-plan-txt{display:flex;flex-direction:column;gap:12px;min-width:0}
.v3-plan-no{align-self:flex-start;padding:4px 9px;border:1.5px solid var(--bp);border-radius:2px;color:var(--bp);font:700 11.5px/1 'Spline Sans Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.v3-plan-t{margin:0;font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
.v3-plan p{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink2)}
.v3-plan-li{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.v3-plan-li li{position:relative;padding-left:26px;font-size:15px;line-height:1.45;color:var(--ink)}
.v3-plan-li li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--bl2)}
.v3-plan-li li::after{content:"";position:absolute;left:4px;top:5px;width:10px;height:10px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.v3-plan .v3-mach-sw{margin:4px 0 0}
.v3-plan.on .v3-sw{background:var(--bl2)}
.v3-plan.on .v3-sw i{transform:translateX(20px)}
.v3-plan-foot{margin:30px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;font-weight:700;font-size:15.5px;color:var(--bp)}
.v3-plan-foot span::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;background:var(--bl2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.v3-plan-foot a{margin-left:auto;color:var(--ink);text-underline-offset:5px}

/* mockups: blue line drawings */
.v3-mk{position:relative;min-width:0;border-radius:8px;background:#EEF3FF;border:1.5px dashed rgba(37,99,235,.45);padding:16px;color:var(--bp);font-family:'Spline Sans Mono',monospace}
.mk-dim{position:absolute;left:16px;right:16px;bottom:-26px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--bl2);letter-spacing:.04em}
.mk-dim::before,.mk-dim::after{content:"";flex:1 1 auto;height:0;border-top:1.5px solid var(--bl2)}
.v3-mk-phone{display:flex;justify-content:center;padding:20px 16px 26px;margin-bottom:22px}
.mk-ph{position:relative;width:184px;padding:30px 12px 14px;border:3px solid var(--bp);border-radius:28px;background:#fff;display:flex;flex-direction:column;gap:9px;box-shadow:6px 6px 0 rgba(30,58,138,.12)}
.mk-ph-notch{position:absolute;left:50%;top:9px;width:56px;height:9px;margin-left:-28px;border-radius:999px;background:var(--bp)}
.mk-ph-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding-bottom:7px;border-bottom:1.5px solid rgba(30,58,138,.25);font-size:12px}
.mk-ph-h b{font:800 13px/1.1 'Host Grotesk',sans-serif;color:var(--ink)}
.mk-ph-h span{padding:2px 6px;border-radius:999px;background:#FFE7A3;color:#6B4E00;font-size:9.5px;font-weight:700}
.mk-ph-row{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink2)}
.mk-ph-row i{width:8px;height:8px;border-radius:50%;border:2px solid var(--bl2)}
.mk-ph-row em{margin-left:auto;font-style:normal;color:var(--bp)}
.mk-ph-doc{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;background:#E2F0E6;color:#1F5A38;font-size:11px;font-weight:700}
.mk-ph-doc b{margin-left:auto}
.mk-cam{position:relative;width:18px;height:13px;border:2px solid #1F5A38;border-radius:3px}
.mk-cam::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#1F5A38}
.mk-ph-btn{padding:9px;border-radius:999px;background:var(--bl2);color:#fff;text-align:center;font:800 11.5px/1 'Host Grotesk',sans-serif}
.v3-mk-web{padding:16px 16px 18px;margin-bottom:22px}
.mk-br{border:2px solid var(--bp);border-radius:8px;background:#fff;overflow:hidden;box-shadow:6px 6px 0 rgba(30,58,138,.12)}
.mk-br-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:2px solid var(--bp);background:#F7F9FF}
.mk-br-bar i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--bp)}
.mk-br-bar span{margin-left:8px;padding:2px 10px;border-radius:999px;background:#E6ECFB;font-size:10.5px;color:var(--bp)}
.mk-br-body{display:flex;min-height:150px}
.mk-side{flex:0 0 52px;display:flex;flex-direction:column;gap:8px;padding:10px 8px;border-right:1.5px solid rgba(30,58,138,.2);background:#F7F9FF}
.mk-side b{height:12px;border-radius:3px;background:var(--bl2)}
.mk-side i{height:6px;border-radius:2px;background:rgba(30,58,138,.25)}
.mk-main{flex:1 1 auto;display:flex;flex-direction:column;gap:10px;padding:10px}
.mk-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.mk-kpis span{display:flex;flex-direction:column;gap:2px;padding:6px 7px;border:1.5px solid rgba(30,58,138,.3);border-radius:6px;font:800 15px/1 'Host Grotesk',sans-serif;color:var(--ink)}
.mk-kpis b{font:700 9.5px/1 'Spline Sans Mono',monospace;color:var(--bp)}
.mk-tbl{display:flex;flex-direction:column;gap:6px}
.mk-tbl i{height:9px;border-radius:2px;background:repeating-linear-gradient(90deg,rgba(30,58,138,.22) 0 30%,transparent 30% 34%,rgba(30,58,138,.12) 34% 70%,transparent 70% 74%,rgba(46,107,69,.35) 74% 100%)}
.v3-mk-mods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;background-image:linear-gradient(90deg,transparent calc(33.33% - 5px),rgba(37,99,235,.35) calc(33.33% - 5px) calc(33.33% + 5px),transparent calc(33.33% + 5px))}
.v3-mk-mods span{position:relative;padding:12px 6px;border:2px solid var(--bp);border-radius:8px;background:#fff;text-align:center;font:700 12px/1 'Spline Sans Mono',monospace;color:var(--bp)}
.v3-mk-mods span:nth-child(2){background:var(--bl2);border-color:var(--bl2);color:#fff}
.v3-mk-mods span:not(:nth-child(3n))::after{content:"";position:absolute;right:-12px;top:50%;width:12px;border-top:2px solid var(--bl2)}
.v3-mk-site{display:flex;flex-direction:column;gap:8px;padding:14px}
.mk-site-h{display:flex;align-items:center;gap:8px}
.mk-site-h b{width:34px;height:12px;border-radius:3px;background:var(--bp)}
.mk-site-h i{width:22px;height:6px;border-radius:2px;background:rgba(30,58,138,.3)}
.mk-site-h i:first-of-type{margin-left:auto}
.mk-site-hero{height:54px;border-radius:6px;background:linear-gradient(120deg,var(--bl2),#6447F5)}
.mk-site-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.mk-site-cards i{height:38px;border-radius:6px;border:1.5px solid rgba(30,58,138,.35);background:#fff}
.mk-card-pay{align-self:flex-end;padding:4px 10px;border-radius:999px;background:#E2F0E6;color:#1F5A38;font-size:10.5px;font-weight:700}
.v3-mk-cloud{padding:14px}
.mk-srv{display:flex;flex-direction:column;gap:7px;padding:10px;border:2px solid var(--bp);border-radius:8px;background:#fff;box-shadow:inset 0 0 0 4px #F7F9FF}
.mk-srv span{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:5px;background:#F2F5FC;font-size:11.5px;font-weight:700;color:var(--bp)}
.mk-srv i{width:9px;height:9px;border-radius:50%;background:#2FB863;box-shadow:0 0 0 3px rgba(47,184,99,.18)}
.v3-plan.in .mk-srv i{animation:v3led 1.2s ease-in-out 2}
.v3-plan.in .mk-srv span:nth-child(2) i{animation-delay:.2s}
.v3-plan.in .mk-srv span:nth-child(3) i{animation-delay:.4s}
.v3-plan.in .mk-srv span:nth-child(4) i{animation-delay:.6s}
@keyframes v3led{50%{box-shadow:0 0 0 6px rgba(47,184,99,.35)}}

/* small sheets: drawing on top, equal heights; portal figures never clip */
.v3-plan:not(.v3-plan-wide) .v3-mk{min-height:196px;display:flex;flex-direction:column;justify-content:center}
.v3-plan:not(.v3-plan-wide) .v3-mk.v3-mk-mods{display:grid;align-content:center}
.v3-plan:not(.v3-plan-wide) .v3-plan-txt{flex:1 1 auto}
.v3-plan:not(.v3-plan-wide) .v3-mach-sw{margin-top:auto}
.mk-kpis span{min-width:0;overflow:hidden;padding:5px 6px;font-size:13px}
.mk-kpis b{font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-side{flex-basis:40px}

@media (max-width:1100px){
  .v3-plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3-plan,.v3-plan-wide{grid-column:span 2}
  .v3-plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
}
@media (max-width:760px){
  .v3-plans{grid-template-columns:1fr}
  .v3-plan,.v3-plan-wide{grid-column:auto;display:flex;flex-direction:column}
  .v3-plan-foot a{margin-left:0}
}
@media (prefers-reduced-motion:reduce){.v3-plan.in .mk-srv i{animation:none}}

/* production additions (10.10.2026) */
.v3-mk .mk-ex{position:absolute;right:10px;top:-10px;z-index:2;padding:2px 8px;border-radius:999px;background:#E6ECFB;font:700 10.5px/1.4 'Spline Sans Mono',monospace;font-style:normal;color:var(--bp)}
.mk-srv em{font-style:normal}
.mk-ph-doc b{display:inline-flex}
.v3 .v3-hero{padding-top:24px}
.v3-alias{display:block;height:0;overflow:hidden}
.v3-mach-k,.v3-plan-no{font-size:12px}
/* UX review fixes (10.10.2026) */
.v3-call{margin:-10px 0 0;font-size:15px;font-weight:700}
.v3-call a{text-decoration:underline;text-decoration-color:var(--ye);text-decoration-thickness:3px;text-underline-offset:4px}
.v3-cta-mid{margin-top:30px}
.v3-sun .v3-kicker::before{box-shadow:16px 0 0 #fff,32px 0 0 var(--gr)}
.v3-ftab.on[data-f="ed"],.v3-ftab.on[data-f="ag"]{color:var(--ink)}
.v3-folder[data-f="ed"]{--fg:#14181C}
.v3-acta{display:flex;flex-wrap:wrap;gap:10px}
/* audit card (10.10.2026): phone field, call link, fallback, confirmation, what happens next */
.v3-acard{position:relative}
.v3-aphone{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--ink2)}
.v3-aphone input{height:50px;padding:0 14px;border:2px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font:600 18px/1 'Host Grotesk',sans-serif;letter-spacing:.02em}
.v3-aphone input:focus{outline:3px solid var(--ye);outline-offset:2px}
.v3-acall{align-self:flex-start;padding:4px 0;font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.v3-asent{align-self:flex-start}
.v3-athanks{margin:0;padding:10px 14px;border-radius:10px;background:#E2F0E6;color:#1F5133;font-weight:700;font-size:15px}
.v3-athanks:focus{outline:none}
.v3-anext{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1.5px dashed rgba(20,24,28,.28)}
.v3-anext b{font-size:15px}
.v3-anext ol{margin:0;padding:0;list-style:none;counter-reset:n;display:flex;flex-direction:column;gap:7px}
.v3-anext li{counter-increment:n;display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:start;font-size:14.5px;line-height:1.4;color:var(--ink2)}
.v3-anext li::before{content:counter(n);display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:-1px;border-radius:50%;background:var(--ink);color:#fff;font:700 12px/1 'Spline Sans Mono',monospace}
.v3-acard>.v3-astamp{position:absolute;right:20px;bottom:18px;font-size:17px;padding:5px 11px;border-width:3px}
.v3-asmall{padding-right:150px}
@media (max-width:760px){.v3-asmall{padding-right:0;padding-bottom:44px}}
.v3-swipe{display:none}
@media (max-width:760px){
  .v3-hero .v3-ctas .v3-btn{flex:1 1 100%}
  .v3-plan-wide .v3-mk{order:-1}
  /* swipe rows instead of a long stack: drawing sheets and project folders */
  .v3-plans,.v3-cabinet{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -18px;padding:6px 18px 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .v3-plans::-webkit-scrollbar,.v3-cabinet::-webkit-scrollbar{display:none}
  .v3-plan,.v3-folder{flex:0 0 86%;scroll-snap-align:start;min-width:0}
  .v3-cabinet{align-items:stretch}
  .v3-folder-big{grid-column:auto}
  .v3-plans .rv,.v3-cabinet .rv{opacity:1 !important;translate:none !important}
  .v3-swipe{display:block;margin:-6px 0 18px;font:700 12px/1 'Spline Sans Mono',monospace;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
}
/* the stage column may shrink below its text's one-line width: without this the ERP status line widened the
   whole demo on phones and pushed the third column of papers off screen (10.10.2026) */
.v3-hstage-wrap{min-width:0;max-width:100%}
.v3-ebar,.v3-erp{min-width:0}
@media (max-width:760px){.v3-acr a{display:inline-block;padding:8px 0}.v3-acr{padding:4px 0}.v3-plan-foot a{display:inline-block;padding:8px 0}}
@media (max-width:760px){.v3-erow{height:auto;min-height:30px;padding-top:5px;padding-bottom:5px}.v3-est{white-space:normal;line-height:1.15;align-items:flex-start}.v3-est i{margin-top:4px}}


/* ---------- review fixes (10.10.2026): colour roles, hierarchy, rhythm, dead space ---------- */
/* one action colour: every audit CTA is yellow; on the yellow section it is ink with a yellow label */
#hCta, #aMail.v3-dark, #aWa { background: var(--cta); color: var(--ink); border-color: var(--ink); }
#hCta:hover, #aMail.v3-dark:hover, #aWa:hover { background: var(--cta-h); color: var(--ink); }
.v3-sun .v3-cta-mid .v3-btn { color: var(--ye); }
/* a chosen answer is ink (red read as an error, and white on #FF5D3A failed AA) */
.v3-chip-b[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
/* exceptions are "attention", not failures */
.v3-hmsg.err, .v3-treason { color: var(--warn-ink); }
.v3-hdoc.rej .v3-hdi { border-color: var(--warn); }
.v3-erp.flash { border-color: var(--warn); }
.v3-erp.flash .v3-ebar { background: var(--warn-bg); color: var(--ink); }
.v3-estep.bad { background: var(--warn-bg); color: var(--warn-ink); border-color: var(--warn); }
.v3-tray.has { border-color: var(--warn); background: var(--warn-bg); }
/* proof section: flat navy, yellow highlight, a focus ring you can see on dark */
.v3-navy { background-image: none; }
.v3-navy .v3-h2 mark { background: linear-gradient(transparent 60%, rgba(249,168,0,.85) 60%, rgba(249,168,0,.85) 90%, transparent 90%); }
.v3-navy :focus-visible, .v3-mach-audit :focus-visible { outline-color: var(--ye); }
/* kickers: one yellow dot, not a traffic light */
.v3-kicker::before, .v3-sun .v3-kicker::before { box-shadow: none; margin-right: 2px; }
.v3-kicker::before { background: var(--ye); }
.v3-sun .v3-kicker::before { background: var(--ink); }
/* steps and badges: one stamp blue, ink badges (the colours meant nothing) */
.v3-tk-n { color: var(--ink); }
/* the audit section on warm paper: one hue fewer, calmer ground for the yellow button */
.v3-peach { background: var(--paper2); }
/* legibility */
.v3-mach-k { opacity: 1; }
.v3-dex { font-size: 11px; color: var(--mut); }
.v3-mach-lcd { font: 500 15px/1.45 'Host Grotesk', 'Helvetica Neue', Arial, sans-serif; color: #FFE2A8; }
.v3-mach-lcd b { font: 700 12px/1 'Spline Sans Mono', ui-monospace, monospace; letter-spacing: .04em; text-transform: uppercase; color: #fff; margin-right: 2px; }
.v3-hmsg { font-weight: 600; }
/* nothing lifts unless it is clickable; the trust zone is straight */
.v3-mach:hover, .v3-plan:hover, .v3-folder:hover { transform: none; }
.v3-mach:hover { box-shadow: 0 7px 0 var(--ink); }
.v3-badge, .v3-badge:hover, .v3-paper { transform: none; }
/* type scale: section titles a clear step below the page title */
.v3-h2 { font-size: clamp(30px, 3vw, 44px); }
/* rhythm: less air between sections (was 104 + 104) */
.v3-sec { padding: 80px 0; }
.v3-hero { padding-bottom: 40px; }
.v3-shead { margin-bottom: 32px; }
/* the service-grid audit card: the promise in three lines instead of an empty black block */
.v3-aud-li { margin: 0 18px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; }
.v3-aud-li li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.4; color: #E2E4E6; }
.v3-aud-li svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; color: var(--ye); }
/* hero tray: before an exception arrives, a dashed slot shows where it will land */
.v3-tghost { position: absolute; left: 44px; top: 46px; width: 76px; height: 98px; border: 2px dashed rgba(20,24,28,.32); border-radius: 8px; background: repeating-linear-gradient(0deg, transparent 0 13px, rgba(20,24,28,.07) 13px 15px); transform: rotate(-5deg); }
.v3-tray.has .v3-tghost { display: none; }
.v3-tray .v3-tnote { position: absolute; left: 136px; top: 46px; right: 14px; max-width: none; margin: 0; }
/* the idle demo shows where the papers go, in the same colours as their bars */
.v3-edests { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.v3-edests i { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border: 1.5px solid #D5DADF; border-radius: 999px; font: 700 12.5px/1 'Host Grotesk', sans-serif; font-style: normal; color: var(--ink2); background: #fff; }
.v3-edests i::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
@media (max-width: 760px) {
  .v3-sec { padding: 56px 0; }
  .v3-shead { margin-bottom: 24px; }
  /* the demo follows the buttons; the facts go under it; the secondary button is a text link */
  .v3-hero .v3-herow { flex-direction: column; flex-wrap: nowrap; gap: 20px; }
  .v3-hero .v3-htext { display: contents; }
  .v3-hero .v3-h1 { order: 1; margin-top: 12px; }
  .v3-hero .v3-lead { order: 2; }
  .v3-hero .v3-lead2 { order: 3; }
  .v3-hero .v3-ctas { order: 4; }
  .v3-hero .v3-note { order: 5; margin: -6px 0 0; }
  .v3-hero .v3-call { order: 6; margin: -8px 0 0; }
  .v3-hero .v3-hmsg { order: 7; min-height: 0; margin-top: 4px; }
  .v3-hero .v3-hstage-wrap { order: 8; margin-top: -8px; }
  .v3-hero .v3-ctas #hAuto { flex: 0 0 auto; min-height: 44px; padding: 0 2px; border-color: transparent; background: transparent; color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; font-size: 16px; }
  .v3-tghost { display: none; }
  .v3-tray .v3-tnote { position: static; margin-top: 8px; }
}
.v3-lead2 { margin: -6px 0 0; font-size: 17px; line-height: 1.45; font-weight: 700; color: var(--ink); max-width: 560px; }
.v3-guar-more { margin: 14px 0 0; font-size: 15px; line-height: 1.5; color: var(--ink); }
.v3-guar-more a { font-weight: 700; color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.v3-guar-more a:hover { text-decoration-thickness: 3px; }
/* hero: the facts sit under the demo, so the text column and the demo end together */
.v3-hstage-wrap .v3-facts { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); justify-content: start; gap: 10px 36px; margin-top: 4px; padding: 16px 0 0 2px; }
.v3-hmsg .dsk, .v3-hmsg .mob { font-weight: 500; color: var(--mut); }
/* 04: four guarantees as a 2 x 2 grid */
.v3-guar { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 12px 40px; }
@media (max-width: 1024px) { .v3-guar { grid-template-columns: minmax(0, 1fr); } }
/* 06 on desktop: the direct contact details as one strip under the questions and the request */
@media (min-width: 1025px) {
  .v3-acontactw { flex-direction: row; align-items: center; gap: 24px; }
  .v3-acontact { flex: 1 1 auto; flex-direction: row; padding: 14px 8px; }
  .v3-acr { flex: 1 1 0; flex-direction: column; justify-content: flex-start; gap: 4px; padding: 4px 18px; border-bottom: 0; border-left: 1px solid #E3E7EA; }
  .v3-acr:first-child { border-left: 0; }
  .v3-acontactw > .v3-asm { flex: 0 0 220px; }
}
@media (max-width: 760px) {
  .v3-hstage-wrap .v3-facts { grid-template-columns: minmax(0, 1fr); padding-top: 14px; }
  .v3-guar { grid-template-columns: minmax(0, 1fr); }
}
/* the copy action lives inside the fallback sentence: one primary button in the card */
.v3-acopy { display: inline; padding: 0; border: 0; background: none; font: inherit; font-weight: 700; color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; cursor: pointer; }
.v3-acopy:hover { text-decoration-thickness: 3px; }
@media (max-width: 760px) {
  .v3-asmall { padding-bottom: 0; }
  .v3-acard > .v3-astamp { position: static; align-self: flex-end; margin: 10px 0 -4px; }
  .v3-anext { gap: 6px; padding-top: 12px; }
  .v3-anext ol { gap: 5px; }
  .v3-anext li { font-size: 14px; line-height: 1.35; }
}
.v3-afb-ok { display: block; margin-top: 4px; font-weight: 700; color: var(--gr); }
.v3-afb-ok:empty { display: none; }
/* phones: the empty demo card grows with its content (the pills wrap to two lines) */
@media (max-width: 760px) { .v3-eempty { position: static; padding: 16px 12px 18px; } }
/* desktop: the request card is as tall as the questions; "Ce urmează" sits at the foot of the paper */
@media (min-width: 1025px) {
  .v3-aright { position: static; align-self: stretch; }
  .v3-aright > #aCard { flex: 1 1 auto; }
  #aCard > #aOpen { flex: 1 1 auto; }
  #aCard .v3-anext { margin-top: auto; }
}
/* e-Factura project card: two example invoices, one accepted with its signed archive, one still processing */
.v3-mini-inv { flex-direction: column; align-items: stretch; gap: 10px; }
.v3-inv { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v3-inv + .v3-inv { padding-top: 10px; border-top: 1px dashed #E3E0D6; }
.v3-inv-n { min-width: 62px; font: 700 12px/1 'Spline Sans Mono', monospace; color: var(--ink2); }
.v3-mini-states .t1 { background: #E2F0E6; color: var(--gr); }
.v3-mini-states .t2 { background: #FFF1C2; color: #7A5200; }
/* phones: swipe rows keep each card at its own height (stretching left a hole inside the shorter cards) */
@media (max-width: 760px) { .v3-plans, .v3-cabinet { align-items: flex-start; } }
/* the hero call link is a standalone target: at least 24 px tall */
.v3-call a { display: inline-block; padding: 4px 0; }

/* ---- round 2 (10.10.2026): the audit request on narrow screens, folder links, the 02 order on phones ---- */
/* the skip link: the card sits under the questions at 1024 px and below */
.v3-askip { display: none; }
@media (max-width: 1024px) {
  .v3-askip { display: inline-block; flex: 1 1 100%; align-self: flex-start; margin-top: -2px; padding: 4px 0; font-size: 16px; font-weight: 700; color: var(--ink); text-decoration: underline; text-decoration-color: var(--ye); text-decoration-thickness: 3px; text-underline-offset: 5px; }
  .v3-askip:hover { text-decoration-color: var(--ink); }
}
/* the confirm: a question and its answer, side by side */
.v3-asentw { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.v3-asentw[hidden] { display: none; }
.v3-asentq { font-weight: 700; font-size: 15px; color: var(--ink); }
/* WhatsApp next to the e-mail button on phones, as a quieter second choice */
#aWa.v3-ghost { order: 2; background: transparent; color: var(--ink); }
#aWa.v3-ghost:hover { background: var(--ink); color: #fff; }
/* a failed copy says what to do instead */
.v3-afb-ok.err { color: var(--err); }
/* Q2: open on desktop; on phones it folds behind one button until the visitor wants it */
.v3-afold { display: none; }
@media (max-width: 760px) {
  .v3-afold { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; align-self: stretch; min-height: 48px; padding: 0 14px; border: 2px dashed rgba(20,24,28,.4); border-radius: 12px; background: transparent; color: var(--ink); font: 700 15px/1.2 'Host Grotesk', sans-serif; cursor: pointer; }
  .v3-afold svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
  .v3-afold[aria-expanded="true"] svg { transform: rotate(180deg); }
  .v3-afold[aria-expanded="true"] .v3-afold-s, .v3-afold[aria-expanded="false"] .v3-afold-h { display: none; }
  #aQ2:not(.open) #aPicks { display: none; }
}
/* 03: the folder title is the way to the named project in the portfolio */
.v3-ft a { color: inherit; text-decoration: none; }
.v3-ft a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.v3-flink { align-self: flex-start; display: inline-block; padding: 3px 0; font-size: 14.5px; font-weight: 700; color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.v3-flink:hover { text-decoration-thickness: 3px; }
/* 02 on phones: the swipe row opens with what the hero promises (CRM, websites); sheet numbers would read out of order */
@media (max-width: 760px) {
  #svc-plat { order: 1; } #svc-site { order: 2; } #svc-web { order: 3; } #svc-app { order: 4; } #svc-cloud { order: 5; }
  .v3-plans .v3-plan-no { display: none; }
}
/* 02 on phones: every sheet is as tall as the tallest one in the row, so no hole opens under the sheet in view
   (the row now opens with the shorter CRM and website sheets); the drawing takes the extra height, centred */
@media (max-width: 760px) {
  .v3-plans { align-items: stretch; }
  .v3-plans .v3-plan .v3-mk { flex: 1 1 auto; }
  .v3-plans .v3-plan:not(.v3-plan-wide) .v3-plan-txt { flex: 0 0 auto; }
  .v3-plan-wide .v3-mk-phone { align-items: center; }
  .v3-plan-wide .v3-mk-web { display: flex; flex-direction: column; justify-content: center; }
}
/* demo papers: a field label never splits ("VAT ID" on a 112px phone card); when label and value do not fit side by
   side, the value moves under the label, right-aligned */
.v3-df { flex-wrap: wrap; }
.v3-dk { white-space: nowrap; }
.v3-dv { margin-left: auto; }

/* ==== round-2 UI/UX review (10.10.2026), tested together at 1920-320 px, RO and EN ==== */
/* R2-01 phones: swipe rows keep the 18px gutter (mandatory snap was snapping card 1 to x=0) */
@media (max-width:760px){ .v3-plans, .v3-cabinet { scroll-padding-inline: 18px; } }
/* R2-02 the demo card title never wraps; on phones the status gets its own full line under the title */
.v3-etit { white-space: nowrap; flex: 0 0 auto; }
@media (max-width: 760px) {
  .v3-ebar { flex-wrap: wrap; height: auto; min-height: 48px; padding: 8px 10px 8px 14px; row-gap: 2px; }
  .v3-etit { font-size: 20px; }
  .v3-ecnt { order: 2; margin-left: auto; }
  .v3-estat { order: 3; flex: 1 1 100%; font-size: 13px; white-space: normal; }
  .v3-estat:empty { display: none; }
}
@media (max-width: 340px) { .v3-etit { font-size: 18px; } .v3-ecnt { padding: 5px 8px; font-size: 11.5px; } }
/* R2-04 phones: contact rows, label and value on one line */
@media (max-width:760px){ .v3-acr { align-items: center; } }
/* R2-05 footer focus ring: yellow on ink (".v3 :focus-visible" above won over v3.css) */
.v3 .v3-ftr :focus-visible { outline-color: var(--ye); }
/* R2-06 desktop request card: natural height, sticky inside its own column (never over the strip), no hole in the middle */
@media (min-width:1025px){
  .v3-aright > #aCard { flex: 0 0 auto; position: sticky; top: 96px; }
  #aCard > #aOpen { flex: 0 0 auto; }
  #aCard .v3-anext { margin-top: 0; }
}
/* R2-07 desktop contact strip: full width, note under it */
@media (min-width:1025px){
  .v3-acontactw { flex-direction: column; align-items: stretch; gap: 10px; }
  .v3-acontactw > .v3-asm { flex: none; }
}
/* R2-08 the note under the buttons keeps room for the stamp only where the stamp is drawn over it */
.v3-asmall { padding-right: 0; }
@media (min-width:761px){ #aCard:has(#aStamp:not([hidden])) .v3-asmall { padding-right: 150px; } }
/* R2-09 02 plates, row 1: tags at the top, toggles at the bottom, in both sheets */
@media (min-width:1101px){
  .v3-plan-wide { align-items: stretch; }
  .v3-plan-wide .v3-mk { align-self: center; }
  .v3-plan-wide .v3-plan-txt .v3-mach-sw { margin-top: auto; }
}
/* R2-10 01 cards: equal head bands, so the LCD panels start on one line in every row */
@media (min-width:1180px){ .v3-mach-top { min-height: 110px; } }
/* R2-11 04 guarantees on the ticket grid (second column starts under ticket 03) */
@media (min-width:1025px){ .v3-guar { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; } }
/* R2-12 hero 761-1154px: the facts no longer widen the demo column; 1092-1154px keeps the side-by-side layout at
   zoom .7; 761-1091px splits the text in two columns and centres the demo under it */
@media (min-width:761px){ .v3-hstage-wrap .v3-facts { contain: inline-size; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width:761px) and (max-width:1154px){ .v3-hstage { zoom: .7; } }
@media (min-width:761px) and (max-width:1091px){
  .v3-htext { flex: 1 1 100%; max-width: none; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); column-gap: 40px; row-gap: 18px; align-items: start; }
  .v3-htext > .v3-h1 { grid-column: 1 / -1; }
  .v3-htext > .v3-lead { grid-column: 1; grid-row: 2; }
  .v3-htext > .v3-lead2 { grid-column: 1; grid-row: 3; }
  .v3-htext > .v3-ctas { grid-column: 2; grid-row: 2; align-self: start; }
  .v3-htext > .v3-note { grid-column: 2; grid-row: 3; margin: 0; }
  .v3-htext > .v3-call { grid-column: 2; grid-row: 4; margin: 0; }
  .v3-htext > .v3-hmsg { grid-column: 1; grid-row: 4; min-height: 0; }
  .v3-hstage-wrap { margin: 0 auto; }
  .v3-hstage { zoom: .86; }
}
/* R2-15 the last red on the exception path: the rejected total is amber like the rest of the exception */
.v3-df.hlb { background: rgba(180, 83, 9, .26); }
/* R2-16 phones: the text-link "Pornește exemplul" lines up with the column */
@media (max-width:760px){ .v3-hero .v3-ctas #hAuto { padding: 0; border: 0; } }
/* R2-17 phones: destination pills as a 2 x 2 block (no lone "CRM") */
@media (max-width:420px){ .v3-edests { display: grid; grid-template-columns: repeat(2, max-content); justify-content: center; } }
/* R2-18 phones: footer contact links in two columns under the two link groups */
@media (max-width:760px){
  .v3-fcol:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; }
  .v3-fcol:last-child > b { grid-column: 1 / -1; }
}
/* R2-19 fewer one-word last lines (Chrome/Edge 117+, Safari 26; others ignore it) */
.v3 p, .v3 li, .v3-mach-lcd, .v3-tk-stamp, .v3-mach-t, .v3-ft, .v3-plan-t, .v3-aud-li span, .v3-guar span, .fb-p-hint { text-wrap: pretty; }
/* R2-20 hero H1: the comma of "ș" (line 1) no longer sits on the dot of the "i" in "croite" (line 2) */
.v3-h1 { line-height: 1.04; }
/* R2-23 one focus colour on light grounds (the field ring was yellow, right above the yellow button) */
.v3-aphone input:focus { outline-color: var(--bl); }
/* R2-24 e-Factura mock: one colour per state in both invoices */
.v3-mini-states .t1 { background: #DDE6F3; color: #1E3A8A; }
.v3-mini-states .t2 { background: #FFE7A3; color: #6B4E00; }
/* R2-26 02 phones: the module chips in the "Platforme" drawing fit their cells */
@media (max-width: 760px) {
  .v3-mk-mods { gap: 8px; padding: 14px 10px; }
  .v3-mk-mods span { padding: 12px 2px; font-size: 11px; letter-spacing: -.02em; }
  .v3-mk-mods span:not(:nth-child(3n))::after { right: -10px; width: 10px; }
}
/* R2-28 reduced motion: the e-Factura chips really stop, with their end colours */
@media (prefers-reduced-motion: reduce) {
  .v3-folder.in .v3-mini-states .s1, .v3-folder.in .v3-mini-states .s2, .v3-folder.in .v3-mini-states .s3 { animation: none; }
  .v3-mini-states .s1 { background: #DDE6F3; color: #1E3A8A; }
  .v3-mini-states .s2 { background: #FFE7A3; color: #6B4E00; }
}
/* R2-29 761-1024px: the contact details as the same 4-column strip as desktop, not 4 rows 900px wide */
@media (min-width: 761px) and (max-width: 1024px) {
  .v3-acontact { flex-direction: row; padding: 14px 8px; }
  .v3-acr { flex: 1 1 0; flex-direction: column; justify-content: flex-start; gap: 4px; padding: 4px 14px; border-bottom: 0; border-left: 1px solid #E3E7EA; }
  .v3-acr:first-child { border-left: 0; }
  .v3-acr a { padding: 0; }
}
/* P3: readable sample labels; the first paper's wobble no longer touches the hint above it on phones */
.v3-edemo { font-size: 14px; }
@media (max-width:760px){ .v3-dsub { font-size: 11px; } .v3-hero .v3-hstage-wrap { margin-top: 0; } }
/* titles of cards, sheets and folders: balanced lines, never one word alone on the last line ("Legături între /
   programe" becomes "Legături / între programe"); short notes and link texts get the paragraph rule */
.v3-mach-t, .v3-plan-t, .v3-ft { text-wrap: balance; }
.v3-pjmore span, .v3-alink span, .v3-asm, .v3-tnote, .v3-acr b { text-wrap: pretty; }

/* ==== round-3 design review (11.10.2026): the site's own objects, refined; tested together at 1920-320px, RO and EN ==== */
/* ---------- D1 [home] 01 service cards: each card keeps its machine's paint, at a calmer volume ----------
   The wall of violet/orange/green/blue/purple/pink/teal bands was the loudest thing on the page and buried the
   one card that matters (the black audit card with the yellow button). The machine language stays: a painted 7px
   rail in the machine's colour (the same paint as its machine on the line above), the coloured icon plate, the LCD,
   the LED and the switch. The head itself becomes a 12% tint with an ink title and a kicker in the machine colour
   darkened to text strength (worst case orange: 5.5:1 at rest, 5.0:1 on the 22% tint of an installed card); the dark
   LCD is the one dark band per card; kickers top-aligned so they line up across a row. Installed: 22% tint and a
   green LED. */
.v3-mach:not(.v3-mach-audit) .v3-mach-top { padding-top: 21px; background: #F6F5F1; background: color-mix(in srgb, var(--c) 12%, #fff); color: var(--ink); box-shadow: inset 0 7px 0 var(--c), inset 0 -1.5px 0 rgba(20,24,28,.1); box-shadow: inset 0 7px 0 var(--c), inset 0 -1.5px 0 color-mix(in srgb, var(--c) 28%, #fff); }  /* first values: fallbacks where color-mix() is missing */
.v3-mach:not(.v3-mach-audit) .v3-mach-ico { background: var(--c); color: var(--fg); }
.v3-mach:not(.v3-mach-audit) .v3-mach-k { color: var(--ink2); color: color-mix(in srgb, var(--c) 55%, #14181C); }
.v3-mach:not(.v3-mach-audit) .v3-mach-top::after { background: color-mix(in srgb, var(--c) 30%, #fff); box-shadow: inset 0 0 0 2px rgba(20,24,28,.16); }
.v3-mach-top { align-items: flex-start; }
.v3-mach.on:not(.v3-mach-audit) .v3-mach-top { background: color-mix(in srgb, var(--c) 22%, #fff); }
.v3-mach.on .v3-mach-top::after { background: #22C55E; box-shadow: 0 0 0 3px rgba(34,197,94,.25); }
/* ---------- D2 [home] 06 answer chips: hairline outlines, not 27 heavy black boxes ----------
   1.5px #8A9199 keeps 3.2:1 against white (WCAG 1.4.11); hover and the chosen state stay ink, so a choice stands
   out. The "alege oricâte" hints were green (= done): muted grey. On phones the chips fill their rows, so each
   question reads as a tidy block instead of a ragged column of boxes. */
.v3-chip-b { border-width: 1.5px; border-color: #8A9199; border-radius: 10px; transition: background-color .15s, color .15s, border-color .15s; }
.v3-chip-b:hover { border-color: var(--ink); }
.v3-chip-b[aria-pressed="true"] { border-color: var(--ink); }
.v3-aqh > span { color: var(--mut); font-weight: 600; }
@media (max-width: 760px) { .v3-chips > .v3-chip-b { flex: 1 1 auto; } }
/* ---------- D3 [home] hero: the demo hint becomes the demo's status line ----------
   "Apasă pe o hârtie..." was a fourth grey footnote under the buttons, far from the demo. A yellow dot with a
   soft halo (an invitation to act; amber when a paper is held back) makes it read as the demo's live caption. */
.v3-hero .v3-hmsg { display: flex; align-items: flex-start; gap: 10px; }
.v3-hero .v3-hmsg::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; margin-top: .5em; border-radius: 50%; background: var(--ye); box-shadow: 0 0 0 4px rgba(249,168,0,.2); }
.v3-hero .v3-hmsg.err::before { background: var(--warn); box-shadow: 0 0 0 4px rgba(180,83,9,.18); }
@media (min-width: 1092px) { .v3-hero .v3-hmsg { font-size: 14.5px; } }
/* ---------- D4 (home part) display type with a touch more air ---------- */
.v3-h1 { letter-spacing: -.035em; }
@media (min-width: 761px) and (max-width: 1091px) { .v3-h1 { letter-spacing: -.045em; } }
.v3-h2 { letter-spacing: -.028em; }
/* ---------- D5 [home] 05 badges, 761-1100px: role on the left, text on the right ----------
   (between those widths each badge was a 900px-wide box holding two lines). The clip and the repeated logo of
   the review's version were dropped (owner: the clip looks bad; ornaments read as generated). */
@media (min-width: 761px) and (max-width: 1100px) {
  .v3-badge { display: grid; grid-template-columns: 220px minmax(0, 1fr); column-gap: 28px; align-items: start; padding: 40px 28px 26px; }
  .v3-badge-k { grid-column: 1; grid-row: 1; justify-self: start; }
  .v3-badge p { grid-column: 2; grid-row: 1; }
}
/* ---------- D6 [home] 02 drawings: no stray bar, no placeholder slab ----------
   (a) the 10px light-blue column behind the module grid read as a rendering glitch; the modules now also connect
       vertically, so the drawing is a clean 3 x 2 system diagram;
   (b) the website sketch was a blue-to-violet gradient slab (the old indigo) over three empty boxes: it now has a
       headline, a text line and a button in its hero, and an image block plus two lines in each card. */
.v3-mk-mods { background-image: none; }
.v3-mk-mods span:nth-child(-n+3)::before { content: ""; position: absolute; left: 50%; top: calc(100% + 2px); height: 10px; border-left: 2px solid var(--bl2); }
.mk-site-hero { position: relative; height: 62px; background-color: var(--bl2); background-image: linear-gradient(#fff, #fff), linear-gradient(rgba(255,255,255,.6), rgba(255,255,255,.6)); background-size: 52% 8px, 36% 5px; background-position: 12px 13px, 12px 28px; background-repeat: no-repeat; }
.mk-site-hero::after { content: ""; position: absolute; left: 12px; bottom: 11px; width: 44px; height: 12px; border-radius: 999px; background: #fff; }
.mk-site-cards i { height: 46px; background-color: #fff; background-image: linear-gradient(rgba(37,99,235,.16), rgba(37,99,235,.16)), linear-gradient(rgba(30,58,138,.32), rgba(30,58,138,.32)), linear-gradient(rgba(30,58,138,.16), rgba(30,58,138,.16)); background-size: 100% 42%, 64% 4px, 44% 4px; background-position: 0 0, 7px 64%, 7px 84%; background-repeat: no-repeat; overflow: hidden; }
/* ---------- D7 [home] 03 title highlight on navy: a real highlighter, not a mustard band ----------
   rgba(249,168,0,.85) over #10233F mixed into a muddy #D9950B, and white letters on a yellow band cannot reach
   contrast. On the one dark section the marker inverts: solid brand yellow behind ink letters (9:1), sized to the
   line box so it never touches the line above; clone keeps both ends square when the title wraps. */
.v3-navy .v3-h2 { line-height: 1.04; }
.v3-navy .v3-h2 mark { color: var(--ink); background: linear-gradient(transparent 17%, var(--ye) 17%, var(--ye) 97%, transparent 97%); padding: 0 .1em; margin: 0 .01em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
/* ---------- D8 [home] 04: the button and the two links share one row under the guarantees ----------
   Guarantees, a small links line and a lone button were three loose blocks under strong tickets. From 1025px only:
   narrower, the links line would wrap beside the button and split "Cum găzduim / sistemele în UE". */
@media (min-width: 1025px) {
  #cum-lucram .v3-wrap { display: flex; flex-wrap: wrap; align-items: center; column-gap: 28px; }
  #cum-lucram .v3-wrap > * { flex: 1 1 100%; min-width: 0; }
  #cum-lucram .v3-cta-mid { flex: 0 0 auto; order: 10; margin-top: 30px; }
  #cum-lucram .v3-guar-more { flex: 1 1 0; order: 11; margin-top: 30px; }
}
/* ---------- D10 [home] phones: layouts designed for the phone ---------- */
@media (max-width: 760px) {
  /* (a) 03 filters: one swipeable row instead of three rows of pills before the first project */
  .v3-filters { flex-wrap: nowrap; overflow-x: auto; margin: -20px -18px 14px; padding: 8px 18px; scrollbar-width: none; scroll-padding-inline: 18px; }
  .v3-filters::-webkit-scrollbar { display: none; }
  .v3-ftab { flex: 0 0 auto; }
  /* (b) 03 e-Factura sketch: the invoice number on its own line, chips without dangling connector dashes */
  .v3-inv { row-gap: 6px; }
  .v3-inv-n { flex: 0 0 100%; }
  .v3-inv > i { display: none; }
  .v3-mini-states .s4 { margin-left: 0; }
  /* (c) hero papers: two text lines fill the blank lower half of each paper, like on desktop */
  .v3-hdoc .v3-dlines { display: flex; gap: 5px; padding: 8px 8px 0; }
  .v3-hdoc .v3-dlines i:nth-child(3) { display: none; }
  /* (d) 04 tickets: number and title share the stub, the perforation moves up; each ticket loses ~59px
         (section 04 at 390: 1934 to 1699px) */
  .v3-ticket { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; row-gap: 0; align-items: center; padding: 18px 20px 22px;
    -webkit-mask: radial-gradient(circle 11px at 0 76px, transparent 10.5px, #000 11px) left/51% 100% no-repeat, radial-gradient(circle 11px at 100% 76px, transparent 10.5px, #000 11px) right/51% 100% no-repeat;
    mask: radial-gradient(circle 11px at 0 76px, transparent 10.5px, #000 11px) left/51% 100% no-repeat, radial-gradient(circle 11px at 100% 76px, transparent 10.5px, #000 11px) right/51% 100% no-repeat; }
  .v3-ticket::after { top: 75px; }
  .v3-tk-n { grid-column: 1; grid-row: 1; font-size: 40px; }
  .v3-ticket .v3-h3 { grid-column: 2; grid-row: 1; margin-top: 0; }
  .v3-ticket p { grid-column: 1 / -1; margin-top: 34px; }
  .v3-ticket .v3-tk-stamp { grid-column: 1 / -1; justify-self: start; margin-top: 18px; }
  /* (e) 02: the products link on its own line under the three checks */
  .v3-plan-foot a { flex-basis: 100%; }
}
/* ---------- D11 [home] 06 request card: notebook rules as texture ----------
   Text never sits on the blue rules (the card holds inputs, buttons and lists), so at .12 the rules looked like
   misprinted lines. At .055 they read as paper. */
.v3-paper { background-image: linear-gradient(90deg, transparent 38px, rgba(255,93,58,.55) 38px 40px, transparent 40px), repeating-linear-gradient(transparent 0 31px, rgba(21,72,137,.055) 31px 32px); }
/* ---------- D14 [home] hero 761-1091px: the buttons hang from the lead's last line ----------
   In the two-column text layout the buttons sat at the top of a row as tall as the lead, leaving a ~50px hole
   above the note. Bottom-aligned, the buttons, note and call read as one block. */
@media (min-width: 761px) and (max-width: 1091px) {
  .v3-htext > .v3-ctas { align-self: end; }
  .v3-htext > .v3-hmsg { align-self: start; }
}
/* ---------- D15 [home] bullets sit on the first line when an item wraps (hero facts, 04 guarantees) ---------- */
.v3-facts li { align-items: flex-start; }
.v3-facts i { margin-top: 6px; }
.v3-guar li { align-items: flex-start; }
.v3-guar i { flex: 0 0 auto; margin-top: 1px; }
/* ---------- D16 [home] hero tray at rest: a drop zone, not a second heavy box ----------
   The black 2px dashes (plus the dashed ghost paper inside) competed with the "Programele tale" card while the tray
   is empty. A grey dash keeps it readable as a slot; the amber exception state is unchanged. */
.v3-tray:not(.has) { border-color: rgba(20,24,28,.38); background: rgba(255,255,255,.4); }
.v3-tray:not(.has) .v3-tghost { border-color: rgba(20,24,28,.22); }
/* ---------- D17 [home] 02 on phones: the first two sheets were tall, nearly empty frames ----------
   In the swipe row every sheet is as tall as "Aplicații mobile". The module diagram (about 90px of content) sat in a
   234 x 319px frame and the website sketch in a 145px-wide frame, both shrink-wrapped and centred: the first two
   cards a phone visitor sees were mostly blank. The frames now span the card like the other sheets, the diagram is
   2 x 3 with bigger modules, and the sketch grows, so both drawings fill their frames. */
@media (max-width: 760px) {
  .v3-plans .v3-plan { align-items: stretch; }  /* the <=1100px rule centred the drawings and shrink-wrapped them */
  .v3-plans .v3-mk-mods { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 22px; padding: 22px 16px; }
  .v3-plans .v3-mk-mods span { padding: 16px 4px; font-size: 12.5px; letter-spacing: 0; }
  .v3-mk-mods span:nth-child(n)::after, .v3-mk-mods span:nth-child(n)::before { content: none; }
  .v3-mk-mods span:nth-child(odd)::after { content: ""; position: absolute; right: -22px; top: 50%; width: 22px; border-top: 2px solid var(--bl2); }
  .v3-mk-mods span:nth-child(-n+4)::before { content: ""; position: absolute; left: 50%; top: calc(100% + 2px); height: 22px; border-left: 2px solid var(--bl2); }
  .v3-plans .v3-mk-site { gap: 10px; }
  .v3-plans .mk-site-hero { height: 104px; background-size: 58% 10px, 40% 6px; background-position: 14px 22px, 14px 42px; }
  .v3-plans .mk-site-hero::after { left: 14px; bottom: 18px; width: 58px; height: 16px; }
  .v3-plans .mk-site-cards i { height: 74px; }
}
/* ---------- D18 [home] 04 stamps: centred, balanced lines ----------
   "30 DE MINUTE, TELEFONIC / SAU ONLINE" and "SUPORT: RĂSPUNS ÎN MAXIMUM / 4 ORE LUCRĂTOARE" broke like
   paragraphs; a rubber stamp is set centred, in even lines. */
.v3-tk-stamp { text-align: center; text-wrap: balance; }
/* ---------- D19 [home] 03 "Plus site-uri..." link row: a card edge, not a drop zone ----------
   A dashed white outline on navy reads as an empty placeholder. A hairline with a faint fill reads as a link row. */
.v3-pjmore { border: 1.5px solid rgba(255,255,255,.26); background: rgba(255,255,255,.04); }
.v3-pjmore:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.08); }
/* ---------- D20 [home] hero demo under 351px: nothing cut ----------
   At 320px three papers per row leave 85px for a title: "Comandă 4512", "Cerere de ofertă" (EN "e-Factura 0377")
   were clipped ("Comandă 451", "Cerere de ofert"). Two papers per row give every title room. The EN step pill
   "Where it belongs" was 4px wider than its pill: a tighter row of pills lets it fit. On phones the table header
   row may take two lines (EN "What was / read" spilled out of its fixed 26px row at 320-355px). */
@media (max-width: 350px) {
  .v3-hdocs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v3-esteps { gap: 5px; padding-left: 8px; padding-right: 8px; }
}
@media (max-width: 760px) { .v3-ehead { height: auto; min-height: 26px; padding-top: 5px; padding-bottom: 5px; line-height: 1.15; } }
/* titles carry no marker highlight (owner 11.10: it reads as generated); a safety net for any <mark> left */
.v3-h1 mark, .v3-h2 mark { background: none !important; color: inherit !important; padding: 0 !important; margin: 0 !important; }

/* 03 on phones: two swipe rows (the featured folders, then the others), each with cards of one height, so a short card
   never sits under the tall featured folders' height (owner 11.10: "doesn't look that good on mobile"). On desktop the
   row wrappers dissolve into the cabinet grid. */
.v3-cab-row { display: contents; }
@media (max-width: 760px) {
  .v3-cabinet { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 6px; overflow: visible !important; scroll-snap-type: none !important; margin: 0 !important; padding: 0 !important; }
  .v3-cab-row { display: flex; min-width: 0; align-items: stretch; gap: 14px; margin: 0 -18px; padding: 6px 18px 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 18px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .v3-cab-row::-webkit-scrollbar { display: none; }
  .v3-cab-row:not(:has(.v3-folder:not(.off))) { display: none; }
  .v3-cab-rest .v3-folder { flex-basis: 78%; }
}
