.contact{--contact-line:color-mix(in srgb, var(--foreground) 28%, var(--background))}.contact-title{letter-spacing:-.04em;text-wrap:balance;font-size:clamp(40px,5.55556vw,104px);font-weight:400;line-height:1}.contact[data-channels=off] .contact-title{letter-spacing:-.035em;font-size:clamp(32px,3.75vw,72px);line-height:1.04}@media (min-width:64rem){.contact[data-channels=off]{column-gap:calc(var(--gutter) * 2);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;row-gap:max(32px,2.77778vw);display:grid}.contact[data-channels=off] .contact-head{display:contents}.contact[data-channels=off] .contact-title{grid-column:1/-1}.contact[data-channels=off] .contact-lead{grid-column:1;margin-block-start:0}.contact[data-channels=off] .contact-grid{grid-column:2;grid-template-columns:minmax(0,1fr);margin-block-start:0;margin-inline-start:calc(-2 * var(--gutter))}.contact[data-channels=off] .contact-form{max-width:none}}.contact-lead{letter-spacing:-.01em;max-width:32em;color:color-mix(in srgb, var(--foreground) 72%, var(--background));text-wrap:pretty;margin-block-start:24px;font-size:clamp(18px,1.39vw,21px);font-weight:300;line-height:1.4}.contact-grid{flex-direction:column;gap:56px;margin-block-start:56px;display:flex}@media (min-width:64rem){.contact-grid{gap:calc(var(--gutter) * 2);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;margin-block-start:clamp(72px,7vw,112px);display:grid}}.contact-form{flex-direction:column;gap:24px;max-width:640px;display:flex}.contact-field{flex-direction:column;gap:8px;display:flex}.contact-label{padding:0;font-size:16px;font-weight:500;line-height:1.3}.contact-needs>.contact-label{float:left;width:100%;margin-block-end:12px}.contact-needs>.contact-label+*{clear:both}.contact-optional{font-weight:300}.contact-input{border:1px solid var(--contact-line);background:var(--background);width:100%;height:52px;color:var(--foreground);font:inherit;transition:border-color var(--dur-ui) var(--ease-ui), border-width var(--dur-ui) var(--ease-ui), padding-inline var(--dur-ui) var(--ease-ui);border-radius:3px;padding-inline:14px;font-size:16px}@media (hover:hover) and (pointer:fine){.contact-input:hover{border-color:var(--foreground)}}.contact-input:focus-visible{outline:var(--focus-width) solid var(--foreground);outline-offset:var(--focus-offset);border-color:var(--foreground)}.contact-input[aria-invalid=true]{border-color:var(--foreground);border-width:2px;padding-inline:13px}.contact-error{margin:0;font-size:13px;font-weight:500;line-height:1.4}.contact-error:before{content:"↳ "}.contact-error{transition:opacity var(--dur-ui) var(--ease-ui), translate var(--dur-ui-slow) var(--ease-ui)}@starting-style{.contact-error{opacity:0;translate:0 -4px}}.contact-needs{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.contact-needs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:40rem){.contact-needs-grid{gap:16px}}.contact-stages-grid{grid-template-columns:minmax(0,1fr)}@media (min-width:40rem){.contact-stages-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.contact-need{border:1px solid var(--contact-line);min-height:64px;transition:border-color var(--dur-ui) var(--ease-ui), background-color var(--dur-ui) var(--ease-ui), color var(--dur-ui) var(--ease-ui), scale var(--dur-spring) var(--ease-spring);border-radius:3px;align-items:center;padding:12px 16px;font-size:16px;font-weight:500;line-height:1.25;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.contact-need:hover{border-color:var(--foreground)}}.contact-need:active{scale:var(--press-scale);transition:border-color var(--dur-ui) var(--ease-ui), background-color var(--dur-ui) var(--ease-ui), color var(--dur-ui) var(--ease-ui), scale var(--dur-press) var(--ease-ui)}.contact-need:has(input:checked){border-color:var(--foreground);background:var(--foreground);color:var(--background);animation:contact-pick var(--dur-spring) var(--ease-spring)}@keyframes contact-pick{0%{scale:.94}}.contact-need:has(input:focus-visible){outline:var(--focus-width) solid var(--foreground);outline-offset:var(--focus-offset)}.contact-needs[data-invalid] .contact-need{border-color:var(--foreground);border-style:dashed}.contact-step{letter-spacing:.02em;margin:0;font-size:13px;font-weight:500}.contact-step-bars{gap:4px;margin-block-start:-12px;display:flex}.contact-step-bars>span{background:var(--contact-line);height:2px;transition:background-color var(--dur-ui) var(--ease-ui);flex:1}.contact-step-bars>span[data-on]{background:currentColor}.contact-step-body{flex-direction:column;gap:24px;display:flex}.contact[data-tone=dark] .contact-step-body{gap:36px}.contact-hint{color:color-mix(in srgb, var(--foreground) 72%, var(--background));margin:0;font-size:13px;font-weight:400;line-height:1.4}.contact[data-tone=dark] .contact-hint{color:var(--contact-soft)}.contact-select{padding-inline-end:8px}.contact[data-tone=dark] .contact-select option{background:var(--background);color:var(--foreground)}.contact-textarea{resize:none;height:auto;min-height:96px;padding-block:12px;line-height:1.4}.contact[data-tone=dark] .contact-textarea{height:auto;min-height:96px;padding-block:12px}.contact-prefs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-prefs-grid .contact-need{text-align:center;justify-content:center;min-height:52px}.contact-more{border-block-start:1px dotted var(--contact-line);padding-block-start:4px}.contact-more-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:16px;font-weight:500;list-style:none;display:flex}.contact-more-summary::-webkit-details-marker{display:none}.contact-more-summary:focus-visible{outline:var(--focus-width) solid var(--foreground);outline-offset:var(--focus-offset)}.contact[data-tone=dark] .contact-more-summary:focus-visible{outline-color:var(--background)}.contact-more-icon{transition:rotate var(--dur-ui) var(--ease-ui)}.contact-more[open] .contact-more-icon{rotate:45deg}.contact-more-body{flex-direction:column;gap:24px;padding-block:12px 4px;display:flex}.contact-aside-label{margin:0 0 12px;font-size:16px;font-weight:500}.contact[data-tone=dark] .contact-aside-label{color:var(--contact-soft);font-weight:400}.contact-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-actions{flex-direction:column;gap:12px;margin-block-start:8px;display:flex}@media (min-width:40rem){.contact-actions{flex-direction:row;align-items:center;gap:20px}}.contact-submit{border-radius:3px;flex:none;min-height:48px;position:relative;overflow:hidden}.contact-submit:after{content:"";opacity:0;width:40%;height:2px;transition:opacity var(--dur-ui) var(--ease-ui);background:currentColor;position:absolute;bottom:0;left:0;transform:translate(-100%)}.contact-form[aria-busy=true] .contact-submit:after{opacity:.9;animation:contact-sending 1.1s var(--ease-ui) infinite}@keyframes contact-sending{to{transform:translate(250%)}}.contact-promise{margin:0;font-size:13px;font-weight:400}.contact-privacy{margin:0;font-size:13px;font-weight:400;line-height:1.55}.contact-privacy strong{font-weight:500}.contact-privacy a,.contact-message a{background:linear-gradient(currentColor, currentColor) no-repeat 100% 100% / 0 1px, linear-gradient(color-mix(in srgb, currentColor 35%, transparent), color-mix(in srgb, currentColor 35%, transparent)) no-repeat 0 100% / 100% 1px;transition:background-size var(--dur-ui-slow) var(--ease-ui);text-decoration:none}.contact-privacy a:focus-visible,.contact-message a:focus-visible{background-position:0 100%,0 100%;background-size:100% 1px,100% 1px}@media (hover:hover) and (pointer:fine){.contact-privacy a:hover,.contact-message a:hover{background-position:0 100%,0 100%;background-size:100% 1px,100% 1px}}.contact-message{border:1px solid var(--foreground);background:var(--cloud);transition:opacity var(--dur-ui-slow) var(--ease-ui), translate var(--dur-ui-slow) var(--ease-ui);border-radius:3px;padding:20px}@starting-style{.contact-message{opacity:0;translate:0 8px}}.contact-message:focus-visible{outline:var(--focus-width) solid var(--foreground);outline-offset:var(--focus-offset)}.contact-message-title{margin:0;font-size:20px;font-weight:500;line-height:1.35}.contact-alts{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.contact-alts>li{border-top:1px dotted var(--contact-line)}.contact-alts>li:last-child{border-bottom:1px dotted var(--contact-line)}.contact-alt{flex-direction:column;gap:4px;min-height:44px;padding-block:20px;display:flex}.contact-alt-title{letter-spacing:-.01em;font-size:20px;font-weight:500}.contact-alt-text{transition:background-size var(--dur-ui-slow) var(--ease-ui), color var(--dur-ui) var(--ease-ui);background:linear-gradient(currentColor,currentColor) 100% 100%/0 1px no-repeat;font-size:16px;font-weight:300;line-height:1.4}.contact-alt:focus-visible .contact-alt-text{background-position:0 100%;background-size:100% 1px}@media (hover:hover) and (pointer:fine){.contact-alt:hover .contact-alt-text{background-position:0 100%;background-size:100% 1px}}.contact-alt:focus-visible{outline:var(--focus-width) solid var(--foreground);outline-offset:-2px}.contact[data-tone=dark]{--contact-line:color-mix(in srgb, var(--background) 45%, var(--foreground));--contact-soft:color-mix(in srgb, var(--background) 72%, var(--foreground));background:var(--foreground);color:var(--background);padding-block:max(96px,11.1111vw) max(88px,10vw)}.contact[data-tone=dark] .contact-title{letter-spacing:-.045em;font-size:clamp(48px,7.63889vw,150px);line-height:.98}.contact[data-tone=dark] .contact-lead{color:var(--contact-soft);margin-block-start:max(24px,2.22222vw)}.contact[data-tone=dark] .contact-grid{margin-block-start:max(64px,7.77778vw)}.contact[data-tone=dark] .contact-form{gap:36px;max-width:760px}.contact[data-tone=dark] .contact-label{color:var(--contact-soft);font-weight:400}.contact[data-tone=dark] .contact-needs-grid{flex-wrap:wrap;gap:10px;display:flex}.contact[data-tone=dark] .contact-need{border-color:var(--contact-line);border-radius:999px;min-height:48px;padding:10px 22px;font-size:16px;font-weight:400}@media (hover:hover) and (pointer:fine){.contact[data-tone=dark] .contact-need:hover{border-color:var(--background)}}.contact[data-tone=dark] .contact-need:has(input:checked){border-color:var(--background);background:var(--background);color:var(--foreground)}.contact[data-tone=dark] .contact-input:focus-visible,.contact[data-tone=dark] .contact-message:focus-visible,.contact[data-tone=dark] .contact-alt:focus-visible{outline-color:var(--background)}.contact[data-tone=dark] .contact-need:has(input:focus-visible){outline-color:var(--background)}.contact[data-tone=dark] .contact-needs[data-invalid] .contact-need{border-color:var(--background)}.contact[data-tone=dark] .contact-field{gap:4px}.contact[data-tone=dark] .contact-input{border:0;border-bottom:1px solid var(--contact-line);background:linear-gradient(var(--background), var(--background)) 0 100% / 0 2px no-repeat;height:56px;color:var(--background);caret-color:var(--background);transition:border-color var(--dur-ui) var(--ease-ui), background-size var(--dur-ui-slow) var(--ease-ui);border-radius:0;padding:0;font-size:max(18px,1.38889vw);font-weight:300}@media (hover:hover) and (pointer:fine){.contact[data-tone=dark] .contact-input:hover{border-color:var(--background)}}.contact[data-tone=dark] .contact-input:focus-visible{background-size:100% 2px;outline:none}.contact[data-tone=dark] .contact-input[aria-invalid=true]{border-style:dashed;border-width:0 0 1px;border-color:var(--background);padding-inline:0}.contact[data-tone=dark] .contact-input:-webkit-autofill{-webkit-text-fill-color:var(--background);-webkit-box-shadow:0 0 0 100px var(--foreground) inset;transition:background-color 600000s}.contact[data-tone=dark] .contact-actions{margin-block-start:4px}.contact[data-tone=dark] .contact-submit{height:56px;padding-inline:28px;font-size:16px}.contact[data-tone=dark] .contact-promise,.contact[data-tone=dark] .contact-privacy{color:var(--contact-soft)}.contact[data-tone=dark] .contact-privacy strong{color:var(--background)}.contact[data-tone=dark] .contact-message{border-color:var(--background);background:color-mix(in srgb, var(--background) 6%, var(--foreground))}.contact[data-tone=dark] .contact-alts>li{border-color:var(--contact-line)}.contact[data-tone=dark] .contact-alt-big{gap:6px;padding-block:max(20px,1.94444vw)}.contact[data-tone=dark] .contact-alt-big .contact-alt-title{letter-spacing:-.035em;align-items:center;gap:.18em;font-size:clamp(36px,3.75vw,77px);font-weight:400;line-height:1;display:inline-flex}.contact-alt-arrow{fill:none;stroke:currentColor;stroke-width:1.5px;width:.5em;height:.5em;transition:transform var(--dur-ui) var(--ease-ui)}.contact[data-tone=dark] .contact-alt:focus-visible .contact-alt-arrow{transform:translate(var(--arrow-shift), calc(-1 * var(--arrow-shift)))}@media (hover:hover) and (pointer:fine){.contact[data-tone=dark] .contact-alt:hover .contact-alt-arrow{transform:translate(var(--arrow-shift), calc(-1 * var(--arrow-shift)))}}.contact[data-tone=dark] .contact-alt-text{color:var(--contact-soft)}@media (hover:hover) and (pointer:fine){.contact[data-tone=dark] .contact-alt:hover .contact-alt-text{color:var(--background)}}@media (prefers-reduced-motion:reduce){.contact-input,.contact-need,.contact[data-tone=dark] .contact-input,.contact[data-tone=dark] .contact-need,.contact-alt-arrow,.contact-more-icon,.contact-step-bars>span,.contact-error,.contact-message{transition:none}.contact-need:has(input:checked){animation:none}.contact-form[aria-busy=true] .contact-submit:after{opacity:.5;width:100%;animation:none;transform:none}}
