.techsite-contact-wrapper,.techsite-contact-wrapper *{box-sizing:border-box}.techsite-contact-wrapper{color:var(--ts-ink);background:var(--ts-bg)}.techsite-container{width:100%;max-width:var(--ts-shell);margin-inline:auto;padding-inline:var(--ts-gutter)}.techsite-hero{padding:var(--ts-s-7) 0 var(--ts-s-5)}.techsite-kicker{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 var(--ts-s-3);color:var(--ts-muted);font-size:var(--ts-fs-xs);font-weight:600;letter-spacing:var(--ts-track-caps);text-transform:uppercase}.techsite-kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--ts-yellow)}.techsite-hero h1{max-width:24ch;margin:0;color:var(--ts-ink);font-size:var(--ts-fs-4xl);font-weight:700;line-height:1.1;letter-spacing:-.025em;text-wrap:balance}.techsite-hero p{max-width:56ch;margin:var(--ts-s-3) 0 0;color:var(--ts-muted);font-size:var(--ts-fs-md);line-height:1.55}.techsite-pills{display:flex;flex-wrap:wrap;gap:var(--ts-s-2);margin-top:var(--ts-s-4)}.techsite-pill{display:inline-flex;align-items:center;gap:var(--ts-s-2);min-height:30px;padding:0 var(--ts-s-3);color:var(--ts-ink);font-size:var(--ts-fs-xs);font-weight:500;background:var(--ts-surface-2);border:1px solid var(--ts-line);border-radius:var(--ts-r-pill)}.techsite-pill svg{width:14px;height:14px;flex:none;color:var(--ts-ink)}.techsite-contact-stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--ts-s-4);align-items:stretch}.techsite-form-shell{padding:var(--ts-s-5);background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--ts-r-lg)}.techsite-form-head h2,.techsite-info-top h2,.techsite-map-copy h2{margin:0;font-size:var(--ts-fs-xl);font-weight:700;line-height:1.2;letter-spacing:-.015em}.techsite-form-head h2{color:var(--ts-ink)}.techsite-form-head p{margin:4px 0 var(--ts-s-4);color:var(--ts-muted);font-size:var(--ts-fs-sm)}.techsite-message-box{display:none;margin-bottom:var(--ts-s-3);padding:var(--ts-s-3);font-size:var(--ts-fs-sm);font-weight:500;line-height:1.5;border-radius:var(--ts-r-md)}.techsite-message-success{color:#14532d;background:#e8f9ee;border:1px solid #bbf0cd}.techsite-message-error{color:#991b1b;background:#fdecea;border:1px solid #f6c6c1}:root[data-theme="dark"] .techsite-message-success{color:#86efac;background:rgb(34 197 94 / .12);border-color:rgb(34 197 94 / .3)}:root[data-theme="dark"] .techsite-message-error{color:#fca5a5;background:rgb(239 68 68 / .12);border-color:rgb(239 68 68 / .3)}.techsite-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ts-s-3)}.techsite-form-group{display:grid;gap:6px;align-content:start}.techsite-form-group--wide{grid-column:1/-1}.techsite-form-group label{color:var(--ts-ink);font-size:var(--ts-fs-xs);font-weight:600}.techsite-form-group label small{color:var(--ts-muted);font-weight:400}.techsite-form-group input,.techsite-form-group textarea{width:100%;min-height:var(--ts-tap);padding:0 var(--ts-s-3);color:var(--ts-ink);font:400 var(--ts-fs-md)/1.4 var(--ts-font);background:var(--ts-surface-2);border:1px solid var(--ts-line);border-radius:var(--ts-r-md);transition:border-color var(--ts-dur-2) var(--ts-ease-out)}.techsite-form-group textarea{min-height:110px;padding:var(--ts-s-2) var(--ts-s-3);resize:vertical}.techsite-form-group input::placeholder,.techsite-form-group textarea::placeholder{color:var(--ts-muted);opacity:.75}.techsite-form-group input:focus,.techsite-form-group textarea:focus{border-color:var(--ts-ink);outline:0}:root[data-theme="dark"] .techsite-form-group input:focus,:root[data-theme="dark"] .techsite-form-group textarea:focus{border-color:var(--ts-yellow)}.techsite-submit-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:calc(var(--ts-tap) + 4px);margin-top:var(--ts-s-4);color:var(--ts-on-yellow);font:600 var(--ts-fs-sm)/1 var(--ts-font);cursor:pointer;background:var(--ts-yellow);border:0;border-radius:var(--ts-r-pill);transition:background-color var(--ts-dur-2) var(--ts-ease-out),transform var(--ts-dur-1) var(--ts-ease-out)}.techsite-submit-btn:hover{background:var(--ts-yellow-hover)}.techsite-submit-btn:active{transform:scale(.98)}.techsite-info-section{padding:var(--ts-s-5);color:#fff;background:var(--ts-night);border:1px solid var(--ts-night-line);border-radius:var(--ts-r-lg)}.techsite-info-top h2{color:#fff}.techsite-info-top p{margin:4px 0 var(--ts-s-3);color:rgb(255 255 255 / .7);font-size:var(--ts-fs-sm);line-height:1.5}.techsite-info-item{padding:var(--ts-s-3) 0;border-top:1px solid var(--ts-night-line)}.techsite-info-item h3{margin:0 0 3px;color:var(--ts-yellow);font-size:var(--ts-fs-xs);font-weight:600;letter-spacing:var(--ts-track-caps);text-transform:uppercase}.techsite-info-item p{margin:0;color:#fff;font-size:var(--ts-fs-md);line-height:1.5}.techsite-info-item a{color:#fff;text-decoration:none}.techsite-info-item a:hover{text-decoration:underline;text-underline-offset:3px}.techsite-map-section{padding:var(--ts-s-4) 0 var(--ts-s-9)}.techsite-map-float{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--ts-s-5);align-items:center;padding:var(--ts-s-5);background:var(--ts-surface-2);border-radius:var(--ts-r-lg)}.techsite-map-copy h2{color:var(--ts-ink)}.techsite-map-copy p{margin:var(--ts-s-2) 0 0;color:var(--ts-muted);font-size:var(--ts-fs-md);line-height:1.55}.techsite-map-copy p.strong{margin-top:var(--ts-s-3);color:var(--ts-ink);font-weight:600}.techsite-map-copy p.sub{margin-top:2px}.techsite-map-actions{display:flex;flex-wrap:wrap;gap:var(--ts-s-2);margin-top:var(--ts-s-4)}.techsite-map-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ts-s-2);min-height:var(--ts-tap);padding:0 1.1rem;font:600 var(--ts-fs-sm)/1 var(--ts-font);text-decoration:none;white-space:nowrap;border:1px solid #fff0;border-radius:var(--ts-r-pill);transition:background-color var(--ts-dur-2) var(--ts-ease-out),border-color var(--ts-dur-2) var(--ts-ease-out)}.techsite-map-btn svg{width:16px;height:16px}.techsite-map-btn.primary{color:var(--ts-on-yellow);background:var(--ts-yellow)}.techsite-map-btn.primary:hover{background:var(--ts-yellow-hover)}.techsite-map-btn.secondary{color:var(--ts-ink);background:#fff0;border-color:var(--ts-line)}.techsite-map-btn.secondary:hover{border-color:var(--ts-ink)}.techsite-map-card{position:relative;overflow:hidden;border-radius:var(--ts-r-lg);background:var(--ts-night)}.techsite-map-link{position:relative;display:block;aspect-ratio:16/8;color:#fff;text-decoration:none}.techsite-map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.techsite-map-overlay{position:absolute;inset:auto 0 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ts-s-3);padding:var(--ts-s-4);background:linear-gradient(0deg,rgb(0 0 0 / .78),transparent)}.techsite-map-overlay-text h3{margin:0;color:#fff;font-size:var(--ts-fs-md);font-weight:600}.techsite-map-overlay-text p{margin:2px 0 0;color:rgb(255 255 255 / .75);font-size:var(--ts-fs-sm)}.techsite-map-cta{flex:none;padding:7px 14px;color:var(--ts-on-yellow);font-size:var(--ts-fs-sm);font-weight:600;background:var(--ts-yellow);border-radius:var(--ts-r-pill)}@media (max-width:900px){.techsite-contact-stage,.techsite-map-float{grid-template-columns:1fr}.techsite-hero{padding-top:var(--ts-s-6)}}@media (max-width:560px){.techsite-form-grid{grid-template-columns:1fr}.techsite-map-link{aspect-ratio:4/3}.techsite-map-btn{flex:1 1 auto}}@media (prefers-reduced-motion:reduce){.techsite-submit-btn,.techsite-map-btn{transition:none}.techsite-submit-btn:active{transform:none}}.techsite-map-iframe{display:block;width:100%;height:100%;min-height:300px;border:0}.techsite-map-card .techsite-map-iframe{border-radius:var(--ts-r-lg)}