/* Contact-only styling; existing portfolio sections and shared controls stay intact. */
#contact{
 position:relative;isolation:isolate;display:grid;
 grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
 --contact-gap:clamp(40px,5vw,80px);align-items:start;gap:var(--contact-gap);
 padding:88px 0 96px;border-top:1px solid var(--color-border-default);
 background:var(--color-bg-primary);
}
#contact .contact-intro,#contact .contact-form-panel{position:relative;z-index:2;min-width:0}
#contact .contact-heading{max-width:440px;margin-top:22px;font-size:clamp(34px,3.7vw,44px);font-weight:700;line-height:1.2;letter-spacing:-1.5px;text-wrap:balance;color:var(--color-text-primary)}
#contact .contact-copy{max-width:390px;margin-top:22px;font-size:15px;font-weight:400;line-height:1.8;color:var(--color-text-secondary)}
#contact .contact-links{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}
#contact .contact-link{display:inline-flex;align-items:center;gap:9px;padding:6px 0;font-size:13px;font-weight:500;line-height:1.5;color:var(--jade-700);text-decoration:underline;text-decoration-color:var(--color-border-default);text-underline-offset:5px;transition:color .2s,text-decoration-color .2s}
#contact .contact-link:hover{color:var(--jade-800);text-decoration-color:currentColor}
#contact .contact-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
#contact [hidden]{display:none!important}
#contact .contact-form-panel{isolation:isolate;padding:32px;border:1px solid transparent;border-radius:0;background:var(--color-bg-primary)}
#contact .contact-form-panel::before{content:'';position:absolute;z-index:-1;inset:0;border-radius:inherit;background:url('assets/sketches/contact-paper.svg') top right/360px 280px repeat;pointer-events:none}
#contact .contact-form-panel::after{content:'';position:absolute;top:0;bottom:0;left:calc(var(--contact-gap) / -2);border-left:1px solid var(--color-border-default);pointer-events:none}
#contact .contact-form-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:24px}
#contact .contact-form-title{font-size:16px;font-weight:600;line-height:1.5;color:var(--color-text-primary)}
#contact .contact-fields{display:grid;gap:18px;min-width:0;margin:0;padding:0;border:0}
#contact .contact-name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#contact .contact-field{display:flex;flex-direction:column;min-width:0;gap:8px}
#contact .contact-field label{font-size:12px;font-weight:600;line-height:1.5;color:var(--color-text-primary)}
#contact .contact-required{color:var(--jade-500);margin-left:3px}
#contact .contact-input{display:block;width:100%;min-width:0;min-height:46px;padding:12px 14px;border:1px solid var(--color-border-default);border-radius:13px;background:var(--color-bg-primary);color:var(--color-text-primary);font:400 13px/1.6 Sora,sans-serif;caret-color:var(--jade-500);transition:border-color .2s,box-shadow .2s}
#contact .contact-input::placeholder{color:var(--color-text-secondary);opacity:1}
#contact textarea.contact-input{min-height:126px;resize:vertical}
#contact .contact-input:focus{outline:none;border-color:var(--jade-500);box-shadow:0 0 0 3px rgba(14,143,120,.1)}
#contact .contact-input[aria-invalid="true"]{border-color:var(--color-text-primary);border-width:2px;padding:11px 13px}
#contact .contact-input:disabled{color:var(--color-text-secondary);background:var(--color-disabled-bg);cursor:default}
#contact .contact-field-error{font-size:11px;font-weight:500;line-height:1.6;color:var(--color-text-primary)}
#contact .contact-field-error::before{content:'!';display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;margin-right:6px;border:1px solid var(--jade-700);border-radius:50%;color:var(--jade-700);font-size:9px;line-height:1}
#contact .contact-form-footer{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;margin-top:24px}
#contact .contact-send{flex-shrink:0}
#contact .contact-send:disabled{background:var(--jade-500)!important;color:var(--white-0)!important;border-color:var(--charcoal-900)!important;cursor:default}
#contact .contact-send:disabled::before,#contact .contact-send:disabled::after{display:block}
#contact .contact-form-status{margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border-default);font-size:12px;font-weight:500;line-height:1.75;color:var(--color-text-primary)}
#contact .contact-flight{position:absolute;z-index:3;inset:0;width:100%;height:100%;overflow:visible;visibility:hidden;pointer-events:none}
#contact .contact-flight-path{fill:none;stroke:var(--jade-500);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;opacity:.3;vector-effect:non-scaling-stroke}
#contact .contact-plane-art{fill:var(--color-bg-accent);stroke:var(--color-text-primary);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
#contact .contact-plane-fold{fill:var(--white-0)}
#contact .contact-plane-accent{fill:none;stroke:var(--jade-500);stroke-width:1.15}
#contact .contact-doodle{position:absolute;z-index:0;fill:none;stroke:var(--jade-400);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.14;pointer-events:none;animation:contact-sketch-drift var(--contact-duration,13s) ease-in-out var(--contact-delay,0s) infinite;animation-play-state:paused}
#contact[data-contact-active="true"] .contact-doodle{animation-play-state:running}
#contact .contact-doodle-braces{left:29%;bottom:100px;width:30px;height:24px;--contact-duration:13s;--contact-delay:-3s}
#contact .contact-doodle-nodes{left:35%;top:27px;width:46px;height:22px;--contact-duration:11s;--contact-delay:-7s}
#contact .contact-doodle-chip{left:7%;bottom:55px;width:28px;height:28px;--contact-duration:15s;--contact-delay:-5s}
@keyframes contact-sketch-drift{0%,100%{transform:translate(0,0) rotate(-1deg)}50%{transform:translate(2px,-5px) rotate(1deg)}}
@media(max-width:1000px){#contact{--contact-gap:36px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}#contact .contact-form-panel{padding:26px}#contact .contact-heading{font-size:36px}}
@media(max-width:760px){#contact{grid-template-columns:minmax(0,1fr);--contact-gap:38px;padding:56px 0 64px}#contact .contact-intro{max-width:calc(100% - 32px)}#contact .contact-heading{font-size:34px;letter-spacing:-1.1px;max-width:460px;margin-top:20px}#contact .contact-copy{max-width:420px;font-size:14px;margin-top:18px}#contact .contact-links{margin-top:24px}#contact .contact-form-panel{padding:26px}#contact .contact-form-panel::after{top:calc(var(--contact-gap) / -2);bottom:auto;left:0;right:0;border-left:0;border-top:1px solid var(--color-border-default)}#contact .contact-input{font-size:16px}#contact .contact-doodle-braces{left:3%;bottom:22px}#contact .contact-doodle-chip{left:auto;right:0;top:42%;bottom:auto}}
@media(max-width:520px){#contact .contact-name-fields{grid-template-columns:minmax(0,1fr);gap:18px}#contact .contact-form-panel{padding:24px 20px}#contact .contact-form-footer{align-items:flex-start;flex-direction:column;gap:12px}#contact .contact-form-header{margin-bottom:22px}#contact .contact-heading{font-size:32px}#contact .contact-doodle-chip{display:none}}
@media(prefers-reduced-motion:reduce){#contact .contact-flight{display:none}#contact .contact-doodle{animation:none!important;transform:none!important}}
@media(forced-colors:active){#contact .contact-input:focus{outline:2px solid Highlight;box-shadow:none}#contact .contact-input[aria-invalid="true"]{border:2px solid CanvasText}#contact .contact-send:disabled{background:ButtonFace!important;color:GrayText!important;border-color:GrayText!important}#contact .contact-send::before,#contact .contact-send::after{display:none!important}#contact .contact-flight,#contact .contact-doodle{display:none}}
