.contact-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:9%;align-items:start;padding:66px 0 60px}
.contact-intro h1{font-size:clamp(40px,4vw,59px);font-weight:620;line-height:1.1;letter-spacing:-.05em;margin:8px 0 27px;max-width:19ch}
.contact-intro>p{font-size:17px;line-height:1.85;color:var(--soft);max-width:43ch;margin:0}
.contact-link-scene{margin:30px -5% 13px;max-width:510px}
.contact-link-scene svg{display:block;width:100%;height:auto;stroke:none;fill:none}
.contact-link-scene text{font:16px 'Public Sans',sans-serif;fill:#bdb29e;stroke:none}
.contact-thread{stroke-dasharray:400;stroke-dashoffset:400;animation:contact-connect 1.8s .2s var(--ease) forwards}
.contact-signal{animation:contact-glow 5s ease-in-out infinite}
.contact-link-scene:not(.is-visible) *,.contact-product.is-background .contact-link-scene *{animation-play-state:paused!important}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding-top:20px;border-top:1px solid #ffffff18}
.contact-direct>span{font-size:14px;color:var(--soft)}
.contact-direct a{font-size:16px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#786749;overflow-wrap:anywhere}
.contact-direct a:hover{color:var(--gold)}
.contact-compose{padding:33px 35px 30px;border:1px solid #72604370;border-radius:16px;background:radial-gradient(ellipse at 0 0,#a6803920,transparent 65%),#121210;box-shadow:0 30px 80px #0003}
.contact-compose-heading{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.contact-compose-heading h2{font-size:23px;line-height:1.4;letter-spacing:-.03em;margin:0}
.contact-compose-heading img{flex:none;object-fit:contain}
.contact-subjects{border:0;padding:0;margin:0 0 28px;min-width:0}
.contact-subjects legend{font-size:14px;color:#c5beb0;margin-bottom:15px;padding:0}
.contact-subject-options{display:flex;gap:10px 23px;flex-wrap:wrap}
.contact-subject-options label{position:relative;cursor:pointer}
.contact-subject-options input{position:absolute;opacity:0;width:1px;height:1px}
.contact-subject-options span{display:block;padding:4px 0 10px;border-bottom:1px solid transparent;font-size:14px;color:#a6a092;transition:color .2s,border-color .2s}
.contact-subject-options input:checked+span{color:#f1dfbc;border-color:#c09a58}
.contact-subject-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:4px;border-radius:2px}
.contact-subject-options label:hover span{color:var(--ink)}
.contact-field{margin-top:23px}
.contact-field>label{display:block;font-size:15px;color:#eee8dd;margin-bottom:10px}
.contact-field>label span{font-size:14px;color:#a6a093;margin-left:4px}
.contact-field input,.contact-field textarea{display:block;width:100%;max-width:100%;min-width:0;padding:13px 15px;background:#0808085c;border:1px solid #ffffff22;border-radius:7px;color:#f7f5f0;font:16px/1.65 'Public Sans',sans-serif;transition:border-color .2s}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#817d73;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{outline:2px solid #b0925b;outline-offset:2px;border-color:transparent}
.contact-field textarea{resize:vertical;min-height:174px;max-height:500px}
.contact-field p{font-size:14px;line-height:1.65;color:#b6b0a3;margin:0 0 12px;min-height:3.3em}
.contact-compose-actions{margin-top:24px}
.contact-compose-actions p,.contact-noscript{font-size:14px;line-height:1.75;color:#b5ae9f;max-width:49ch;margin:16px 0 0}
@keyframes contact-connect{to{stroke-dashoffset:0}}
@keyframes contact-glow{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:1100px){.contact-layout{gap:5%;padding-top:48px}.contact-intro h1{font-size:43px}.contact-compose{padding:27px}.contact-compose-heading h2{font-size:21px}.contact-subject-options{gap:8px 18px}}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:38px;padding:36px 0 20px}.contact-intro h1{font-size:clamp(37px,6.5vw,50px);margin:0 0 23px;max-width:22ch}.contact-intro>p{font-size:16px;max-width:55ch}.contact-link-scene{display:none}.contact-direct{border:0;padding-top:24px;gap:7px}.contact-compose{padding:27px}.contact-field p{min-height:0}}
@media(max-width:400px){.contact-compose{padding:23px 20px}.contact-compose-heading{gap:10px}.contact-compose-heading h2{font-size:21px}.contact-subject-options{gap:5px 17px}.contact-subject-options span{font-size:13px}.contact-direct a{font-size:15px}}
@media(prefers-reduced-motion:reduce){.contact-link-scene *{animation:none!important}.contact-thread{stroke-dashoffset:0}.contact-field input,.contact-field textarea,.contact-subject-options span{transition:none}}
