:root{
  --paper:oklch(0.979 0.013 75);--paper-2:oklch(0.962 0.018 68);--cream-deep:oklch(0.935 0.028 62);
  --ink:oklch(0.205 0.022 47);--ink-soft:oklch(0.455 0.022 47);
  --brand:oklch(0.672 0.196 40);--brand-strong:oklch(0.60 0.205 35);--brand-deep:oklch(0.45 0.155 34);
  --brand-tint:oklch(0.95 0.038 58);--on-brand:oklch(0.985 0.012 80);
  --line:color-mix(in oklch,var(--ink) 12%,transparent);--line-2:color-mix(in oklch,var(--ink) 7%,transparent);
  --shadow:0 1px 2px oklch(0.2 0.02 47/.04),0 16px 38px oklch(0.45 0.12 40/.10);
  --display:"Cabinet Grotesk",system-ui,sans-serif;--body:"General Sans",system-ui,-apple-system,sans-serif;
  --gutter:clamp(1.3rem,0.6rem + 3vw,4rem);--maxw:72rem;--radius:1.1rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.06rem;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
::selection{background:var(--brand);color:var(--on-brand);}
:focus-visible{outline:2.5px solid var(--brand-strong);outline-offset:3px;border-radius:4px;}

.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--body);font-weight:600;font-size:1.02rem;line-height:1;padding:1em 1.6em;border-radius:999px;border:1.5px solid var(--brand);background:var(--brand);color:var(--on-brand);cursor:pointer;transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .3s,box-shadow .4s;box-shadow:0 10px 26px oklch(0.6 0.2 40/.26);}
.btn:hover{transform:translateY(-2px);background:var(--brand-strong);box-shadow:0 16px 34px oklch(0.6 0.2 40/.32);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none;}
.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}

.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-inline:var(--gutter);padding-block:1rem;background:color-mix(in oklch,var(--paper) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);}
.site-header .brand{font-family:var(--display);font-weight:800;font-size:1.45rem;letter-spacing:-0.02em;}
.brand{display:inline-flex;align-items:center;gap:.5rem;}
.brand-mark{display:inline-block;width:1.25em;height:1.1em;background-color:var(--brand);-webkit-mask:url('/veltologo.svg') no-repeat center/contain;mask:url('/veltologo.svg') no-repeat center/contain;flex:none;}
.header-cta{font-weight:600;font-size:.98rem;padding:.65em 1.15em;border-radius:999px;border:1.5px solid var(--line);transition:background-color .3s,color .3s,border-color .3s;}
.header-cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}

.page{padding-block:clamp(2.5rem,2rem + 4vw,5rem) clamp(3rem,2rem + 5vw,6rem);}
.page__head{max-width:46rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3rem);}
.page__head .eyebrow{font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;color:var(--brand-strong);}
.page__head h1{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,1.5rem + 3vw,3.6rem);letter-spacing:-0.03em;line-height:1.02;margin-top:1rem;}
.page__head p{color:var(--ink-soft);margin-top:1rem;font-size:1.15rem;max-width:52ch;}

.prose{max-width:48rem;}
.prose h2{font-family:var(--display);font-weight:700;font-size:1.4rem;letter-spacing:-0.01em;margin-top:2.4rem;margin-bottom:.5rem;}
.prose h3{font-weight:600;font-size:1.08rem;margin-top:1.3rem;margin-bottom:.3rem;}
.prose p,.prose li{color:var(--ink-soft);margin-bottom:.7rem;}
.prose ul{padding-left:1.2rem;margin-bottom:.7rem;}
.prose a{color:var(--brand-strong);text-decoration:underline;text-underline-offset:2px;}
.prose .muted{font-size:.92rem;color:var(--ink-soft);}
.note{background:var(--brand-tint);border-radius:var(--radius);padding:1rem 1.2rem;font-size:.95rem;color:var(--brand-deep);margin:1.4rem 0;}

.form{display:flex;flex-direction:column;gap:1.1rem;max-width:36rem;}
.field{display:flex;flex-direction:column;gap:.4rem;}
.field label{font-weight:600;font-size:.95rem;}
.field input,.field textarea{font-family:var(--body);font-size:1rem;padding:.85em 1em;border:1.5px solid var(--line);border-radius:.8rem;background:var(--paper-2);color:var(--ink);width:100%;transition:border-color .25s,background-color .25s;}
.field input::placeholder,.field textarea::placeholder{color:color-mix(in oklch,var(--ink-soft) 70%,transparent);}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--brand);background:#fff;}
.field textarea{resize:vertical;min-height:130px;}
.form .btn{align-self:flex-start;margin-top:.3rem;}

.contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;max-width:46rem;}
.contact-card{display:flex;flex-direction:column;gap:.3rem;padding:1.6rem 1.7rem;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper-2);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .4s;}
.contact-card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow);}
.contact-card__label{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:var(--brand-strong);}
.contact-card__value{font-family:var(--display);font-weight:700;font-size:clamp(1.3rem,1.1rem + 1vw,1.7rem);letter-spacing:-0.01em;color:var(--ink);word-break:break-word;}
.contact-card__cta{margin-top:.55rem;font-weight:600;font-size:.95rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.4rem;transition:gap .25s,color .25s;}
.contact-card:hover .contact-card__cta{color:var(--brand-strong);gap:.7rem;}
.contacts-note{margin-top:1.5rem;color:var(--ink-soft);font-size:1rem;}

.site-footer{border-top:1px solid var(--line);background:var(--cream-deep);}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(1.5rem,1rem + 2vw,3rem);padding-block:clamp(2.6rem,2rem + 2vw,4rem);}
.foot-brand .brand{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-0.02em;}
.foot-brand p{color:var(--ink-soft);margin-top:.7rem;max-width:30ch;font-size:.98rem;}
.foot-col h4{font-family:var(--display);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin-bottom:.8rem;}
.foot-col a{display:block;color:var(--ink-soft);padding:.26rem 0;font-size:.98rem;transition:color .25s,transform .25s;}
.foot-col a:hover{color:var(--brand-strong);transform:translateX(2px);}
.foot-bottom{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;padding-block:1.4rem;color:var(--ink-soft);font-size:.9rem;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.foot-grid{grid-template-columns:1fr;}}
