.contact{isolation:isolate;background:var(--about-bg-end);padding-top:clamp(2rem,5vw,5rem);padding-bottom:clamp(3rem,5vw,5rem);position:relative;overflow-x:clip}.contact-label{font-family:var(--font-mono), monospace;font-size:var(--work-meta-size);letter-spacing:.08em;text-transform:uppercase;color:var(--color-nav);font-weight:600;line-height:1.3}.contact-body{padding:clamp(1.5rem, 3vw, 3rem) var(--grid-margin) 0;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:relative}.contact-body-label{grid-column:1/-1;margin:0 0 1.25rem}.contact-title{font-family:var(--font-sans), Arial, Helvetica, sans-serif;letter-spacing:-.015em;text-wrap:balance;color:var(--color-ink);grid-column:1/-1;margin:0;font-size:clamp(2.2rem,11.5vw,3.6rem);font-weight:500;line-height:1.08}.contact-reply{font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-lead);grid-column:1/-1;margin:1.25rem 0 0;font-size:1.0625rem;font-weight:500;line-height:1.6}.contact-form-col{grid-column:1/-1;margin-top:clamp(2.5rem,6vw,4.5rem)}@media (min-width:1024px){.contact-body-label{grid-column:1/2;margin:0;padding-top:.9em}.contact-title{font-size:calc(5.4 * var(--about-u));grid-column:2/7}.contact-reply{margin-top:calc(1.6 * var(--about-u));font-size:max(15px, calc(1.5 * var(--about-u)));grid-column:2/6}.contact-form-col{margin-top:calc(5 * var(--about-u));grid-column:2/7}}.contact-form-root{position:relative}.contact-form{grid-template-columns:minmax(0,1fr);row-gap:clamp(2.75rem,3.6vw,3.5rem);display:grid;position:relative}@media (min-width:768px){.contact-form{column-gap:calc(var(--grid-col) * .5);grid-template-columns:repeat(2,minmax(0,1fr))}.contact-field--wide,.contact-types,.contact-consent,.contact-actions{grid-column:1/-1}}.contact-field{min-width:0;position:relative}.contact-field-label{font-family:var(--font-mono), monospace;font-size:var(--work-meta-size);letter-spacing:.08em;text-transform:uppercase;color:var(--color-nav);flex-wrap:wrap;align-items:baseline;gap:.25rem .9rem;margin:0 0 .55rem;padding:0;font-weight:600;line-height:1.3;transition:color .35s;display:flex}.contact-field:focus-within .contact-field-label{color:var(--color-ink)}.contact-optional{opacity:.6;letter-spacing:.06em;font-weight:400}.contact-field input,.contact-field textarea{width:100%;min-width:0;color:var(--color-ink);font-family:var(--font-sans), Arial, Helvetica, sans-serif;caret-color:var(--color-ink);background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:.35em 0 .5em;font-size:clamp(1.25rem,5.2vw,1.5rem);font-weight:500;line-height:1.3;display:block}@media (min-width:1024px){.contact-field input,.contact-field textarea{font-size:calc(2 * var(--about-u))}}.contact-field textarea{resize:none;min-height:2.9em;line-height:1.4;overflow:hidden}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#e7e7ea4d;opacity:1}.contact-field input:-webkit-autofill{-webkit-text-fill-color:var(--color-ink);box-shadow:0 0 0 100px var(--about-bg-end) inset;transition:background-color 9999s}.contact-field:before,.contact-field:after{content:"";height:1px;position:absolute;bottom:0;left:0;right:0}.contact-field:before{background:#fff3}.contact-field:after{background:var(--color-ink);transform-origin:0;transition:transform .55s cubic-bezier(.22,1,.36,1);transform:scaleX(0)}.contact-field:focus-within:after{transform:scaleX(1)}.contact-field:has([aria-invalid=true]):after{transform:scaleX(1)}.contact-field:focus-within:after{height:2px}.contact-field:has([aria-invalid=true]):not(:focus-within):after{background:#e7e7ea99}.contact-error{font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-ink);margin:0;padding-left:1.1em;font-size:.9375rem;font-weight:500;line-height:1.35;animation:.4s cubic-bezier(.22,1,.36,1) both contact-error-in;position:absolute;top:calc(100% + .6rem);left:0}.contact-error:before{content:"";background:var(--color-ink);width:6px;height:6px;position:absolute;top:.5em;left:0}@keyframes contact-error-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.contact-types{border:0;min-width:0;margin:0;padding:0}.contact-types .contact-field-label{margin-bottom:1rem}.contact-chips{flex-wrap:wrap;gap:.6rem;display:flex}.contact-chip{min-height:2.75rem;color:var(--color-nav);font-family:var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1c;border-radius:2px;padding:0 clamp(.85rem,1.1vw,1.3rem);font-size:clamp(13px,.85vw,16px);font-weight:600;transition:background-color .3s,color .3s,border-color .3s}@media (hover:hover){.contact-chip:hover{color:var(--color-ink);background:#ffffff1a}}.contact-chip[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--about-bg-end)}.contact-chip:focus-visible,.contact-check input:focus-visible+.contact-check-box,.contact-submit:focus-visible,.contact-consent a:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.contact-consent{position:relative}.contact-check{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.9rem;display:grid}.contact-check input{opacity:0;pointer-events:none;width:1.5rem;height:1.5rem;margin:0;position:absolute}.contact-check-box{background:#ffffff0e;border:1px solid #ffffff4d;border-radius:2px;width:1.5rem;height:1.5rem;margin-top:.1rem;transition:background-color .3s,border-color .3s;position:relative}.contact-check-box:after{content:"";border:solid var(--about-bg-end);border-width:0 2px 2px 0;width:.4rem;height:.75rem;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(45deg)scale(0)}.contact-check input:checked+.contact-check-box{background:var(--color-ink);border-color:var(--color-ink)}.contact-check input:checked+.contact-check-box:after{transform:translate(-50%,-50%)rotate(45deg)scale(1)}.contact-check input[aria-invalid=true]+.contact-check-box{border-color:var(--color-ink)}.contact-check-text{max-width:46rem;font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-lead);font-size:1rem;font-weight:500;line-height:1.5}.contact-consent a{color:var(--color-ink);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.contact-consent .contact-error{margin-top:.8rem;position:static}.contact-actions{flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;display:flex}.contact-submit{height:clamp(2.9rem,3vw,3.5rem);color:var(--color-nav);font-family:var(--font-mono), monospace;text-transform:uppercase;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1c;border-radius:2px;align-items:center;gap:12px;padding:0 clamp(.9rem,1vw,1.2rem);font-size:clamp(15px,1.05vw,20px);font-weight:600;transition:background-color .3s,color .3s;display:inline-flex}@media (hover:hover){.contact-submit:hover{color:var(--color-ink);background:#ffffff1a}}.contact-submit-dot{background:#e8e9e6;border-radius:9999px;width:9px;height:9px}.contact-submit[aria-busy=true]{cursor:progress;color:var(--color-ink)}.contact-submit[aria-busy=true] .contact-submit-dot{animation:.9s ease-in-out infinite alternate contact-pulse}@keyframes contact-pulse{0%{opacity:.5;transform:scale(.6)}to{opacity:1;transform:scale(1.25)}}.contact-form-error{max-width:34rem;font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-ink);margin:0;padding-left:1.1em;font-size:1rem;font-weight:500;line-height:1.4;animation:.4s cubic-bezier(.22,1,.36,1) both contact-error-in;position:relative}.contact-form-error:before{content:"";background:var(--color-ink);width:6px;height:6px;position:absolute;top:.5em;left:0}.contact-hp{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.contact-done{outline:none;justify-items:start;gap:1.25rem;padding-top:.5rem;display:grid}.contact-done-title{font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-ink);margin:0;font-size:clamp(1.8rem,7vw,2.75rem);font-weight:500;line-height:1.15}@media (min-width:1024px){.contact-done-title{font-size:calc(3.3 * var(--about-u))}}.contact-done-text{max-width:34rem;font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--color-lead);margin:0;font-size:1.0625rem;font-weight:500;line-height:1.6}.contact-submit--again{margin-top:1rem}@media (prefers-reduced-motion:reduce){.contact-error,.contact-form-error{animation:none}.contact-field:after,.contact-check-box:after{transition:none}.contact-submit[aria-busy=true] .contact-submit-dot{animation:none}}
.story{--story-h:clamp(22rem, calc(100svh - 15.5rem), 62rem);--story-ratio:120 / 70;--story-w:min(100%, calc(var(--story-h) * 120 / 70));z-index:1;padding:0 var(--grid-margin);position:relative}.story-stage{width:var(--story-w);aspect-ratio:var(--story-ratio);touch-action:pan-y;place-items:center;margin:0 auto;display:grid;position:relative}.story-stage canvas{display:block}.story-steps{width:var(--story-w);grid-template-columns:repeat(7,minmax(0,1fr));column-gap:clamp(.5rem,1vw,1rem);margin:clamp(.5rem,1.5vw,1.25rem) auto 0;padding:0;list-style:none;display:grid}.story-step{min-width:0}.story-step button{text-align:left;cursor:pointer;width:100%;min-height:44px;font-family:var(--font-mono), monospace;font-size:var(--work-meta-size);letter-spacing:.08em;text-transform:uppercase;color:var(--color-nav);-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;font-weight:600;line-height:1.3;transition:color .35s;display:block}.story-step button[data-active=true]{color:var(--color-ink)}@media (hover:hover){.story-step button:hover{color:var(--color-ink)}}.story-step button:focus-visible{outline:1px solid var(--color-ink);outline-offset:4px}.story-bar{background:#ffffff21;height:2px;margin-bottom:.7rem;display:block;overflow:hidden}.story-bar i{background:var(--color-ink);transform-origin:0;will-change:transform;height:100%;display:block;transform:scaleX(0)}.story-label{white-space:nowrap;text-overflow:clip;display:block;overflow:hidden}@media (max-width:1023px){.story{--story-ratio:96 / 70;--story-w:100%}.story-steps{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:.25rem}}@media (max-width:767px){.story{--story-ratio:68 / 70}.story-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.story-step button{padding-top:.25rem}}
