/* Public contact — controlled inquiry routing */
:root {
  --contact-green:#67f2a0;
  --contact-blue:#67c7ff;
  --contact-white:#dfe8ea;
  --contact-warn:#e5b56c;
  --contact-ease:cubic-bezier(.16,1,.3,1);
}
.ph {
  min-height:720px;display:flex;align-items:center;
  background:linear-gradient(112deg,#080b0d 0%,#0b0f14 55%,#091116 100%);
}
.ph::after {
  background:
    linear-gradient(90deg,rgba(8,11,13,.98) 4%,rgba(8,11,13,.82) 47%,rgba(8,11,13,.18) 80%,rgba(8,11,13,.6)),
    radial-gradient(circle at 79% 47%,rgba(103,199,255,.055),transparent 35%);
}
.ph-inner { max-width:1200px;width:100%;padding-right:min(44vw,540px); }
.ph-h1 { font-size:clamp(3.2rem,7vw,6.8rem);letter-spacing:-.05em;line-height:.84; }
.ph-h1 .lo { color:var(--contact-white);opacity:.72; }
.motion-ready .ph-bc,.motion-ready .ph-div,.motion-ready .ph-h1,.motion-ready .ph-sub { animation:none;opacity:1; }

.contact-router {
  position:absolute;z-index:2;right:clamp(1rem,5vw,6rem);top:50%;width:clamp(390px,44vw,650px);
  aspect-ratio:1;transform:translateY(-47%);pointer-events:none;opacity:.8;
  -webkit-mask-image:radial-gradient(circle,#000 58%,transparent 80%);
  mask-image:radial-gradient(circle,#000 58%,transparent 80%);
}
.contact-router svg { width:100%;height:100%;overflow:visible; }
.contact-grid,.contact-frame,.contact-route,.contact-gate { fill:none;vector-effect:non-scaling-stroke; }
.contact-grid { stroke:rgba(223,232,234,.05);stroke-width:.6; }
.contact-frame { stroke:rgba(223,232,234,.25);stroke-width:.85; }
.contact-route.green { stroke:rgba(103,242,160,.5);stroke-width:1.1; }
.contact-route.blue { stroke:rgba(103,199,255,.5);stroke-width:1.1; }
.contact-gate { stroke:rgba(223,232,234,.52);stroke-width:1.2; }
.contact-node { fill:#091015;stroke:var(--contact-white);stroke-width:1; }
.contact-core { fill:rgba(103,199,255,.06);stroke:var(--contact-blue);stroke-width:1.2; }
.motion-ready .contact-frame,.motion-ready .contact-route,.motion-ready .contact-gate { stroke-dasharray:1200;stroke-dashoffset:1200;animation:contactTrace 1.4s .32s var(--contact-ease) forwards; }
.motion-ready .contact-route { animation-delay:.62s; }
.motion-ready .contact-node,.motion-ready .contact-core { animation:contactAcquire .48s .95s backwards var(--contact-ease);transform-box:fill-box;transform-origin:center; }
@keyframes contactTrace { to{stroke-dashoffset:0} }
@keyframes contactAcquire { from{opacity:0;transform:scale(.45)} }
.contact-readout { position:absolute;right:6%;bottom:9%;padding:.42rem .65rem;border-left:1px solid rgba(103,199,255,.25);font:500 .5rem/1.7 'Share Tech Mono',monospace;letter-spacing:.16em;color:rgba(223,232,234,.48); }

#contact-hero-field,#contact-intake-field { position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
.contact-section { position:relative;overflow:hidden;padding-top:7rem;padding-bottom:7rem;background:linear-gradient(135deg,#0c1113,var(--bg2) 56%,#0a1015); }
.contact-section .pgi { position:relative;z-index:2; }
.contact-section .g2 { grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:clamp(3rem,6vw,6rem); }
.contact-context .notice { border-color:rgba(103,242,160,.12);background:linear-gradient(90deg,rgba(103,242,160,.035),transparent); }
.contact-context .panel,.contact-panel {
  position:relative;overflow:hidden;border-color:rgba(223,232,234,.1);
  background:linear-gradient(145deg,rgba(19,25,28,.97),rgba(10,14,18,.96));
  clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,15px 100%,0 calc(100% - 15px));
}
.contact-context .panel::before { content:'ROUTE';position:absolute;right:.8rem;top:.55rem;font:800 4.8rem/1 'Exo 2',sans-serif;color:var(--contact-white);opacity:.02; }
.contact-context .prow { transition:padding-left .3s var(--contact-ease),background-color .3s; }
.contact-context .prow:hover { padding-left:.55rem;background:rgba(223,232,234,.015); }
.contact-context .prow:nth-child(1) { border-left:2px solid rgba(103,242,160,.45); }
.contact-context .prow:nth-child(2) { border-left:2px solid rgba(103,199,255,.45); }
.contact-context .prow:nth-child(3) { border-left:2px solid rgba(141,134,255,.45); }
.contact-context .prow:nth-child(4) { border-left:2px solid rgba(255,173,82,.45); }
.contact-context .prow:nth-child(5) { border-left:2px solid rgba(223,232,234,.24); }

.contact-panel { box-shadow:0 24px 90px rgba(0,0,0,.2); }
.contact-panel::before { content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(var(--contact-blue),var(--contact-green),transparent);opacity:.52; }
.contact-panel .ptop { justify-content:space-between;background:linear-gradient(90deg,rgba(103,199,255,.03),rgba(103,242,160,.02)); }
.contact-panel .pdot-b { animation:none;box-shadow:0 0 0 3px rgba(103,199,255,.07); }
#contact-form { counter-reset:contact-field;padding:2.2rem 2.4rem!important; }
#contact-form .fg { counter-increment:contact-field;position:relative;padding-left:2.3rem; }
#contact-form .fg::before { content:'0' counter(contact-field);position:absolute;left:0;top:.12rem;font:500 .56rem/1 'Share Tech Mono',monospace;letter-spacing:.08em;color:var(--dim);transition:color .25s; }
#contact-form .fg:focus-within::before { color:var(--contact-blue); }
.fl { color:var(--mid);transition:color .25s; }
.fg:focus-within .fl { color:var(--contact-white); }
.fi {
  border-color:rgba(223,232,234,.1);background:rgba(4,8,11,.36);
  transition:border-color .28s,background-color .28s,box-shadow .28s,transform .28s var(--contact-ease);
}
.fi:focus { border-color:rgba(103,199,255,.42);background:rgba(8,15,20,.72);box-shadow:inset 2px 0 0 var(--contact-blue),0 0 0 3px rgba(103,199,255,.045);transform:translateX(2px); }
.fi:user-invalid { border-color:rgba(255,107,107,.45);box-shadow:inset 2px 0 0 #ff6b6b; }
.fi:disabled { opacity:1;color:var(--mid);-webkit-text-fill-color:var(--mid);background:rgba(223,232,234,.018);border-color:rgba(223,232,234,.065); }
.fi:disabled::placeholder { color:var(--dim);opacity:.9; }
.contact-consent { margin-left:2.3rem;padding:1rem;border:1px solid rgba(223,232,234,.07);background:rgba(223,232,234,.012); }
.contact-consent input:focus-visible { outline:2px solid var(--contact-blue);outline-offset:3px; }
.contact-consent a,.lnote a { color:var(--contact-blue); }
.f-btn { position:relative;overflow:hidden;background:linear-gradient(90deg,var(--contact-white),#c9d7dc);transition:transform .3s var(--contact-ease),background-color .3s,opacity .3s; }
.f-btn:not(:disabled):hover { transform:translateY(-2px); }
.f-btn:disabled { opacity:1;color:var(--mid);background:rgba(223,232,234,.055);border:1px solid rgba(223,232,234,.08); }
.f-ok { border-color:rgba(229,181,108,.2);background:rgba(229,181,108,.035);color:var(--contact-warn); }
.f-ok.is-error { border-color:rgba(255,61,61,.32);color:#ff6b6b; }
.contact-panel.intake-live::before { background:var(--contact-green);opacity:.8; }
.contact-panel.intake-live .f-ok { border-color:rgba(103,242,160,.2);color:var(--contact-green);background:rgba(103,242,160,.035); }
.lfoot { background:rgba(223,232,234,.012); }

[data-theme="light"] .ph { background:linear-gradient(112deg,#e9efed,#e7edf0 55%,#dfeaf0); }
[data-theme="light"] .ph::after { background:linear-gradient(90deg,rgba(240,243,245,.98) 4%,rgba(240,243,245,.78) 48%,rgba(240,243,245,.14) 80%,rgba(240,243,245,.5)); }
[data-theme="light"] .contact-router { opacity:.48; }
[data-theme="light"] .contact-grid { stroke:rgba(28,69,76,.08); }
[data-theme="light"] .contact-frame,[data-theme="light"] .contact-gate { stroke:rgba(28,69,76,.36); }
[data-theme="light"] .contact-route.green { stroke:rgba(0,122,67,.5); }
[data-theme="light"] .contact-route.blue { stroke:rgba(0,100,158,.5); }
[data-theme="light"] .contact-node { fill:#e6edef;stroke:#31545a; }
[data-theme="light"] .contact-core { fill:rgba(0,100,158,.05);stroke:#00649e; }
[data-theme="light"] .contact-readout { color:rgba(28,69,76,.58);border-color:rgba(0,100,158,.24); }
[data-theme="light"] .contact-section { background:linear-gradient(135deg,#e4ece9,var(--bg2) 56%,#dee8ed); }
[data-theme="light"] .contact-context .panel,[data-theme="light"] .contact-panel { background:linear-gradient(145deg,rgba(249,252,251,.98),rgba(218,228,231,.94));border-color:rgba(28,69,76,.13); }
[data-theme="light"] .fi { background:rgba(255,255,255,.5);border-color:rgba(28,69,76,.14); }
[data-theme="light"] .fi:disabled { background:rgba(28,69,76,.025);border-color:rgba(28,69,76,.08); }
[data-theme="light"] .contact-consent { background:rgba(28,69,76,.02);border-color:rgba(28,69,76,.09); }
[data-theme="light"] .f-btn:disabled { background:rgba(28,69,76,.06);border-color:rgba(28,69,76,.1); }

@media(max-width:1000px){.ph-inner{padding-right:0}.contact-router{right:-18%;width:74vw;opacity:.14}.ph{min-height:680px}.contact-section .g2{grid-template-columns:1fr}}
@media(max-width:700px){.contact-router{right:-50%;width:115vw;opacity:.085}#contact-form{padding:1.5rem!important}#contact-form .fg{padding-left:1.7rem}.contact-consent{margin-left:1.7rem}}
@media(prefers-reduced-motion:reduce){.motion-ready .contact-frame,.motion-ready .contact-route,.motion-ready .contact-gate,.motion-ready .contact-node,.motion-ready .contact-core{animation:none;stroke-dashoffset:0}}
