.contact-surface{--contact-inset:clamp(20px, 2.25vw, 40px);border-bottom:1px solid var(--color-infra-line)}.contact-surface .contact-head{grid-template-columns:var(--contact-heading-width,minmax(0, 1fr)) minmax(0, 1fr);border-bottom:1px solid var(--color-infra-line);display:grid}.contact-surface .contact-heading{padding:32px var(--contact-inset)}.contact-surface .contact-heading h1{text-wrap:balance;max-width:18ch;font-size:clamp(38px,3.8vw,62px)}.contact-surface .contact-heading>p{max-width:46ch;color:var(--color-infra-muted);margin-top:24px;font-size:17px;line-height:1.5}.contact-surface .contact-information{grid-template-columns:var(--contact-mail-width,1.1fr) var(--contact-phone-width,.95fr) minmax(0, .95fr);display:grid}.contact-surface .contact-information>div{border-left:1px solid var(--color-infra-line);flex-direction:column;justify-content:space-between;gap:32px;min-width:0;padding:32px clamp(16px,1.4vw,28px);display:flex}.contact-surface .contact-information a,.contact-surface .contact-information>div>p:last-child{overflow-wrap:anywhere;font-size:clamp(14px,1.1vw,17px);line-height:1.5}.contact-surface .contact-information a{align-items:center;min-height:44px;transition:color .2s;display:flex}.contact-surface .contact-information a:hover{color:var(--color-infra-signal)}.contact-surface .contact-main{grid-template-columns:var(--contact-heading-width,minmax(0, 1fr)) minmax(0, 1fr);display:grid}.contact-surface .diagnostic-form{border-left:1px solid var(--color-infra-line);min-width:0;scroll-margin-top:calc(var(--infra-header-height) + 32px)}.contact-surface .contact-form-heading{padding:28px var(--contact-inset);border-bottom:1px solid var(--color-infra-line)}.contact-surface .contact-form-heading h2{font:500 clamp(24px, 2.3vw, 36px)/1.05 var(--font-display);text-transform:uppercase;letter-spacing:-.035em}.contact-surface .contact-form-heading p{color:var(--color-infra-muted);margin-top:12px;font-size:12px;line-height:1.5}.contact-surface .contact-drawing{order:-1;min-width:0}.contact-surface .contact-drawing-inner{top:calc(var(--infra-header-height) + var(--infra-gutter));height:min(85svh,820px);display:grid;position:sticky;overflow:hidden}.contact-surface .contact-study{opacity:0;grid-area:1/1;min-height:0;transition:opacity .4s,transform .4s;transform:scale(.85)}.contact-surface .contact-study.is-active{opacity:1;transform:scale(1)}.contact-surface .form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-surface .form-status{padding:24px var(--contact-inset);border-bottom:1px solid var(--color-infra-line);scroll-margin-top:calc(var(--infra-header-height) + 32px);font-size:15px;line-height:1.6}.contact-surface .form-status[hidden],.contact-surface .form-status [hidden]{display:none}.contact-surface .form-status strong{display:block}.contact-surface .form-status a{text-decoration:underline}.contact-surface .form-status-error{color:var(--color-infra-signal)}.contact-surface .diagnostic-form[data-contact-state=success]>:not(.form-status){display:none}.contact-surface .form-status[data-state=success]{background:var(--color-infra-ink);height:100%;min-height:420px;color:var(--color-infra-paper);border-bottom:0;align-items:center;padding-block:clamp(40px,5vw,72px);display:flex}.contact-surface .form-status[data-state=success]:focus-visible{outline:2px solid var(--color-infra-paper);outline-offset:-8px}.contact-surface .form-status-success{width:100%;min-width:0}.contact-surface .contact-success-mark{background:var(--color-infra-signal);color:var(--color-infra-ink);margin-bottom:28px;display:block}.contact-surface .form-status-success h2{max-width:18ch;font:500 clamp(32px, 3.5vw, 52px)/1.06 var(--font-display);letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}.contact-surface .form-status-success p{max-width:40ch;margin-top:24px;font-size:clamp(16px,1.3vw,19px);line-height:1.6}.contact-surface .form-status-success .contact-status-return{max-width:100%;min-height:44px;color:inherit;font:400 13px/1.5 var(--font-mono);text-underline-offset:5px;align-items:center;gap:20px;margin-top:32px;text-decoration-thickness:1px;display:inline-flex}.contact-surface .contact-status-return svg{flex-shrink:0}.contact-surface .contact-status-return:hover{text-decoration-thickness:2px}.contact-surface .contact-status-return:focus-visible{outline:2px solid var(--color-infra-paper);outline-offset:5px}.contact-surface .form-block{border:0;min-width:0;margin:0;padding:0}.contact-surface .project-choice{padding:24px var(--contact-inset);border-bottom:1px solid var(--color-infra-line)}.contact-surface .project-choice legend{float:left;width:100%;font:400 11px/1.6 var(--font-mono);text-transform:uppercase}.contact-surface .project-choice legend>span{color:var(--color-infra-muted)}.contact-surface .project-options{clear:both;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;padding-top:12px;display:grid}.contact-surface .project-option{cursor:pointer;min-width:0;position:relative}.contact-surface .project-option input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.contact-surface .project-tag{align-items:center;gap:10px;min-height:44px;font-size:14px;line-height:1.4;display:flex}.contact-surface .project-check{border:1px solid var(--color-infra-muted);flex-shrink:0;place-items:center;width:16px;height:16px;transition:background .2s;display:grid}.contact-surface .project-check:after{content:"✓";opacity:0;font-size:12px;line-height:1}.contact-surface .project-option input:checked+.project-tag .project-check{background:var(--color-infra-ink);color:var(--color-infra-paper)}.contact-surface .project-option input:checked+.project-tag .project-check:after{opacity:1}.contact-surface .project-option input:focus-visible+.project-tag{outline:2px solid var(--color-infra-signal);outline-offset:3px}.contact-surface .fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-surface .wide-field{grid-column:1/-1}.contact-surface .contact-field{border-bottom:1px solid var(--color-infra-line);min-width:0;display:block;position:relative}.contact-surface .fields-grid>.contact-field:nth-child(2),.contact-surface .fields-grid>.contact-field:last-child:not(.wide-field){border-left:1px solid var(--color-infra-line)}.contact-surface .contact-field:after{content:"";background:var(--color-infra-ink);transform-origin:0;pointer-events:none;height:1px;transition:transform .4s;position:absolute;inset:auto 0 -1px;transform:scaleX(0)}.contact-surface .contact-field:focus-within:after{transform:scaleX(1)}.contact-surface .field-control{width:100%;min-height:88px;padding:34px var(--contact-inset) 14px;color:var(--color-infra-ink);font:400 20px/1.4 var(--font-sans);background:0 0;border:0;border-radius:0}.contact-surface .field-control::placeholder{color:#0000}.contact-surface .field-control:focus::placeholder{color:var(--color-infra-muted)}.contact-surface .field-control:focus-visible{outline:2px solid var(--color-infra-signal);outline-offset:-5px}.contact-surface .contact-field>span{top:50%;left:var(--contact-inset);right:var(--contact-inset);transform-origin:0 0;pointer-events:none;font:500 20px/1.3 var(--font-display);letter-spacing:-.02em;color:var(--color-infra-muted);transition:top .3s,transform .3s,color .3s;position:absolute;transform:translateY(-50%)}.contact-surface .contact-field .field-control:is(:focus,:not(:placeholder-shown),:autofill)+span{color:var(--color-infra-muted);top:12px;transform:scale(.65)}.contact-surface .message-field>span{top:28px;transform:none}.contact-surface textarea.field-control{resize:vertical;min-height:172px;padding-top:46px;display:block}.contact-surface .timeline-field{border-bottom:1px solid var(--color-infra-line);position:relative}.contact-surface .timeline-field>label{top:12px;left:var(--contact-inset);z-index:1;color:var(--color-infra-muted);cursor:pointer;font-size:13px;line-height:1.5;position:absolute}.contact-surface .timeline-control{position:relative}.contact-surface .timeline-control [hidden]{display:none}.contact-surface .timeline-control select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23252622' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 28px center;background-repeat:no-repeat;padding-right:64px}.contact-surface .timeline-trigger{text-align:left;cursor:pointer;padding-right:64px;display:block;position:relative}.contact-surface .timeline-arrow{pointer-events:none;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.contact-surface .timeline-trigger[aria-expanded=true] .timeline-arrow{transform:translateY(-50%)rotate(180deg)}.contact-surface .timeline-options{z-index:10;border:1px solid var(--color-infra-line);background:var(--color-infra-paper);max-height:var(--timeline-menu-height,260px);overscroll-behavior:contain;padding:6px;position:absolute;inset:calc(100% + 1px) 0 auto;overflow-y:auto;box-shadow:0 12px 32px #25262218}.contact-surface .timeline-options[data-side=above]{inset:auto 0 calc(100% + 1px)}.contact-surface .timeline-option{min-height:44px;font:400 16px/1.45 var(--font-sans);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.contact-surface .timeline-option[aria-selected=true]{color:var(--color-infra-signal)}.contact-surface .timeline-option[data-active=true]{background:var(--color-infra-plane)}.contact-surface .timeline-check{visibility:hidden;flex-shrink:0;font-size:14px}.contact-surface .timeline-option[aria-selected=true] .timeline-check{visibility:visible}.contact-surface .contact-submit{isolation:isolate;width:100%;min-height:88px;padding:24px var(--contact-inset);border:0;border-bottom:1px solid var(--color-infra-line);color:var(--color-infra-signal);font:600 clamp(18px, 1.6vw, 24px)/1.2 var(--font-display);letter-spacing:-.025em;text-align:left;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:20px;transition:color .15s;display:flex;position:relative;overflow:hidden}.contact-surface .contact-submit:is([data-menu-state=entering],[data-menu-state=entered]){color:var(--color-infra-paper)}.contact-surface .contact-submit:is([data-menu-state=entered],[data-menu-state=leaving]){background:var(--color-infra-ink)}.contact-surface .contact-submit:focus-visible{background:var(--color-infra-ink);color:var(--color-infra-paper);outline:2px solid var(--color-infra-signal);outline-offset:-5px}.contact-surface .contact-submit:focus-visible .menu-motion-front{transform:none}.contact-surface .contact-submit:focus-visible .menu-motion-back{visibility:hidden}.contact-surface .form-submit p{padding:20px var(--contact-inset) 28px;color:var(--color-infra-muted);font-size:12px;line-height:1.6}.contact-surface .form-submit a{text-underline-offset:3px;text-decoration:underline}@media (hover:hover) and (pointer:fine){.contact-surface .contact-field:hover:after{transform:scaleX(1)}.contact-surface .project-option:hover .project-tag{color:var(--color-infra-signal)}.contact-surface .contact-submit:not([data-menu-ready]):hover{background:var(--color-infra-ink);color:var(--color-infra-paper)}}@media (width<=1199px){.contact-surface .contact-head{grid-template-columns:1fr}.contact-surface .contact-heading h1{max-width:22ch}.contact-surface .contact-information{border-left:0;border-top:1px solid var(--color-infra-line);grid-template-columns:repeat(3,minmax(0,1fr))}.contact-surface .contact-information>div{min-height:140px;padding:24px var(--contact-inset);gap:20px}.contact-surface .contact-information>div:first-child{border-left:0}.contact-surface .project-options{grid-template-columns:1fr;gap:0}}@media (width<=991px){.contact-surface .contact-main{grid-template-columns:1fr}.contact-surface .diagnostic-form{border-left:0}.contact-surface .contact-drawing{display:none}.contact-surface .project-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}}@media (width<=767px){.contact-surface{--contact-inset:16px}.contact-surface .contact-heading{padding-block:32px}.contact-surface .contact-heading h1{font-size:clamp(34px,8vw,48px)}.contact-surface .contact-heading>p{margin-top:20px;font-size:16px}.contact-surface .contact-information{grid-template-columns:1fr}.contact-surface .contact-information>div{padding:20px var(--contact-inset);border-left:0;gap:8px;min-height:0}.contact-surface .contact-information>div+div{border-top:1px solid var(--color-infra-line)}.contact-surface .contact-information a,.contact-surface .contact-information>div>p:last-child{font-size:16px}.contact-surface .contact-form-heading{padding-block:24px}.contact-surface .project-options{gap:4px 12px}.contact-surface .project-tag{font-size:13px}.contact-surface .fields-grid{grid-template-columns:1fr}.contact-surface .fields-grid>.contact-field:nth-child(2),.contact-surface .fields-grid>.contact-field:last-child:not(.wide-field){border-left:0}.contact-surface .field-control{min-height:76px;padding-top:32px;font-size:18px}.contact-surface .contact-field>span{font-size:18px}.contact-surface .contact-field .field-control:is(:focus,:not(:placeholder-shown),:autofill)+span{transform:scale(.72)}.contact-surface textarea.field-control{min-height:160px;padding-top:44px}.contact-surface .contact-submit{min-height:76px}}@media (prefers-reduced-motion:reduce){.contact-surface :is(.contact-study,.project-check,.contact-field>span,.contact-information a,.contact-submit),.contact-surface .contact-field:after{transition:none}.contact-surface .contact-study{transform:none}}
