/* Contact: one violet screen holding the ways to reach us and a short qualifying form */
main{display:block}
.cs-crumb{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted);margin-bottom:clamp(28px,4vw,56px)}
.cs-crumb a{color:inherit;text-decoration:none}
.cs-crumb a:hover{color:var(--fg)}
.cs-crumb i{font-style:normal;opacity:.5}

.ct-hero{padding:calc(var(--annc,0px) + 150px) 0 clamp(80px,9vw,140px)}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:56px}
.ct-kicker{font-size:clamp(15px,1.2vw,18px);color:var(--accent);margin:0 0 18px;font-weight:500}
.ct-title{font-size:clamp(52px,7.4vw,128px);font-stretch:82%;line-height:.9;letter-spacing:-.05em;max-width:9ch;text-wrap:balance}
.ct-lead{font-size:clamp(19px,1.6vw,24px);line-height:1.4;letter-spacing:-.01em;color:var(--muted);max-width:30ch;margin:28px 0 0}
.ct-ways{list-style:none;margin:44px 0 0;padding:0;border-top:1px solid var(--line)}
.ct-ways a{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 16px;padding:20px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;overflow:hidden}
.ct-ways small{grid-column:1;font-size:13px;color:var(--muted)}
.ct-ways b,
.ct-ways .t-b{grid-column:1;font-weight:500;font-size:clamp(22px,2vw,30px);letter-spacing:-.03em;line-height:1.05;transition:transform .6s var(--out)}
.ct-ways svg{grid-column:2;grid-row:1/span 2;align-self:center;width:18px;height:18px;transition:transform .6s var(--out)}
.ct-ways a::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--out)}
.ct-ways a:hover b,
.ct-ways a:hover .t-b,.ct-ways a:focus-visible b,.ct-ways a:focus-visible .t-b{transform:translateX(8px)}
.ct-ways a:hover svg,.ct-ways a:focus-visible svg{transform:translateX(4px) rotate(-45deg)}
.ct-ways a:hover::after,.ct-ways a:focus-visible::after{transform:scaleX(1)}
.ct-meta{display:grid;gap:12px;margin-top:28px;font-size:15px;color:var(--muted)}
.ct-rate{display:inline-flex;align-items:center;gap:10px}
.ct-rate .rv-stars{margin:0}

