.contact-page{--maxw:1280px;overflow-x:hidden}.contact-page .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.contact-page .eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:8px;font-size:.74rem;font-weight:800;display:inline-flex}.contact-page .eyebrow:before{content:"";background:var(--brand);border-radius:2px;width:26px;height:2px}.contact-page .crumb{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:7px;padding:20px 0 0;font-size:.84rem;font-weight:600;display:flex}.contact-page .crumb a:hover{color:var(--ink)}.contact-page .crumb .sep{opacity:.4}.contact-page .crumb .current{color:var(--ink)}.contact-page .hero{text-align:center;padding:40px 0 60px;position:relative}.contact-page .hero .eyebrow{justify-content:center;margin-bottom:18px}.contact-page .hero h1{font-family:var(--font-bricolage,"Bricolage Grotesque"), sans-serif;letter-spacing:-.025em;max-width:18ch;margin-bottom:18px;margin-left:auto;margin-right:auto;font-size:clamp(2.2rem,4.4vw,3.6rem);font-weight:700;line-height:1.04}.contact-page .hero h1 em{font-family:var(--font-instrument,"Instrument Serif"), serif;color:var(--brand-deep);font-style:italic;font-weight:400}.contact-page .hero .lead{color:var(--ink-soft);max-width:50ch;margin:0 auto;font-size:1.12rem}.contact-page .hero:after{content:"";background:radial-gradient(ellipse, var(--brand-glow), transparent 60%);opacity:.45;z-index:-1;pointer-events:none;border-radius:50%;width:680px;height:240px;position:absolute;top:30px;left:50%;transform:translate(-50%)}.contact-page .main{padding:30px 0 90px}.contact-page .main-grid{grid-template-columns:1fr 1.3fr;align-items:start;gap:48px;display:grid}.contact-page .info-card{background:var(--ink);color:#fff;border-radius:24px;padding:36px 30px;position:relative;overflow:hidden}.contact-page .info-card:before{content:"";background:radial-gradient(circle, var(--brand-glow), transparent 60%);opacity:.5;pointer-events:none;border-radius:50%;width:340px;height:340px;position:absolute;top:-40%;right:-30%}.contact-page .info-card:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 80%,#000,#0000);mask-image:radial-gradient(60% 80%,#000,#0000)}.contact-page .info-card>*{z-index:1;position:relative}.contact-page .info-card .eyebrow{color:#ffffff80;margin-bottom:14px}.contact-page .info-card .eyebrow:before{background:var(--brand)}.contact-page .info-card h2{font-family:var(--font-bricolage,"Bricolage Grotesque"), sans-serif;color:#fff;letter-spacing:-.025em;margin-bottom:14px;font-size:1.6rem;line-height:1.05}.contact-page .info-card>p{color:#ffffffb3;max-width:36ch;margin-bottom:30px;font-size:.96rem}.contact-page .info-items{gap:14px;margin-bottom:32px;display:grid}.contact-page .info-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-items:flex-start;gap:14px;padding:16px;transition:background .25s,border-color .25s;display:flex}.contact-page .info-item:hover{background:#ffffff14;border-color:#fed8034d}.contact-page .info-item .ic{width:38px;height:38px;color:var(--brand);background:#fed80326;border-radius:11px;flex:none;place-items:center;display:grid}.contact-page .info-item b{font-family:var(--font-bricolage,"Bricolage Grotesque"), sans-serif;color:#fff;margin-bottom:3px;font-size:.95rem;font-weight:700;display:block}.contact-page .info-item small{color:#fff9;font-size:.82rem;line-height:1.55;display:block}.contact-page .info-status{color:#86efac;background:#4ade801a;border:1px solid #4ade804d;border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:.86rem;font-weight:600;display:flex}.contact-page .info-status .dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite contact-pulse;box-shadow:0 0 #4ade8099}@keyframes contact-pulse{50%{box-shadow:0 0 0 8px #4ade8000}}.contact-page .info-socials{border-top:1px solid #ffffff1a;margin-top:28px;padding-top:24px}.contact-page .info-socials h4{text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-family:var(--font-manrope,"Manrope"), sans-serif;color:#ffffff80;margin-bottom:14px;font-weight:800}.contact-page .info-socials .links{gap:8px;display:flex}.contact-page .info-socials .links a{color:#fff;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:11px;place-items:center;width:40px;height:40px;transition:all .25s;display:grid}.contact-page .info-socials .links a:hover{background:var(--brand);color:var(--ink);border-color:var(--brand);transform:translateY(-2px)}.contact-page .form-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:24px;padding:36px 36px 32px}.contact-page .form-card h2{font-family:var(--font-bricolage,"Bricolage Grotesque"), sans-serif;letter-spacing:-.025em;margin-bottom:6px;font-size:1.5rem;line-height:1.05}.contact-page .form-card .sub{color:var(--ink-soft);margin-bottom:26px;font-size:.94rem}.contact-page .form-card .req-star{color:var(--brand-deep);font-weight:800}.contact-page .form-section{margin-bottom:22px}.contact-page .form-label{font-family:var(--font-manrope,"Manrope"), sans-serif;color:var(--ink);justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:.86rem;font-weight:700;display:flex}.contact-page .form-label .req{color:var(--brand-deep);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.contact-page .form-label .opt{color:var(--ink-faint);font-size:.74rem;font-weight:600}.contact-page .field-select{position:relative}.contact-page .field-select select{appearance:none;cursor:pointer;padding-right:44px}.contact-page .field-select select:invalid{color:var(--ink-faint)}.contact-page .field-select select option{color:var(--ink)}.contact-page .field-select:after{content:"";border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);pointer-events:none;width:8px;height:8px;position:absolute;bottom:18px;right:18px;transform:rotate(45deg)}.contact-page .form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.contact-page .field{background:0 0;border:0;border-radius:0;flex-direction:column;width:auto;margin-bottom:0;padding:0;display:flex}.contact-page .field input,.contact-page .field textarea,.contact-page .field select{border:1.5px solid var(--line);width:100%;font-family:var(--font-manrope,"Manrope"), sans-serif;background:var(--cream);color:var(--ink);resize:vertical;border-radius:12px;outline:none;padding:14px 16px;font-size:.95rem;font-weight:500;transition:border-color .2s,background .2s}.contact-page .field input::placeholder,.contact-page .field textarea::placeholder{color:var(--ink-faint);font-weight:500}.contact-page .field input:focus,.contact-page .field textarea:focus,.contact-page .field select:focus{border-color:var(--ink);background:#fff}.contact-page .field textarea{min-height:140px;line-height:1.55}.contact-page .field-hint{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:.78rem;font-weight:600;display:flex}.contact-page .field-hint svg{flex:none}.contact-page .char-count{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.contact-page .upload-zone{border:1.5px dashed var(--line);text-align:center;cursor:pointer;background:var(--cream);border-radius:12px;flex-direction:column;align-items:center;padding:22px;transition:border-color .2s,background .2s;display:flex}.contact-page .upload-zone:hover{border-color:var(--ink);background:#fff}.contact-page .upload-zone svg{color:var(--ink-soft);margin-bottom:8px;display:block}.contact-page .upload-zone b{font-family:var(--font-manrope,"Manrope"), sans-serif;color:var(--ink);margin-bottom:3px;font-size:.92rem;font-weight:700;display:block}.contact-page .upload-zone small{color:var(--ink-faint);font-size:.78rem;font-weight:600}.contact-page .upload-zone input{display:none}.contact-page .consent{background:var(--cream);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:24px;padding:14px;display:flex}.contact-page .consent input{accent-color:var(--ink);flex:none;width:18px;height:18px;margin-top:3px}.contact-page .consent label{color:var(--ink-soft);cursor:pointer;font-size:.84rem;font-weight:500;line-height:1.55}.contact-page .consent label a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:3px;font-weight:700;text-decoration-thickness:2px}.contact-page .form-error{color:#b91c1c;background:#fef2f2;border-radius:12px;margin:0 0 12px;padding:12px 14px;font-size:.88rem;font-weight:600}.contact-page .submit-btn{background:var(--ink);color:#fff;width:100%;font-family:var(--font-manrope,"Manrope"), sans-serif;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:18px;font-size:1rem;font-weight:800;transition:background .2s,transform .2s;display:flex;position:relative;overflow:hidden}.contact-page .submit-btn:before{content:"";background:linear-gradient(120deg,#0000 30%,#fed80340 50%,#0000 70%);transition:transform .6s;position:absolute;inset:0;transform:translate(-110%)}.contact-page .submit-btn:hover:before{transform:translate(110%)}.contact-page .submit-btn:hover:not(:disabled){background:#000;transform:translateY(-1px)}.contact-page .submit-btn:disabled{opacity:.7;cursor:not-allowed}.contact-page .submit-btn svg{transition:transform .25s}.contact-page .submit-btn:hover svg{transform:translate(4px)}.contact-page .submit-foot{text-align:center;color:var(--ink-faint);justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:.78rem;font-weight:600;display:flex}.contact-page .submit-foot svg{color:var(--success,#16744a)}.contact-page .thanks{text-align:center;padding:40px 20px;display:none}.contact-page .thanks.show{animation:.5s contact-fade-up;display:block}@keyframes contact-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.contact-page .thanks .ic{background:var(--brand);border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 22px;animation:.5s cubic-bezier(.2,.8,.2,1) contact-pop;display:grid}@keyframes contact-pop{0%{transform:scale(0)}60%{transform:scale(1.1)}to{transform:scale(1)}}.contact-page .thanks h3{font-family:var(--font-bricolage,"Bricolage Grotesque"), sans-serif;margin-bottom:10px;font-size:1.5rem;line-height:1.05}.contact-page .thanks p{color:var(--ink-soft);max-width:36ch;margin:0 auto 22px}.contact-page .thanks button{border:1.5px solid var(--ink);color:var(--ink);font-family:var(--font-manrope,"Manrope"), sans-serif;cursor:pointer;background:0 0;border-radius:999px;padding:11px 22px;font-size:.88rem;font-weight:700;transition:all .2s}.contact-page .thanks button:hover{background:var(--ink);color:#fff}.contact-page .before{background:var(--cream);padding:80px 0}.contact-page .before .head{text-align:center;max-width:600px;margin:0 auto 36px}.contact-page .before .head .eyebrow{justify-content:center;margin-bottom:14px}.contact-page .before .head h2{font-family:var(--font-bricolage,"Bricolage Grotesque"), sans-serif;letter-spacing:-.025em;margin-bottom:12px;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.05}.contact-page .before .head p{color:var(--ink-soft)}.contact-page .before-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.contact-page .before-card{border:1px solid var(--line);text-align:left;color:inherit;background:#fff;border-radius:18px;flex-direction:column;gap:12px;padding:26px 24px;text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex}.contact-page .before-card:hover{box-shadow:var(--shadow);border-color:#0000;transform:translateY(-4px)}.contact-page .before-card .ic{background:var(--cream);width:44px;height:44px;color:var(--ink);border-radius:12px;place-items:center;transition:background .25s;display:grid}.contact-page .before-card:hover .ic{background:var(--brand)}.contact-page .before-card h3{font-family:var(--font-bricolage,"Bricolage Grotesque"), sans-serif;font-size:1.04rem;line-height:1.25}.contact-page .before-card p{color:var(--ink-soft);font-size:.88rem;line-height:1.55}.contact-page .before-card .arr{color:var(--ink);align-items:center;gap:7px;margin-top:auto;padding-top:8px;font-size:.84rem;font-weight:800;display:inline-flex}.contact-page .before-card .arr svg{width:13px;height:13px;transition:transform .25s}.contact-page .before-card:hover .arr svg{transform:translate(4px)}.contact-page .rv{opacity:0;transition:opacity .5s}.contact-page .rv.in{opacity:1}@media (max-width:980px){.contact-page .main-grid{grid-template-columns:1fr;gap:24px}.contact-page .info-card{order:2}.contact-page .before-grid{grid-template-columns:1fr;gap:14px}}@media (max-width:560px){.contact-page .wrap{padding:0 18px}.contact-page .hero{padding:30px 0 40px}.contact-page .main{padding:24px 0 60px}.contact-page .form-card{border-radius:20px;padding:28px 20px 24px}.contact-page .info-card{border-radius:20px;padding:30px 22px}.contact-page .form-row{grid-template-columns:1fr;gap:18px}.contact-page .form-label{margin-bottom:8px;font-size:.82rem}.contact-page .field input,.contact-page .field textarea,.contact-page .field select{padding:14px;font-size:.94rem}.contact-page .field textarea{min-height:130px}.contact-page .field-hint{font-size:.76rem;line-height:1.4}.contact-page .char-count{margin-top:3px;margin-left:0;display:block}.contact-page .upload-zone{padding:18px 14px}.contact-page .upload-zone b{font-size:.86rem}.contact-page .upload-zone small{margin-top:2px;font-size:.74rem;display:block}.contact-page .consent{gap:10px;padding:12px}.contact-page .consent label{font-size:.82rem;line-height:1.5}.contact-page .submit-btn{padding:16px;font-size:.96rem}.contact-page .submit-foot{flex-wrap:wrap;font-size:.74rem}.contact-page .info-card h2{font-size:1.4rem}.contact-page .info-card>p{font-size:.92rem}.contact-page .info-item{gap:12px;padding:14px 12px}.contact-page .info-item .ic{width:34px;height:34px}.contact-page .info-item b{font-size:.9rem}.contact-page .info-item small{font-size:.8rem}.contact-page .hero:after{width:min(680px,120vw);height:180px}.contact-page .before{padding:48px 0}}
