/* Figma 5429:5096: normal border 30%, hover 50%. */
.design-button{border:1px solid var(--color4)!important;transition:background-color .22s,border-color .22s}
.design-button:is(:hover,:focus-visible){border-color:var(--color3)!important}
#contact-actions{position:absolute;left:536px;top:717px;display:flex;gap:20px;align-items:center}
#contact-actions .design-button{position:relative!important;inset:auto!important;transform:none!important;width:auto!important;white-space:nowrap;padding:16px 32px;border-radius:32px;background:var(--color5);font-size:24px;letter-spacing:.04em;min-height:64px}
#contact-actions #copy-email{background:transparent!important;color:var(--color2)}
#contact-actions #copy-email:hover{background:var(--color5)!important}
@media(min-width:760px){#contact [data-node-id="5486:24555"]{left:536px!important;top:169px!important;width:750px!important}#contact [data-node-id="5486:24567"]{left:536px!important;width:635px!important}}
.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
#contact-dialog{position:fixed;inset:0;margin:0;padding:56px 24px;border:0;width:100%;height:100%;max-width:none;max-height:none;overflow:auto;background:transparent;color:var(--color1);font:20px/1.5 Fauna,serif;letter-spacing:.04em;text-shadow:0 2px 4px #0003;overscroll-behavior:contain}
#contact-dialog::backdrop{background:rgba(14,17,19,.4);backdrop-filter:blur(29px);-webkit-backdrop-filter:blur(29px)}
#contact-dialog[open]{display:flex;align-items:safe center;justify-content:center}
#contact-dialog [hidden]{display:none!important}
.contact-panel{width:450px;max-width:100%;flex-shrink:0;margin:auto;animation:contact-in .35s ease}
#contact-title{font:400 48px/1.25 'DM Serif Display',serif;text-align:center;letter-spacing:.04em;margin:0 0 32px}
#contact-dialog form{display:flex;flex-direction:column;gap:10px}
#contact-dialog input,#contact-dialog textarea,.contact-control{width:100%;min-height:62px;padding:16px 32px;border:1px solid var(--color4);border-radius:32px;background:var(--color5);color:var(--color1);font:inherit;letter-spacing:inherit;box-shadow:0 12px 18px #0000001f;transition:background .2s,border-color .2s}
#contact-dialog input::placeholder,#contact-dialog textarea::placeholder,.contact-control{color:var(--color2);opacity:1}
#contact-dialog textarea{height:249px;resize:vertical;min-height:130px}
.contact-control{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px}
.contact-control img{flex-shrink:0;transition:rotate .2s}.contact-control[aria-expanded=true] img{rotate:180deg}.contact-control.has-value{color:var(--color1)}
#contact-dialog :is(input,textarea,.contact-control):is(:hover,:focus-visible){border-color:var(--color3);background:rgba(230,216,174,.22)}
#contact-dialog :is(input,textarea,button):focus-visible{outline:none;border-color:rgba(230,216,174,.85);box-shadow:0 0 12px rgba(230,216,174,.12)}
#contact-dialog [aria-invalid=true]{border-color:#e9ad8e}
.contact-select{position:relative}.contact-select:has([aria-expanded=true]){z-index:3}
.contact-options{position:absolute;top:calc(100% + 8px);left:0;width:100%;padding:16px 24px;border:1px solid var(--color4);border-radius:32px;background:rgba(30,36,41,.94);backdrop-filter:blur(44px);-webkit-backdrop-filter:blur(44px);box-shadow:0 12px 18px #0000001f;max-height:260px;overflow:auto;animation:contact-dropdown-in .18s ease}
.contact-options button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px;border-radius:10px;font-size:20px;line-height:25px;text-align:left;color:var(--color1)}.contact-options button:hover,.contact-options button:focus-visible{background:var(--color5)}.contact-options img{visibility:hidden;flex-shrink:0}.contact-options [aria-selected=true] img{visibility:visible}
.contact-form-actions{display:flex;gap:18px;margin-top:10px}.contact-form-actions .design-button{flex:1;text-align:center;padding:16px 14px;background:var(--color5);border-radius:32px;font-size:22px;line-height:30px;min-height:64px}.contact-form-actions .secondary{background:transparent}
.contact-note{font-size:12px;line-height:1.5;text-align:center;color:var(--color2);margin:4px 0 0}#contact-error{font-size:14px;color:#f4c6ac;margin:0 12px}
.contact-confirmation{text-align:center}.contact-confirmation h3{font:400 36px/1.3 'DM Serif Display',serif;margin:0 0 18px}.contact-confirmation p{color:var(--color2);margin-bottom:32px}
html:lang(zh-CN) #contact-dialog,html:lang(zh-CN) #contact-actions #open-contact{font-family:PortfolioSerifCJK,serif;letter-spacing:.1em}html:lang(zh-CN) #contact-title,html:lang(zh-CN) .contact-confirmation h3{font-family:PortfolioSerifCJK,serif;font-weight:700}
body.contact-open .title-fireflies{display:none}
@keyframes contact-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:759px){#contact-actions{position:relative!important;inset:auto!important;width:100%!important;margin-top:auto;flex-wrap:wrap;gap:12px}#contact-actions .design-button{min-height:48px;font-size:17px;max-width:100%;margin:0!important}#contact-actions #copy-email p{overflow-wrap:anywhere}#contact-dialog{padding:32px 24px;font-size:16px}#contact-title{font-size:36px;margin-bottom:24px}#contact-dialog input,#contact-dialog textarea,.contact-control{min-height:52px;padding:13px 22px}#contact-dialog textarea{height:180px}.contact-form-actions{gap:12px}.contact-form-actions .design-button{font-size:17px;min-height:50px;padding:10px}.contact-options{padding:10px 14px}.contact-options button{font-size:16px}}
/* A small horizontal lens flare above the rightmost letters, never a glyph sweep. */
.hero-title::after{content:none!important;animation:none!important;filter:none!important}
.title-metal-glint{position:absolute;left:97%;top:12%;width:112px;height:34px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(255,242,198,.75) 0%,rgba(232,199,119,.26) 15%,rgba(208,169,89,.1) 35%,transparent 70%);filter:blur(2px);opacity:0;animation:title-lens-reveal 2.4s .4s ease-out forwards}
.title-metal-glint::before{content:'';position:absolute;left:0;right:0;top:calc(50% - .6px);height:1.2px;background:linear-gradient(90deg,transparent,rgba(237,210,151,.5) 25%,#fff6dc 49%,#fff9e9 51%,rgba(237,210,151,.5) 75%,transparent);filter:blur(.3px);box-shadow:0 0 5px rgba(238,206,134,.35)}
.title-metal-glint::after{content:'';position:absolute;width:9px;height:5px;left:calc(50% - 4.5px);top:calc(50% - 2.5px);border-radius:50%;background:#fff7de;box-shadow:0 0 5px 2px rgba(249,222,151,.8),0 0 13px 5px rgba(222,177,91,.25);filter:blur(.8px)}
@keyframes title-lens-reveal{from{opacity:0}to{opacity:.85}}
@keyframes contact-dropdown-in{from{translate:0 -4px}to{translate:0 0}}
@media(max-width:759px){.title-metal-glint{width:78px;height:26px}}
@media(prefers-reduced-motion:reduce){.title-metal-glint{display:none}}
.contact-form-actions .design-button{font-size:18px;white-space:nowrap}
@media(max-width:759px){.contact-form-actions .design-button{font-size:17px}}

.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-privacy{font:12px/1.6 sans-serif;opacity:.75;margin:0;text-align:left}
.contact-form-actions button:disabled{opacity:.65;cursor:wait}