/* Form card */
.ct-card{position:relative;background:var(--bone,#F6F5F2);color:#121218;border-radius:clamp(22px,2.4vw,32px);padding:clamp(24px,3.4vw,52px);box-shadow:0 50px 120px -40px rgba(0,0,0,.55);--fg:#121218;--muted:#535C66;--line:rgba(18,18,24,.14);--accent:#5529D2;--soft:rgba(85,41,210,.07)}
.ct-form{display:grid;gap:clamp(26px,2.6vw,36px)}
.ct-form[hidden]{display:none}
.ct-fs{border:0;margin:0;padding:0;min-width:0;display:grid;gap:14px}
.ct-q{display:flex;align-items:baseline;gap:12px;padding:0;margin:0 0 4px;font-size:clamp(19px,1.5vw,23px);font-weight:500;letter-spacing:-.02em}
.ct-q span,
.ct-q .t-span{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}
.ct-row2{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.ct-f{position:relative;display:block}
.ct-f input,.ct-f textarea{display:block;width:100%;box-sizing:border-box;font:400 17px/1.4 var(--f);color:var(--fg);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:26px 0 10px;outline:0;transition:border-color .4s;resize:vertical}
.ct-f span,
.ct-f .t-span{position:absolute;left:0;top:24px;font-size:17px;color:var(--muted);pointer-events:none;transform-origin:0 0;transition:transform .45s var(--out),color .3s}
.ct-f input:focus+span,
.ct-f input:focus+.t-span,.ct-f input:not(:placeholder-shown)+span,.ct-f input:not(:placeholder-shown)+.t-span,.ct-f textarea:focus+span,.ct-f textarea:focus+.t-span,.ct-f textarea:not(:placeholder-shown)+span,.ct-f textarea:not(:placeholder-shown)+.t-span{transform:translateY(-20px) scale(.76)}
.ct-f input:focus+span,
.ct-f input:focus+.t-span,.ct-f textarea:focus+span,.ct-f textarea:focus+.t-span{color:var(--accent)}
.ct-f::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--out)}
.ct-f:focus-within::after{transform:scaleX(1)}
.ct-f.bad input,.ct-f.bad textarea{border-color:#C2334D}
.ct-f.bad span,
.ct-f.bad .t-span{color:#C2334D}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px}
.ct-chips label{position:relative;cursor:pointer}
.ct-chips input{position:absolute;opacity:0;width:1px;height:1px}
.ct-chips span,
.ct-chips .t-span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);font-size:15px;line-height:1;transition:background-color .35s,color .35s,border-color .35s}
.ct-chips span::before,
.ct-chips .t-span::before{content:"";width:0;height:10px;margin-right:-8px;border-radius:50%;background:currentColor;transition:width .35s var(--out),margin .35s var(--out)}
.ct-chips label:hover span,
.ct-chips label:hover .t-span{border-color:var(--fg)}
.ct-chips input:checked+span,
.ct-chips input:checked+.t-span{background:var(--accent);border-color:var(--accent);color:#fff}
.ct-chips input:checked+span::before,
.ct-chips input:checked+.t-span::before{width:6px;height:6px;margin-right:0;background:#fff}
.ct-chips input:focus-visible+span,
.ct-chips input:focus-visible+.t-span{outline:2px solid var(--accent);outline-offset:3px}
.ct-consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted);cursor:pointer}
.ct-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:#5529D2;flex:none}
.ct-consent.bad{color:#C2334D}
.ct-submit{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.ct-send{height:56px;font-size:16px}
.ct-err{margin:0;font-size:14px;color:#C2334D}
.ct-done{display:grid;gap:18px;justify-items:start;padding:clamp(12px,2vw,24px) 0}
.ct-done[hidden]{display:none}
.ct-done:focus{outline:none}
.ct-done h2{margin:0;font-size:clamp(34px,3.6vw,56px);font-weight:500;letter-spacing:-.045em;line-height:1}
.ct-done p{margin:0;font-size:18px;line-height:1.5;color:var(--muted);max-width:38ch}
.ct-tick{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff}
.ct-tick svg{width:30px;height:30px;stroke-dasharray:24;stroke-dashoffset:24}
.ct-done.on .ct-tick svg{animation:ctTick .8s .25s var(--out) forwards}
@keyframes ctTick{to{stroke-dashoffset:0}}

/* What happens next */
.ct-next{padding:clamp(88px,10vw,160px) 0}
.ct-nh{display:grid;gap:22px;margin-bottom:clamp(44px,5vw,80px)}
.ct-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:36px;counter-reset:s}
.ct-steps li{border-top:1px solid var(--line);padding-top:24px}
.ct-sn{display:block;font-size:clamp(48px,5vw,84px);font-weight:500;letter-spacing:-.05em;line-height:.9;color:var(--accent);margin-bottom:22px}
.ct-steps h3{font-size:clamp(22px,1.8vw,28px);font-weight:500;letter-spacing:-.025em;margin:0 0 12px}
.ct-steps p{margin:0;color:var(--muted);line-height:1.55;max-width:34ch}

/* The page itself is the call to action, so the footer drops its CTA panel */
.foot .hm-cta{display:none}
.foot2 .fg{margin-top:0}

@media (min-width:600px){.ct-row2{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media (min-width:1000px){
  .ct-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(48px,6vw,110px);align-items:start}
  .ct-side{position:sticky;top:calc(var(--annc,0px) + 120px)}
  .ct-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
}
@media (prefers-reduced-motion:reduce){.ct-tick svg{stroke-dashoffset:0}}

input.ct-send{padding:0 32px;-webkit-appearance:none;appearance:none;cursor:pointer;font-weight:500}
.ct-wform{margin:0}
.ct-done{background:transparent;padding:clamp(12px,2vw,24px) 0;text-align:left}
.ct-wform,.ct-fwrap{margin:0}
.ct-form label{font-weight:inherit;margin-bottom:0}
.ct-f input.w-input,.ct-f textarea.w-input{height:auto;min-height:0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;padding:26px 0 10px;font-size:17px;line-height:1.4;color:var(--fg)}
.ct-f .w-input:focus{border-color:var(--line);outline:0}
.ct-f.bad .w-input{border-color:#C2334D}
.ct-chips .w-checkbox{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;margin:0;padding:0}
.ct-chips label:has(input:checked)>span,
.ct-chips label:has(input:checked)>.t-span{background:var(--accent);border-color:var(--accent);color:#fff}
.ct-chips label:has(input:checked)>span::before,
.ct-chips label:has(input:checked)>.t-span::before{width:6px;height:6px;margin-right:0;background:#fff}
.ct-chips label:has(input:focus-visible)>span,
.ct-chips label:has(input:focus-visible)>.t-span{outline:2px solid var(--accent);outline-offset:3px}
.ct-consent .w-checkbox{display:block;margin:0;padding:0}
.ct-consent .w-form-label{display:none}
.ct-consent .w-checkbox-input{float:none;margin:2px 0 0;width:18px;height:18px;accent-color:#5529D2}
.ct-success.w-form-done{background:transparent;padding:0;text-align:left}
.ct-errbox.w-form-fail{background:transparent;padding:0;margin-top:0}
.ct-fail{margin-top:18px;padding:14px 18px;border-radius:12px;background:#FBE9EC;color:#8A1F33;font-size:15px}

/* Native controls follow the light card, not the violet section around it */
.ct-card{color-scheme:light}
.ct-card input.ct-send.pill.accent{background:#5529D2;color:#fff}.ct-card input.ct-send.pill.accent:hover,.ct-card input.ct-send.pill.accent:focus-visible{background:#4520B0;color:#fff}
input.ct-send.w-form-loading{opacity:.85}

/* Headline words rise inside masks: give the masks room for apostrophes and descenders */
.ct-title .hm-mask{padding:.1em .06em .2em;margin:-.1em -.06em -.2em}

/* Labels lift whenever the field is focused or filled, even if a password manager inserts its own element beside the input */
.ct-f:focus-within>span,.ct-f.filled>span{transform:translateY(-20px) scale(.76)}
.ct-f:focus-within>span{color:var(--accent)}
.ct-f.bad>span{color:#C2334D}
/* The light card sets its own background colour so button hovers inside it stay readable */
.ct-card{--bg:#F6F5F2}
