.contact-main{padding-top:38px;padding-bottom:85px}
.contact-back{display:inline-block;font-size:14px;line-height:1.6;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px}
.contact-back:hover{color:var(--accent)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9%;padding-top:46px;align-items:start}
.contact-intro h1{font-size:clamp(36px,4.2vw,60px);line-height:1.18;letter-spacing:-.035em;margin:0 0 28px}
.contact-intro>p{font-size:17px;line-height:1.85;color:var(--muted);max-width:420px;margin:0 0 16px}
.contact-email-block{margin-top:37px;padding-top:25px;border-top:1px solid var(--line)}
.contact-email-block h2{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0;margin:0 0 10px}
.contact-email{font-size:17px;line-height:1.8;color:var(--accent);overflow-wrap:anywhere}
a.contact-email{border-bottom:1px solid #dfa76a60;padding-bottom:5px}
.contact-email-block p{font-size:14px;line-height:1.7;color:var(--muted);margin:10px 0 0}
.contact-form-section{min-width:0}
.form-required{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 25px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px}
.form-field{display:flex;flex-direction:column;min-width:0}
.full-width{grid-column:1/-1}
.form-field label{font-size:15px;line-height:1.6;margin-bottom:9px}
.form-field label>span:not(.optional){color:var(--accent)}
.optional{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:3px}
.form-field input,.form-field textarea{width:100%;min-width:0;border:1px solid #f2eee833;border-radius:0;background:#19191c;color:var(--fg);font:400 16px/1.65 var(--sans);padding:12px 14px;transition:border-color .2s,background .2s;box-shadow:none}
.form-field input{min-height:50px;margin-top:auto}
.form-field textarea{resize:vertical;min-height:170px}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent);background:#1e1c1c}
.form-field input::placeholder,.form-field textarea::placeholder{color:#99938b;opacity:1}
.field-hint{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 13px}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.form-submit-row{display:flex;align-items:center;gap:24px;margin-top:31px}
.form-submit-row>p{font-size:13px;line-height:1.75;color:var(--muted);max-width:250px;margin:0}
.send-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;position:relative;isolation:isolate;min-height:52px;padding:14px 24px;border:1px solid var(--accent);background:var(--accent);color:var(--bg);font-size:15px;line-height:1.5;overflow:hidden;transition:background .2s,color .2s}
.send-button:hover:not(:disabled){background:#edbb87}
.send-button:disabled{cursor:not-allowed;background:#dfa76a16;border-color:#dfa76a60;color:#c7b09a}
.send-button-label{position:relative;z-index:1}
.send-light{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 25%,#fff8 50%,transparent 75%);transform:translateX(-110%)}
.send-button[data-state=sending]{color:var(--accent);background:#dfa76a10;cursor:wait}
.send-button[data-state=sending] .send-light{animation:send-pulse 1.1s ease-in-out infinite}
.form-error{color:#efb2a0;font-size:15px;line-height:1.75;margin:25px 0 0}
.contact-success{position:relative;padding:35px 32px 38px;border:1px solid #dfa76a70;background:linear-gradient(125deg,#dfa76a0d,transparent 65%);overflow:hidden;outline:none;animation:contact-received .5s ease-out both}
.contact-success::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:receipt-light .9s ease-out both}
.success-check{display:block;width:40px;height:40px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:23px}
.success-check path{stroke-dasharray:100;stroke-dashoffset:0;animation:receipt-check .5s .2s ease-out both}
.contact-success h2{font-size:clamp(28px,3vw,37px);line-height:1.3;margin:0 0 20px}
.contact-success p{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 28px}
#reply-address{color:var(--fg);overflow-wrap:anywhere}
.contact-success .text-link{display:inline-block;font-size:14px}
.contact-page [hidden]{display:none!important}
@keyframes send-pulse{0%{opacity:0;transform:translateX(-110%)}30%,65%{opacity:.4}100%{opacity:0;transform:translateX(110%)}}
@keyframes contact-received{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes receipt-light{from{opacity:0;transform:scaleX(.1)}50%{opacity:1}to{opacity:.55;transform:scaleX(1)}}
@keyframes receipt-check{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(max-width:1000px){.contact-layout{gap:6%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.contact-intro h1{font-size:clamp(34px,4.1vw,45px)}.form-grid{gap:23px 16px}.form-submit-row{align-items:flex-start;flex-direction:column;gap:15px}.form-submit-row>p{max-width:400px}}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:38px;padding-top:32px}.contact-intro h1{font-size:clamp(36px,7vw,50px);margin-bottom:23px}.contact-intro>p{max-width:580px;font-size:16px}.contact-email-block{margin-top:25px;padding-top:19px}.contact-main{padding-top:28px;padding-bottom:50px}.contact-email{font-size:16px}}
@media(max-width:600px){.contact-page .mast nav{font-size:14px;gap:10px;flex-wrap:wrap}}
@media(max-width:480px){.form-grid{grid-template-columns:1fr;gap:23px}.optional{display:inline;margin-left:7px}.form-submit-row{margin-top:25px}.send-button{width:100%;min-height:54px}.contact-success{padding:28px 24px}.contact-success p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.send-light{display:none}.contact-success,.contact-success::before,.success-check path{animation:none}}

.contact-email-row{display:flex;align-items:center;gap:12px}
.contact-email-row .contact-email{min-width:0}
.copy-email{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;padding:8px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--muted);transition:border-color .2s,color .2s}
.copy-email:hover,.copy-email[data-copied=true]{border-color:#dfa76a80;color:var(--accent)}
.copy-email svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.copy-email .copied-icon,.copy-email[data-copied=true] .copy-icon{display:none}
.copy-email[data-copied=true] .copied-icon{display:block}
.contact-email-block .copy-feedback:not(.copy-error){position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%)}
.contact-email-block .copy-error{font-size:14px;line-height:1.7;margin:12px 0 0}

.form-submit-row p a{text-decoration:underline;text-underline-offset:3px}
