.contact-page{width:100%;max-width:1440px;margin:0 auto}.contact-hero{position:relative;min-height:340px;display:flex;align-items:flex-end;padding:clamp(72px,10vw,120px) clamp(28px,6vw,100px) clamp(48px,6vw,72px);overflow:hidden;background-color:#1a1a1a}.contact-hero-bg{position:absolute;inset:0;z-index:0}.contact-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;opacity:.35;display:block}.contact-hero-content{position:relative;z-index:1;max-width:700px}.contact-hero-eyebrow{font-family:var(--font-catamaran);font-weight:700;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-accent);margin:0 0 14px}.contact-hero-heading{font-family:var(--font-catamaran);font-weight:900;font-size:clamp(32px,5vw,63px);color:#fff;line-height:1.2;letter-spacing:0;margin:0 0 16px}.contact-hero-sub{font-family:var(--font-libre);font-size:clamp(16px,2.2vw,30px);color:#ffffffa6;line-height:1.4;margin:0;max-width:742px}.contact-form-section{padding:clamp(52px,7vw,96px) clamp(28px,6vw,100px);display:flex;justify-content:center}.contact-form-wrap{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:clamp(32px,4vw,52px);width:min(720px,100%);box-shadow:0 4px 6px -2px #0000000d,0 20px 40px -12px #00000014}.contact-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:8px}.form-label{font-family:var(--font-catamaran);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#555}.form-label .required{color:var(--brand-accent);margin-left:2px}.form-input,.form-select,.form-textarea{font-family:var(--font-libre);font-size:15px;color:var(--text-primary, #333);background:#fafafa;border:1.5px solid rgba(0,0,0,.12);border-radius:10px;padding:12px 16px;width:100%;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;outline:none;appearance:none;-webkit-appearance:none}.form-input::placeholder,.form-textarea::placeholder{color:#bbb}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand-accent);background:#fff;box-shadow:0 0 0 3px #f269381f}.form-select-wrap{position:relative}.form-select-wrap:after{content:"";position:absolute;right:14px;top:50%;translate:0 -50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #999;pointer-events:none;transition:border-top-color .25s ease}.form-select-wrap:focus-within:after{border-top-color:var(--brand-accent)}.form-select{padding-right:40px;cursor:pointer}.form-select option{color:var(--text-primary, #333);background:#fff}.form-select.is-placeholder{color:#bbb}.form-textarea{resize:vertical;min-height:130px;line-height:1.65}.custom-select{position:relative}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.custom-select-trigger.is-placeholder .custom-select-value{color:#bbb}.custom-select-chevron{width:18px;height:18px;color:#999;transition:transform .35s cubic-bezier(.34,1.56,.64,1),color .25s ease}.custom-select.is-open .custom-select-chevron{transform:rotate(180deg);color:var(--brand-accent)}.custom-select-trigger{background:#fafafa;border:1.5px solid rgba(0,0,0,.12);border-radius:10px;padding:12px 16px;width:100%;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.custom-select.is-invalid .custom-select-trigger{border-color:#f26938d9;box-shadow:0 0 0 3px #f2693829;background:#fff}.custom-select.is-open .custom-select-trigger,.custom-select-trigger:focus-visible{border-color:var(--brand-accent);background:#fff;box-shadow:0 0 0 3px #f269381f;outline:none}.custom-select-dropdown{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:20;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:14px;box-shadow:0 10px 30px #0000001f,0 3px 10px #0000000f;padding:8px;transform-origin:top;transform:translateY(-6px) scale(.98);opacity:0;pointer-events:none;max-height:0;overflow:hidden;transition:opacity .22s ease,transform .28s cubic-bezier(.16,1,.3,1),max-height .35s cubic-bezier(.16,1,.3,1)}.custom-select.is-open .custom-select-dropdown{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;max-height:min(360px,calc((var(--dropdown-items, 6) * 44px) + 16px))}.custom-select-option{font-family:var(--font-libre);font-size:15px;color:var(--text-primary, #333);padding:12px;border-radius:10px;cursor:pointer;outline:none;transition:background .18s ease,color .18s ease,transform .18s ease}.custom-select-option:hover,.custom-select-option.is-highlighted,.custom-select-option:focus-visible{background:#f2693814;color:#222}.custom-select-option.is-selected{background:#f2693824;color:#111}@media(prefers-reduced-motion:reduce){.custom-select-chevron,.custom-select-dropdown,.custom-select-option{transition:none}}.form-submit-wrap{padding-top:4px}.btn-contact-submit{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:60px;cursor:pointer;background:none;border:none;padding:0;border-radius:14px;overflow:hidden;transition:transform .35s cubic-bezier(.4,0,.2,1)}.btn-contact-submit .btn-bg{position:absolute;inset:0;background-color:var(--brand-accent);border-radius:14px;transition:background-color .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000f,0 6px 18px #f2693847}.btn-contact-submit .btn-text{position:relative;z-index:1;font-family:var(--font-catamaran);font-weight:900;font-size:17px;letter-spacing:2px;color:#fff;text-transform:uppercase;transition:transform .35s cubic-bezier(.4,0,.2,1)}.btn-contact-submit:hover .btn-bg{background-color:#e85728;transform:translateY(-2px);box-shadow:0 8px 24px #f2693861,0 4px 10px #00000014}.btn-contact-submit:hover .btn-text{transform:translateY(-1px)}.btn-contact-submit:active .btn-bg{transform:translateY(0);transition-duration:.1s}.btn-contact-submit:focus-visible{outline:none}.btn-contact-submit:focus-visible .btn-bg{box-shadow:0 2px 4px #0000000f,0 6px 18px #f2693847,0 0 0 3px #f2693873}.form-success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:24px 0}.form-success.is-visible{display:flex}.form-success-icon{width:52px;height:52px;border-radius:50%;background:#f269381a;display:flex;align-items:center;justify-content:center;color:var(--brand-accent);font-size:26px}.form-success-heading{font-family:var(--font-catamaran);font-weight:900;font-size:22px;color:var(--text-primary, #333);margin:0}.form-success-body{font-family:var(--font-libre);font-size:15px;color:var(--text-muted);line-height:1.6;margin:0;max-width:320px}.form-error{display:none;font-family:var(--font-libre);font-size:14px;color:#c0392b;margin-top:14px;text-align:center;line-height:1.5}.form-error.is-visible{display:block}.form-error a{color:#c0392b;text-decoration:underline}.btn-contact-submit:disabled{opacity:.65;pointer-events:none;cursor:not-allowed}.contact-form-wrap{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.22,1,.36,1) .2s,transform .75s cubic-bezier(.22,1,.36,1) .2s}.contact-form-section--visible .contact-form-wrap{opacity:1;transform:none}@keyframes kenBurnsContact{0%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes contactClipReveal{0%{clip-path:inset(0 0 100% 0);transform:translateY(18px);opacity:0}to{clip-path:inset(0 0 0% 0);transform:translateY(0);opacity:1}}@keyframes contactBlurFade{0%{opacity:0;filter:blur(7px)}to{opacity:1;filter:blur(0px)}}.contact-hero-bg img{animation:kenBurnsContact 9s ease-out both}.contact-hero-heading,.contact-hero-sub{opacity:0}.contact-hero--visible .contact-hero-heading{animation:contactClipReveal 1s cubic-bezier(.16,1,.3,1) .1s both}.contact-hero--visible .contact-hero-sub{animation:contactBlurFade 1s ease .55s both}@media(max-width:1024px){.contact-form-section{padding:clamp(44px,6vw,72px) 20px}}@media(max-width:768px){.contact-hero{padding:88px 20px 48px;min-height:280px}.contact-form-section{padding:44px 20px 60px}.form-row{grid-template-columns:1fr;gap:24px}.contact-form-wrap{padding:28px 20px;border-radius:16px}.contact-info-panel{gap:24px}}@media(prefers-reduced-motion:reduce){.contact-form-wrap{opacity:1;transform:none;transition:none}.contact-hero-heading,.contact-hero-sub,.contact-hero-bg img{animation:none;opacity:1;filter:none;clip-path:none;transform:none}}
