:root{--ct-side-w: 27rem;--ct-card-pad: clamp(var(--op-space-6),4vw,var(--op-space-16));--ct-rule: 1px;--ct-rule-focus: 2px;--ct-claim-size: clamp(var(--op-size-28),6vw,48px);--ct-claim-max: 17ch;--ct-msg-min: 7.5rem;--ct-box: 20px;--ct-detail-min: 11rem;--ct-claim-wide: 43px}body{margin: 0;background: var(--op-page);color: var(--op-ink);font-family: var(--op-font-sans);font-size: var(--op-fs-md);line-height: var(--op-leading-body);-webkit-font-smoothing: antialiased}.ct-page{max-width: var(--op-container);margin-inline: auto;padding-inline: var(--op-gutter);padding-block: var(--op-space-6) var(--op-space-16)}.ct-card{background: var(--op-surface);border: 1px solid var(--op-hairline);border-radius: var(--op-r-lg);box-shadow: var(--op-elevation-1);padding: var(--ct-card-pad)}.ct-grid{display: grid;gap: var(--op-space-10);align-items: start}@media (min-width: 1024px){.ct-claim{grid-area: claim}}.ct-claim{display: flex;flex-direction: column;gap: var(--op-space-8);align-items: flex-start}.ct-claim__h{margin: 0;font-size: var(--ct-claim-size);font-weight: var(--op-weight-bold);letter-spacing: var(--op-tracking-display);line-height: var(--op-leading-tight);text-wrap: balance}.ct-claim__rule{display: block;width: var(--op-rule-width);height: var(--op-tr-rule);border-radius: var(--op-r-xs);background: var(--op-accent)}.ct-form{display: grid}.ct-form__legend{margin: 0;font-size: var(--op-fs-xl);font-weight: var(--op-weight-bold);letter-spacing: var(--op-tracking-h2);line-height: var(--op-leading-tight)}.ct-field{display: grid}.ct-vh{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}.ct-field__label{font-family: var(--op-font-mono);font-size: var(--op-fs-xs);font-weight: var(--op-weight-semibold);letter-spacing: var(--op-tracking-caps);text-transform: uppercase;color: var(--op-text-2)}.ct-input{width: 100%;min-height: var(--op-touch);padding: var(--op-space-2) 0;border: 0;border-bottom: var(--ct-rule) solid var(--op-border);border-radius: 0;background: transparent;color: var(--op-ink);font-family: inherit;font-size: var(--op-fs-lg);line-height: var(--op-leading-body);transition: border-color var(--op-dur-base) var(--op-ease)}.ct-input:hover{border-bottom-color: var(--op-text-3)}.ct-input:focus-visible{outline: none;border-bottom-color: var(--op-teal-active);border-bottom-width: var(--ct-rule-focus);padding-bottom: calc(var(--op-space-2) - (var(--ct-rule-focus) - var(--ct-rule)))}.ct-input--message{min-height: var(--ct-msg-min);resize: vertical}.ct-consent{display: grid;grid-template-columns: auto minmax(0,1fr);gap: var(--op-space-4);align-items: center;padding: var(--op-space-4);border-radius: var(--op-r-sm);background: var(--op-teal-wash)}.ct-consent__box{width: var(--ct-box);height: var(--ct-box);margin: 0;accent-color: var(--op-teal-active);align-self: center}.ct-consent__text{font-size: var(--op-fs-base);line-height: var(--op-leading-body);color: var(--op-text-2);min-height: var(--op-touch);padding-block: var(--op-space-2)}.ct-act{display: flex}.ct-cta{display: inline-flex;align-items: center;justify-content: center;width: 100%;min-height: var(--op-touch);padding-inline: var(--op-space-8);border: 0;border-radius: var(--op-r-pill);background: var(--op-cta);color: var(--op-on-ink-body);font-family: inherit;font-size: var(--op-fs-md);font-weight: var(--op-weight-semibold);cursor: pointer;transition: background var(--op-dur-base) var(--op-ease)}.ct-cta:hover{background: var(--op-cta-hover)}.ct-cta:active{background: var(--op-cta-active)}.ct-cta:focus-visible{outline: var(--op-focus-ring) solid var(--op-teal-active);outline-offset: var(--op-space-1)}@media (min-width: 1024px){.ct-act{justify-content: flex-end}.ct-cta{width: auto;min-height: var(--op-control)}}.ct-hp{position: absolute;left: -9999px}@media (prefers-reduced-motion: reduce){.ct-input,.ct-cta{transition: none}}.ct-input::placeholder{color: var(--op-text-2)}.ct-consent__text a{color: inherit;text-decoration: underline;text-decoration-color: var(--op-teal);text-underline-offset: 3px}.ct-consent__text a:hover{color: var(--op-teal)}.ct-claim{margin-bottom: var(--op-space-12)}.ct-claim__h{max-width: none}@media (min-width: 1024px){.ct-claim__h{font-size: var(--ct-claim-wide)}.ct-details{grid-area: details}.ct-formwrap{grid-area: form}}.ct-details{display: grid;gap: var(--op-space-6)}.ct-details__label{margin: 0 0 var(--op-space-3);font-family: var(--op-font-mono);font-size: var(--op-fs-xs);font-weight: var(--op-weight-semibold);letter-spacing: var(--op-tracking-caps);text-transform: uppercase;color: var(--op-text-2)}.ct-details__list{list-style: none;margin: 0;padding: 0;display: grid;gap: 0}.ct-details__list li{font-size: var(--op-fs-md);line-height: var(--op-leading-body);color: var(--op-text-2)}.ct-details__list li + li{font-family: var(--op-font-mono);font-size: var(--op-fs-sm)}.ct-details__list li:first-child{color: var(--op-ink);font-weight: var(--op-weight-medium)}.ct-details__list a{color: inherit;text-decoration: none}.ct-details__list a:hover{color: var(--op-teal);text-decoration: underline}@media (pointer: coarse){.ct-details__list a{display: inline-flex;align-items: center;min-height: var(--op-touch)}}:root{--ct-err-mark: 16px;--ct-sent-mark: 48px;--ct-spinner: 18px}.ct-field{gap: 0}.ct-err,.ct-note{display: grid;grid-template-rows: 0fr;opacity: 0;visibility: hidden;transform: translateY(calc(-1 * var(--op-space-1)));transition: grid-template-rows var(--op-dur-panel) var(--op-ease-soft),margin var(--op-dur-panel) var(--op-ease-soft),opacity var(--op-dur-slow) var(--op-ease-soft),transform var(--op-dur-panel) var(--op-ease-soft),visibility 0s linear var(--op-dur-panel)}.ct-form{gap: 0}.ct-form > .ct-field,.ct-form > .ct-act{margin-top: var(--op-space-8)}.ct-form > .ct-field--email{margin-top: 0}.ct-note{margin-top: 0}.ct-field.is-invalid .ct-err,.op-block--contact.is-throttled .ct-note--throttled,.op-block--contact.is-failed .ct-note--failed{grid-template-rows: 1fr;opacity: 1;visibility: visible;transform: none;transition-delay: 0s}.op-block--contact.is-throttled .ct-note--throttled,.op-block--contact.is-failed .ct-note--failed{margin-top: var(--op-space-8)}.ct-err__clip{min-height: 0;overflow: hidden}.ct-err__text{display: flex;gap: var(--op-space-2);align-items: flex-start;margin: 0;font-size: var(--op-fs-sm);line-height: var(--op-leading-body);color: var(--op-down)}.ct-err .ct-err__text{padding-top: var(--op-space-2)}.ct-err__text::before{content: "!";flex: none;display: grid;place-items: center;width: var(--ct-err-mark);height: var(--ct-err-mark);margin-top: calc((1lh - var(--ct-err-mark)) / 2);border-radius: 50%;background: var(--op-down);color: var(--op-ink-on-ground);font-size: var(--op-fs-xs);font-weight: var(--op-weight-bold);line-height: 1}.ct-note .ct-err__text{padding: var(--op-space-3) var(--op-space-4);border-radius: var(--op-r-sm);background: var(--op-down-surface)}.ct-field.is-invalid .ct-input,.ct-field.is-invalid .ct-input:hover{border-bottom-color: var(--op-down);border-bottom-width: var(--ct-rule-focus);padding-bottom: calc(var(--op-space-2) - (var(--ct-rule-focus) - var(--ct-rule)))}.ct-field.is-invalid .ct-input:focus-visible{border-bottom-color: var(--op-down)}.ct-consent{transition: background-color var(--op-dur-panel) var(--op-ease-soft),box-shadow var(--op-dur-panel) var(--op-ease-soft)}.ct-field--consent.is-invalid .ct-consent{background: var(--op-down-surface);box-shadow: inset 0 0 0 1px var(--op-down)}.ct-cta{position: relative}.ct-cta__label{transition: opacity var(--op-dur-base) var(--op-ease-soft)}.ct-cta[aria-busy="true"]{cursor: progress}.ct-cta[aria-busy="true"] .ct-cta__label{opacity: 0}.ct-cta[aria-busy="true"]::after{content: "";position: absolute;inset: 0;width: var(--ct-spinner);height: var(--ct-spinner);margin: auto;border: 2px solid currentColor;border-right-color: transparent;border-radius: 50%;animation: ct-spin .7s linear infinite}.ct-form{transition: opacity var(--op-dur-slow) var(--op-ease-soft),transform var(--op-dur-slow) var(--op-ease-soft)}.op-block--contact.is-leaving .ct-form{opacity: 0;transform: translateY(calc(-1 * var(--op-space-3)));pointer-events: none}.ct-formwrap.is-resizing{overflow: hidden;transition: height var(--op-dur-reveal) var(--op-ease-soft)}.ct-sent{display: none}.op-block--contact.is-sent .ct-form{display: none}.op-block--contact.is-sent .ct-sent{display: grid;justify-items: start;gap: var(--op-space-3);padding: var(--op-space-8);border-radius: var(--op-r-md);background: var(--op-teal-wash)}.ct-sent:focus{outline: none}.ct-sent > *{animation: ct-rise var(--op-dur-bar) var(--op-ease-soft) both}.ct-sent__h{animation-delay: .12s}.ct-sent__p{animation-delay: .2s}.ct-sent__mark{width: var(--ct-sent-mark);height: var(--ct-sent-mark);margin-bottom: var(--op-space-2);overflow: visible}.ct-sent__ring{fill: var(--op-surface);stroke: var(--op-teal-active);stroke-width: 2;stroke-dasharray: 139;stroke-dashoffset: 139;animation: ct-draw .6s var(--op-ease-soft) .1s forwards}.ct-sent__tick{fill: none;stroke: var(--op-teal-active);stroke-width: 3;stroke-linecap: round;stroke-linejoin: round;stroke-dasharray: 30;stroke-dashoffset: 30;animation: ct-draw .4s var(--op-ease-soft) .45s forwards}.ct-sent__h{margin: 0;font-size: var(--op-fs-2xl);font-weight: var(--op-weight-bold);letter-spacing: var(--op-tracking-display);line-height: var(--op-leading-tight);color: var(--op-ink)}.ct-sent__p{margin: 0;max-width: 34ch;font-size: var(--op-fs-md);line-height: var(--op-leading-body);color: var(--op-text-2)}@keyframes ct-rise{from{opacity: 0;transform: translateY(var(--op-space-3))}to{opacity: 1;transform: none}}@keyframes ct-draw{to{stroke-dashoffset: 0}}@keyframes ct-spin{to{transform: rotate(1turn)}}@media (prefers-reduced-motion: reduce){.ct-err,.ct-note,.ct-consent,.ct-form,.ct-cta__label,.ct-formwrap.is-resizing{transition: none}.ct-sent > *,.ct-sent__ring,.ct-sent__tick{animation: none}.ct-sent__ring,.ct-sent__tick{stroke-dashoffset: 0}.ct-cta[aria-busy="true"]::after{animation-duration: 1.4s}}:root{--ct-photo-fade: .7s}@media (min-width: 1024px){.ct-grid{grid-template-columns: minmax(0,1fr) minmax(0,1fr);column-gap: var(--op-space-12)}.ct-side{grid-area: side}}.ct-details{grid-template-columns: minmax(0,1fr);row-gap: var(--op-space-8)}.ct-side{display: grid;gap: var(--op-space-12);align-content: start}.ct-side > .ct-formwrap{grid-area: auto}.ct-contacts{display: grid;grid-template-columns: max-content minmax(0,1fr);column-gap: var(--op-space-10);row-gap: var(--op-space-8);padding-top: var(--op-space-8);border-top: 1px solid var(--op-hairline)}@media (max-width: 599px){.ct-contacts{grid-template-columns: repeat(auto-fit,minmax(min(var(--ct-detail-min),100%),1fr))}}.ct-details__col:last-child .ct-details__list li{white-space: nowrap}.ct-details__col:last-child .ct-details__list li:nth-child(3){white-space: normal}.ct-photo{contain: inline-size;position: relative;margin: 0;overflow: hidden;border-radius: var(--op-r-md);aspect-ratio: 960 / 697;background: var(--op-hairline)}.ct-photo__img{display: block;width: 100%;height: 100%;object-fit: cover;transition: opacity var(--ct-photo-fade) var(--op-ease-soft),transform var(--ct-photo-fade) var(--op-ease-soft),filter var(--ct-photo-fade) var(--op-ease-soft)}.ct-photo__img--code{position: absolute;inset: 0;opacity: 0;transform: scale(1.04);filter: blur(2px)}@media (hover: hover){.ct-photo:hover .ct-photo__img:not(.ct-photo__img--code){opacity: 0;transform: scale(1.02)}.ct-photo:hover .ct-photo__img--code{opacity: 1;transform: none;filter: none}}.ct-people__h{margin: 0 0 var(--op-space-3);font-size: var(--op-fs-2xl);font-weight: var(--op-weight-bold);letter-spacing: var(--op-tracking-display);line-height: var(--op-leading-tight);color: var(--op-ink)}.ct-people__p{margin: 0;font-size: var(--op-fs-lg);line-height: var(--op-leading-body);color: var(--op-text-2)}@media (prefers-reduced-motion: reduce){.ct-photo__img{transition: opacity var(--op-dur-base) linear}.ct-photo__img--code,.ct-photo:hover .ct-photo__img{transform: none;filter: none}}@media (min-width: 1024px){.ct-grid{grid-template-areas: "photo  form" "people contacts";grid-template-rows: auto auto;row-gap: var(--op-space-8);align-items: stretch}.ct-details,.ct-side{display: contents}.ct-details > .ct-photo{grid-area: photo}.ct-side > .ct-formwrap{grid-area: form}.ct-details > .ct-details__col--people{grid-area: people}.ct-side > .ct-contacts{grid-area: contacts;align-self: start}.ct-photo{aspect-ratio: auto;height: 100%}.ct-photo::before{content: "";display: block;padding-top: calc(697 / 960 * 100%)}.ct-photo__img{position: absolute;inset: 0}.ct-details > .ct-details__col--people{align-self: start;padding-top: var(--op-space-8);border-top: 1px solid var(--op-hairline)}}.op-block--contact.ct-card{margin-block-start: 0}.ct-page{padding-top: max(var(--op-space-4),calc(var(--op-space-6) - var(--ct-card-pad) - 1px))}