.contact-shell{align-items:start;gap:2.75rem;display:grid}@media (min-width:768px){.contact-shell{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:3.5rem 4rem}}.contact-intro{grid-template-columns:auto 1fr;gap:1.25rem;max-width:28rem;display:grid;position:relative}.contact-intro-rule{background:linear-gradient(to bottom, var(--pine), color-mix(in srgb, var(--pine) 10%, transparent));transform-origin:top;width:2px;min-height:7.5rem;margin-top:.35rem;animation:.9s cubic-bezier(.22,1,.36,1) both contact-rule}.contact-intro-copy{min-width:0}.contact-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.contact-title{font-family:var(--font-serif);letter-spacing:-.03em;text-wrap:balance;margin-top:.85rem;font-size:clamp(2.4rem,5vw,3.4rem);line-height:1.05}.contact-title-soft{color:var(--muted);font-style:italic;font-weight:400;display:inline}.contact-lede{max-width:26rem;color:var(--muted);margin-top:1.15rem;font-size:1.05rem;line-height:1.65}.contact-signals{gap:.75rem;margin-top:1.75rem;padding:0;list-style:none;display:grid}.contact-signals li{color:var(--ink);align-items:baseline;gap:.85rem;font-size:.9rem;line-height:1.45;display:flex}.contact-signal-index{font-family:var(--font-mono);letter-spacing:.12em;color:var(--pine);font-size:.7rem}.contact-panel{border:1px solid var(--line);background:linear-gradient(155deg, color-mix(in srgb, var(--paper-raised) 92%, var(--pine) 8%), var(--paper-raised) 42%);box-shadow:0 18px 40px -28px var(--shadow);padding:1.6rem 1.35rem 1.5rem;position:relative}@media (min-width:640px){.contact-panel{padding:2rem 2rem 1.75rem}}.contact-form-head{border-bottom:1px solid var(--line);margin-bottom:1.5rem;padding-bottom:1.15rem}.contact-form-lede{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.2rem;font-style:italic;line-height:1.4}.contact-fields{gap:1.35rem;display:grid}.contact-field{padding-top:1.15rem;position:relative}.contact-field.is-textarea{padding-top:1.35rem}.contact-label{z-index:1;color:var(--muted);pointer-events:none;transform-origin:0 0;font-size:.95rem;transition:transform .28s cubic-bezier(.22,1,.36,1),color .22s,font-size .22s;position:absolute;top:1.35rem;left:0}.contact-field.is-textarea .contact-label{top:1.55rem}.contact-field.is-active .contact-label,.contact-field:focus-within .contact-label{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-family:var(--font-mono);color:var(--pine);top:0;transform:none}.contact-control{width:100%;font:inherit;color:var(--ink);resize:vertical;background:0 0;border:0;border-radius:0;outline:none;padding:.55rem 0 .7rem;font-size:.98rem;transition:color .2s;display:block}.contact-field.is-textarea .contact-control{min-height:8.5rem;padding-top:.35rem}.contact-control:disabled{opacity:.65;cursor:wait}.contact-control::placeholder{color:#0000}.contact-field-line{background:var(--line);height:1px;display:block;position:relative;overflow:hidden}.contact-field-line:after{content:"";background:var(--pine);transform-origin:0;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scaleX(0)}.contact-field.is-active .contact-field-line:after,.contact-field:focus-within .contact-field-line:after{transform:scaleX(1)}.contact-field.is-invalid .contact-field-line{background:color-mix(in srgb, var(--oxide) 45%, var(--line))}.contact-field.is-invalid .contact-field-line:after{background:var(--oxide);transform:scaleX(1)}.contact-field.is-invalid .contact-label{color:var(--oxide)}.contact-field-error{color:var(--oxide);margin-top:.45rem;font-size:.82rem;line-height:1.4;animation:.35s cubic-bezier(.22,1,.36,1) both contact-fade-up}.contact-subjects{border:0;min-inline-size:0;margin:.15rem 0 0;padding:0}.contact-subjects-legend{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem;padding:0;font-size:.72rem}.contact-subject-row{flex-wrap:wrap;gap:.5rem;display:flex}.contact-subject{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 70%, transparent);min-height:2.4rem;color:var(--ink);padding:.45rem .9rem;font-size:.86rem;transition:background-color .25s,border-color .25s,color .25s,transform .25s cubic-bezier(.22,1,.36,1)}.contact-subject:hover{border-color:color-mix(in srgb, var(--ink) 45%, var(--line))}.contact-subject.is-selected{border-color:var(--pine);background:var(--pine);color:var(--pine-ink)}.contact-subject:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.contact-actions{border-top:1px solid var(--line);flex-direction:column;gap:.85rem;margin-top:1.75rem;padding-top:1.25rem;display:flex}@media (min-width:640px){.contact-actions{flex-direction:row;justify-content:space-between;align-items:center}}.contact-submit{background:var(--pine);min-height:2.85rem;color:var(--pine-ink);justify-content:center;align-items:center;padding:0 1.35rem;font-size:.92rem;display:inline-flex;position:relative;overflow:hidden}.contact-submit:before{content:"";background:linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--pine-ink) 16%, transparent) 48%, transparent 66%);transition:transform .55s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-120%)}@media (hover:hover) and (pointer:fine){.contact-submit:hover:before{transform:translate(120%)}.contact-subject:not(.is-selected):hover{transform:translateY(-1px)}}.contact-submit:disabled{cursor:wait;opacity:.68}.contact-submit:focus-visible{outline:2px solid var(--pine);outline-offset:3px}.contact-submit-label{z-index:1;align-items:center;gap:.5rem;display:inline-flex;position:relative}.contact-footnote{max-width:16rem;color:var(--muted);font-size:.75rem;line-height:1.45}@media (min-width:640px){.contact-footnote{text-align:right}}.contact-alert{border:1px solid color-mix(in srgb, var(--oxide) 35%, var(--line));background:color-mix(in srgb, var(--paper) 88%, var(--oxide) 12%);color:var(--oxide);outline:none;margin-top:1rem;padding:.8rem .95rem;font-size:.88rem;line-height:1.45;animation:.4s cubic-bezier(.22,1,.36,1) both contact-fade-up}.contact-success{align-content:start;gap:.35rem;min-height:22rem;padding-top:2.4rem;animation:.55s cubic-bezier(.22,1,.36,1) both contact-fade-up;display:grid}.contact-success-mark{border:1px solid color-mix(in srgb, var(--pine) 40%, var(--line));width:3rem;height:3rem;color:var(--pine);background:color-mix(in srgb, var(--paper-raised) 80%, var(--pine) 20%);justify-content:center;align-items:center;margin-bottom:.85rem;animation:.5s cubic-bezier(.22,1,.36,1) both contact-pop;display:inline-flex}.contact-success-title{font-family:var(--font-serif);letter-spacing:-.02em;margin-top:.55rem;font-size:clamp(1.9rem,3vw,2.4rem);line-height:1.15}.contact-success-copy{max-width:22rem;color:var(--muted);margin-top:.65rem;font-size:1rem;line-height:1.6}.contact-ghost-btn{border:1px solid var(--line);background:var(--paper);min-height:2.75rem;color:var(--ink);align-items:center;margin-top:1.5rem;padding:0 1.15rem;font-size:.9rem;display:inline-flex}.contact-ghost-btn:focus-visible{outline:2px solid var(--pine);outline-offset:2px}@keyframes contact-rule{0%{opacity:.2;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes contact-fade-up{0%{opacity:0;transform:translateY(.65rem)}to{opacity:1;transform:none}}@keyframes contact-pop{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.contact-intro-rule,.contact-field-error,.contact-alert,.contact-success,.contact-success-mark,.contact-field-line:after,.contact-label,.contact-subject,.contact-submit:before{transition:none!important;animation:none!important}.contact-intro-rule,.contact-field-line:after{transform:none}.contact-field.is-active .contact-field-line:after,.contact-field:focus-within .contact-field-line:after,.contact-field.is-invalid .contact-field-line:after{opacity:1;transform:none}}
