.contact-view{z-index:10000;position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#181713;color:#fff1d7;overflow:auto;overscroll-behavior:contain;transform:translateY(100%);transition:transform 1s cubic-bezier(.25,.74,.22,.99);font-family:Arial,sans-serif}
.contact-view::backdrop{background:transparent}.contact-view.is-open{transform:translateY(0)}
.contact-view-bar{display:flex;justify-content:space-between;align-items:center;padding:28px 50px;border-bottom:1px solid #fff1d726}.contact-wordmark{font:700 30px Poppins,Arial;letter-spacing:-.08em}.contact-back{color:inherit;background:transparent;border:1px solid #fff1d750;border-radius:99px;padding:14px 22px;font:13px monospace;display:flex;gap:30px;align-items:center;cursor:pointer}.contact-back .link-arrow{display:block;flex:0 0 20px;width:20px;height:20px;transition:transform .3s}.contact-back:hover .link-arrow{transform:rotate(-135deg)}
.contact-view-content{max-width:1440px;margin:auto;padding:60px 50px 90px}.contact-heading h1{overflow:hidden;font:700 clamp(70px,12vw,176px)/1.12 Poppins,Arial;letter-spacing:-.065em;margin:24px 0 55px}.contact-heading h1 span{display:block;transform:translateY(110%);transition:transform 1s cubic-bezier(.25,.74,.22,.99) .2s}.is-open .contact-heading h1 span{transform:translateY(0)}
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;opacity:0;transform:translateY(40px);transition:opacity .7s ease .35s,transform .8s cubic-bezier(.25,.74,.22,.99) .35s}.is-open .contact-layout{opacity:1;transform:none}.contact-aside h2{font:500 clamp(24px,3vw,38px)/1.25 Poppins,Arial;letter-spacing:-.04em;margin:0 0 24px}.contact-aside p{font:18px/1.6 Arial;color:#c3ac93}.contact-aside>a{font-size:16px;color:inherit;text-underline-offset:6px;overflow-wrap:anywhere}.contact-cv{border-top:1px solid #fff1d726;margin-top:44px;padding-top:28px;display:flex;flex-direction:column;align-items:start;gap:22px}
.contact-form{display:flex;flex-direction:column;gap:28px}.contact-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-form label{display:flex;flex-direction:column;gap:14px;font:13px monospace;color:#c3ac93}.contact-form input,.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #fff1d740;border-radius:0;background:transparent;color:#fff1d7;padding:12px 0 18px;font:18px/1.4 Arial;outline-offset:4px}.contact-form select{color-scheme:dark}.contact-form textarea{resize:vertical;min-height:110px}.contact-form :focus-visible,.contact-view button:focus-visible,.contact-view a:focus-visible{outline:2px solid #c57847;outline-offset:5px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9c9283}.contact-send{align-self:start;background:#fff1d7;color:#181713;border:0;border-radius:99px;padding:18px 28px;font:16px Arial;display:flex;gap:65px;cursor:pointer}.contact-send:disabled{opacity:.5;cursor:not-allowed}.contact-form-status{font:13px/1.5 Arial;color:#c3ac93;margin:0}.contact-trap{position:absolute;left:-9999px}.contact-home-surface{transition:transform 1s cubic-bezier(.25,.74,.22,.99),opacity 1s;}.contact-home-surface.is-away{transform:translateY(-35vh) scale(.9);opacity:.3}
@media(max-width:700px){.contact-view-bar{padding:20px 24px}.contact-view-content{padding:42px 24px 60px}.contact-heading h1{margin-bottom:35px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-aside h2{max-width:340px}.contact-cv{margin-top:26px;padding-top:20px}.contact-field-pair{grid-template-columns:1fr}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contact-view,.contact-home-surface,.contact-heading h1 span,.contact-layout{transition:none}.contact-home-surface.is-away{transform:none}.contact-heading h1 span,.contact-layout{transform:none}.contact-layout{opacity:1}}

.contact-heading h1:focus{outline:none}

/* A dedicated resume section with its own visual hierarchy. */
.contact-view .contact-cv{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:48px;margin-top:80px;padding:48px;background:#fff1d7;color:#181713;border:0;border-radius:12px}
.contact-cv h2{font:700 clamp(44px,6.5vw,88px)/1.05 Poppins,Arial;letter-spacing:-.06em;margin:24px 0}.contact-cv p{font:17px/1.6 Arial;max-width:420px;margin:0;color:#5f5546}.contact-cv-action{display:flex;flex-direction:column;align-items:stretch;gap:16px}.contact-cv .cv-download{justify-content:space-between;gap:28px;padding:24px 28px;background:#181713;color:#fff1d7;border:1px solid #181713;border-radius:8px;font:18px Arial}.contact-cv .cv-download:disabled{opacity:.75}.contact-cv .cv-download span{font-size:32px}.cv-availability{font:12px monospace;color:#655b4d}.contact-cv .cv-download:not(:disabled):hover{background:#382b21;color:#fff1d7}
@media(max-width:700px){.contact-view .contact-cv{grid-template-columns:1fr;gap:30px;margin-top:48px;padding:30px 24px}.contact-cv .cv-download{padding:20px;font-size:16px}}

/* Settled dialog has no transformed containing block: the cursor stays viewport-fixed. */
.contact-view.is-settled{transform:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.custom-pointer .contact-view,html.custom-pointer .contact-view a,html.custom-pointer .contact-view button{cursor:none!important}}

.contact-select{position:relative;display:flex;flex-direction:column;gap:14px;color:#c3ac93;font:13px monospace}.subject-trigger{appearance:none;border-radius:0;backdrop-filter:none;box-shadow:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0 18px;border:0;border-bottom:1px solid #fff1d740;background:transparent;color:#fff1d7;text-align:left;font:18px/1.4 Arial;cursor:pointer}.subject-chevron{display:block;flex:0 0 20px;width:20px;height:20px;transition:transform .2s}.subject-trigger[aria-expanded=true] .subject-chevron{transform:rotate(180deg)}.subject-trigger[aria-invalid=true]{border-color:#ff9c85}.subject-options{position:absolute;z-index:10;top:100%;left:0;right:0;padding:8px;background:#29261f;border:1px solid #c3ac9360;border-radius:12px;box-shadow:0 18px 40px #0006;color:#fff1d7;font:17px/1.45 Arial}.subject-options[hidden]{display:none}.subject-options [role=option]{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-radius:7px;cursor:pointer}.subject-options [role=option].is-active{background:#fff1d7;color:#181713}.subject-options [aria-selected=true]::after{content:'✓';margin-left:16px}.subject-options [aria-selected=true]{font-weight:700}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.custom-pointer .subject-options [role=option]{cursor:none!important}}
@media(max-width:700px){.subject-trigger,.subject-options{font-size:16px}}

.contact-form .contact-send{align-self:flex-end;align-items:center;justify-content:space-between;min-height:56px;gap:32px;padding:18px 26px;line-height:20px}.contact-send .link-arrow{display:block;flex:0 0 20px;width:20px;height:20px}.contact-form-status{align-self:stretch;text-align:right}
@media(max-width:700px){.contact-form .contact-send{width:100%}.contact-form-status{text-align:left}}

.contact-aside .contact-email-link{display:inline-flex;align-items:center;gap:12px}.contact-email-link .link-arrow{display:block;flex:0 0 20px;width:20px;height:20px}

.contact-form .subject-trigger:hover{background:transparent;color:#fff1d7;border-bottom-color:#fff1d7}.contact-form .subject-trigger[aria-expanded=true]{border-bottom-color:#c57847}
