.contact-page{background:var(--bone,#f9f9f7);min-height:100vh}.contact-progress{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f9f9f7f2;border-radius:100px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex;position:fixed;top:5rem;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0d0d0d14}.contact-progress-dot{background:#0d0d0d26;border-radius:50%;width:8px;height:8px;transition:all .35s}.contact-progress-dot.active{background:var(--accent-raw,#d40000);transform:scale(1.25)}.contact-progress-dot.completed{background:var(--obsidian,#0d0d0d)}.contact-call-cta{z-index:50;background:var(--obsidian,#0d0d0d);color:var(--bone,#f9f9f7);font-family:var(--font-sans),system-ui,sans-serif;justify-content:center;align-items:center;gap:.75rem;padding:1rem;font-size:.8rem;display:flex;position:fixed;bottom:0;left:0;right:0}.contact-call-cta a{color:var(--accent-raw,#d40000);font-weight:600;text-decoration:none;transition:opacity .25s}.contact-call-cta a:hover{opacity:.8}@media (min-width:768px){.contact-call-cta{text-align:center;border-radius:4px;flex-direction:column;max-width:160px;padding:1.25rem 1rem;position:fixed;inset:50% 2rem auto auto;transform:translateY(-50%)}}@media (min-width:1200px){.contact-call-cta{right:3rem}}.contact-form-wrap{justify-content:center;align-items:center;min-height:100vh;padding:8rem 1.5rem 6rem;display:flex}@media (min-width:768px){.contact-form-wrap{padding:10rem 3rem 8rem}}.contact-form-inner{width:100%;max-width:900px}.contact-step{width:100%}.contact-step-header{text-align:center;margin-bottom:2.5rem}.contact-step-eyebrow{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-raw,#d40000);margin-bottom:.75rem;font-size:.65rem;font-weight:600}.contact-step-title{font-family:var(--font-serif),"Playfair Display",serif;color:var(--obsidian,#0d0d0d);font-size:clamp(1.75rem,5vw,2.75rem);font-weight:400;line-height:1.15}.contact-step-subtitle{font-family:var(--font-sans),system-ui,sans-serif;color:var(--muted-raw,#7d7a76);max-width:500px;margin-top:.75rem;margin-left:auto;margin-right:auto;font-size:.9rem}.contact-intent-cards{flex-direction:column;gap:1.25rem;display:flex}@media (min-width:768px){.contact-intent-cards{flex-direction:row;gap:1.5rem}}.contact-intent-card{cursor:pointer;border:2px solid #0000;flex-direction:column;justify-content:flex-end;min-height:160px;padding:1.5rem 1.25rem;transition:border-color .35s,transform .35s;display:flex;position:relative;overflow:hidden}.contact-intent-card:hover{transform:translateY(-4px)}.contact-intent-card.selected{border-color:var(--accent-raw,#d40000)}.contact-intent-card--primary{flex:1.2;min-height:180px}@media (min-width:768px){.contact-intent-card{min-height:400px;padding:2rem 1.5rem}.contact-intent-card--primary{flex:1.4;min-height:400px}}.contact-intent-card-bg{z-index:0;position:absolute;inset:0}.contact-intent-card-bg img{transition:transform .8s cubic-bezier(.16,1,.3,1)}.contact-intent-card:hover .contact-intent-card-bg img{transform:scale(1.08)}.contact-intent-card-overlay{z-index:1;background:linear-gradient(#0d0d0d33 0%,#0d0d0d66 50%,#0d0d0dd9 100%);position:absolute;inset:0}.contact-intent-card-content{z-index:2;position:relative}.contact-intent-card-badge{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;background:var(--accent-raw,#d40000);color:#fff;margin-bottom:.75rem;padding:.35rem .65rem;font-size:.55rem;font-weight:700;display:inline-block}.contact-intent-card-name{font-family:var(--font-serif),"Playfair Display",serif;color:var(--bone,#f9f9f7);margin-bottom:.5rem;font-size:1.5rem;font-weight:400}@media (min-width:768px){.contact-intent-card-name{font-size:1.75rem}}.contact-intent-card-desc{font-family:var(--font-sans),system-ui,sans-serif;color:#f9f9f7b3;font-size:.85rem;line-height:1.5}.contact-card-indicator{z-index:10;background:#0d0d0d4d;border:2px solid #f9f9f780;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .3s;display:flex;position:absolute;top:1rem;right:1rem}.contact-card-indicator svg{stroke:#fff;stroke-width:2.5px;opacity:0;width:14px;height:14px;transition:opacity .25s}.contact-intent-card.selected .contact-card-indicator,.contact-audience-card.selected .contact-card-indicator,.contact-category-card.selected .contact-card-indicator{background:var(--accent-raw,#d40000);border-color:var(--accent-raw,#d40000)}.contact-intent-card.selected .contact-card-indicator svg,.contact-audience-card.selected .contact-card-indicator svg,.contact-category-card.selected .contact-card-indicator svg{opacity:1}.contact-audience-cards{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:640px){.contact-audience-cards{grid-template-columns:1fr 1fr}}.contact-audience-card{cursor:pointer;border:2px solid #0000;flex-direction:column;justify-content:flex-end;min-height:220px;padding:1.5rem;transition:border-color .35s,transform .35s;display:flex;position:relative;overflow:hidden}.contact-audience-card:hover{transform:translateY(-3px)}.contact-audience-card.selected{border-color:var(--accent-raw,#d40000)}.contact-audience-card-bg{z-index:0;position:absolute;inset:0}.contact-audience-card-bg img{transition:transform .7s}.contact-audience-card:hover .contact-audience-card-bg img{transform:scale(1.06)}.contact-audience-card-overlay{z-index:1;background:linear-gradient(#0d0d0d4d,#0d0d0dcc);position:absolute;inset:0}.contact-audience-card-content{z-index:2;position:relative}.contact-audience-card-name{font-family:var(--font-serif),"Playfair Display",serif;color:var(--bone,#f9f9f7);font-size:1.35rem;font-weight:400}.contact-category-cards{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.contact-category-cards{grid-template-columns:1fr 1fr}}@media (min-width:900px){.contact-category-cards{grid-template-columns:repeat(3,1fr)}}.contact-category-card{cursor:pointer;border:2px solid #0000;flex-direction:column;justify-content:flex-end;min-height:100px;padding:1rem;transition:border-color .35s,transform .35s;display:flex;position:relative;overflow:hidden}@media (min-width:768px){.contact-category-card{min-height:160px;padding:1.25rem}}.contact-category-card:hover{transform:translateY(-3px)}.contact-category-card.selected{border-color:var(--accent-raw,#d40000)}.contact-category-card-bg{z-index:0;position:absolute;inset:0}.contact-category-card-bg img{transition:transform .6s}.contact-category-card:hover .contact-category-card-bg img{transform:scale(1.08)}.contact-category-card-overlay{z-index:1;background:linear-gradient(#0d0d0d40,#0d0d0dbf);position:absolute;inset:0}.contact-category-card-content{z-index:2;position:relative}.contact-category-card-name{font-family:var(--font-serif),"Playfair Display",serif;color:var(--bone,#f9f9f7);font-size:1.1rem;font-weight:400}.contact-other-btn{width:100%;font-family:var(--font-sans),system-ui,sans-serif;color:var(--muted-raw,#7d7a76);cursor:pointer;background:0 0;border:1px dashed #0d0d0d33;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem 1.5rem;font-size:.85rem;font-weight:500;transition:all .3s;display:flex}.contact-other-btn:hover{border-color:var(--accent-raw,#d40000);color:var(--accent-raw,#d40000)}.contact-other-btn svg{stroke:currentColor;stroke-width:2px;width:16px;height:16px}.contact-other-input-wrap{flex-direction:column;gap:.75rem;display:flex}.contact-services-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:640px){.contact-services-grid{grid-template-columns:1fr 1fr}}.contact-service-checkbox{cursor:pointer;background:#fff;border:1px solid #0d0d0d1a;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:border-color .25s,background .25s;display:flex}.contact-service-checkbox:hover{border-color:#0d0d0d40}.contact-service-checkbox.selected{border-color:var(--accent-raw,#d40000);background:#d4000008}.contact-service-check{border:2px solid #0d0d0d33;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .25s;display:flex}.contact-service-checkbox.selected .contact-service-check{background:var(--accent-raw,#d40000);border-color:var(--accent-raw,#d40000)}.contact-service-check svg{stroke:#fff;stroke-width:3px;opacity:0;width:12px;height:12px;transition:opacity .2s}.contact-service-checkbox.selected .contact-service-check svg{opacity:1}.contact-service-name{font-family:var(--font-sans),system-ui,sans-serif;color:var(--obsidian,#0d0d0d);font-size:.9rem;font-weight:500}.contact-services-grid--visual{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (min-width:768px){.contact-services-grid--visual{grid-template-columns:repeat(3,1fr);gap:1rem}}.contact-service-card{cursor:pointer;border:2px solid #0000;flex-direction:column;justify-content:flex-end;min-height:120px;padding:.75rem;transition:border-color .35s,transform .35s;display:flex;position:relative;overflow:hidden}@media (min-width:768px){.contact-service-card{min-height:160px;padding:1rem}}.contact-service-card:hover{transform:translateY(-3px)}.contact-service-card.selected{border-color:var(--accent-raw,#d40000)}.contact-service-card-bg{z-index:0;position:absolute;inset:0}.contact-service-card-bg img{transition:transform .6s}.contact-service-card:hover .contact-service-card-bg img{transform:scale(1.08)}.contact-service-card-overlay{z-index:1;background:linear-gradient(#0d0d0d59,#0d0d0dd9);position:absolute;inset:0}.contact-service-card-name{z-index:2;font-family:var(--font-serif),"Playfair Display",serif;color:var(--bone,#f9f9f7);font-size:.85rem;font-weight:400;line-height:1.3;position:relative}@media (min-width:768px){.contact-service-card-name{font-size:1rem}}.contact-service-card.selected .contact-card-indicator{background:var(--accent-raw,#d40000);border-color:var(--accent-raw,#d40000)}.contact-service-card.selected .contact-card-indicator svg{opacity:1}.contact-services-grouped{flex-direction:column;gap:2rem;display:flex}.contact-services-group{flex-direction:column;gap:1rem;display:flex}.contact-services-group-title{font-family:var(--font-serif),"Playfair Display",serif;color:var(--obsidian,#0d0d0d);border-bottom:1px solid #0d0d0d14;padding-bottom:.5rem;font-size:1.1rem;font-weight:400}.contact-vision-wrap{flex-direction:column;gap:2rem;display:flex}.contact-textarea{width:100%;min-height:180px;font-family:var(--font-sans),system-ui,sans-serif;color:var(--obsidian,#0d0d0d);resize:vertical;background:#fff;border:1px solid #0d0d0d1a;padding:1.25rem;font-size:1rem;line-height:1.6;transition:border-color .25s}.contact-textarea::placeholder{color:var(--muted-light,#a8a5a0)}.contact-textarea:focus{border-color:var(--accent-raw,#d40000);outline:none}.contact-upload-section{border-top:1px solid #0d0d0d14;padding-top:2rem}.contact-upload-label{font-family:var(--font-sans),system-ui,sans-serif;color:var(--obsidian,#0d0d0d);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.85rem;font-weight:500;display:flex}.contact-upload-optional{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-raw,#7d7a76);background:#0d0d0d0f;padding:.2rem .5rem;font-size:.6rem;font-weight:600}.contact-upload-zone{cursor:pointer;border:2px dashed #0d0d0d26;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:140px;padding:2rem;transition:border-color .25s,background .25s;display:flex}.contact-upload-zone:hover{border-color:var(--accent-raw,#d40000);background:#d4000005}.contact-upload-zone.dragging{border-color:var(--accent-raw,#d40000);background:#d400000a}.contact-upload-icon{width:32px;height:32px;stroke:var(--muted-raw,#7d7a76);stroke-width:1.5px}.contact-upload-text{font-family:var(--font-sans),system-ui,sans-serif;color:var(--muted-raw,#7d7a76);text-align:center;font-size:.85rem}.contact-upload-text strong{color:var(--accent-raw,#d40000);font-weight:600}.contact-upload-hint{color:var(--muted-light,#a8a5a0);font-size:.75rem}.contact-photo-previews{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.contact-photo-preview{width:80px;height:80px;position:relative;overflow:hidden}.contact-photo-preview img{object-fit:cover;width:100%;height:100%}.contact-photo-remove{background:var(--obsidian,#0d0d0d);color:#fff;cursor:pointer;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:background .2s;display:flex;position:absolute;top:4px;right:4px}.contact-photo-remove:hover{background:var(--accent-raw,#d40000)}.contact-fields-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:640px){.contact-fields-grid{grid-template-columns:1fr 1fr}}.contact-field{flex-direction:column;gap:.5rem;display:flex}.contact-field--full{grid-column:1/-1}.contact-field-label{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-raw,#7d7a76);font-size:.75rem;font-weight:600}.contact-input{width:100%;height:52px;font-family:var(--font-sans),system-ui,sans-serif;color:var(--obsidian,#0d0d0d);background:#fff;border:1px solid #0d0d0d1a;padding:0 1rem;font-size:1rem;transition:border-color .25s}.contact-input::placeholder{color:var(--muted-light,#a8a5a0)}.contact-input:focus{border-color:var(--accent-raw,#d40000);outline:none}.contact-method-group{flex-wrap:wrap;gap:.75rem;display:flex}.contact-method-option{cursor:pointer;background:#fff;border:1px solid #0d0d0d1a;align-items:center;gap:.5rem;padding:.75rem 1.25rem;transition:border-color .25s;display:flex}.contact-method-option:hover{border-color:#0d0d0d40}.contact-method-option.selected{border-color:var(--accent-raw,#d40000);background:#d4000008}.contact-method-radio{border:2px solid #0d0d0d33;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:border-color .25s;display:flex}.contact-method-option.selected .contact-method-radio{border-color:var(--accent-raw,#d40000)}.contact-method-radio:after{content:"";background:var(--accent-raw,#d40000);opacity:0;border-radius:50%;width:8px;height:8px;transition:opacity .2s}.contact-method-option.selected .contact-method-radio:after{opacity:1}.contact-method-label{font-family:var(--font-sans),system-ui,sans-serif;color:var(--obsidian,#0d0d0d);font-size:.85rem;font-weight:500}.contact-nav{border-top:1px solid #0d0d0d14;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:2rem;display:flex}.contact-btn-back{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-raw,#7d7a76);cursor:pointer;background:0 0;border:1px solid #0d0d0d26;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.75rem;font-weight:600;transition:all .25s;display:flex}.contact-btn-back:hover{border-color:var(--obsidian,#0d0d0d);color:var(--obsidian,#0d0d0d)}.contact-btn-back svg{stroke:currentColor;stroke-width:2px;width:14px;height:14px}.contact-btn-next{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent-raw,#d40000);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:.75rem;font-weight:600;transition:all .3s;display:flex}.contact-btn-next:hover{background:#b30000}.contact-btn-next:disabled{opacity:.5;cursor:not-allowed}.contact-btn-next svg{stroke:currentColor;stroke-width:2px;width:14px;height:14px}.contact-skip-btn{font-family:var(--font-sans),system-ui,sans-serif;color:var(--muted-raw,#7d7a76);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-top:1rem;padding:.5rem 0;font-size:.75rem;font-weight:500;transition:color .25s;display:inline-flex}.contact-skip-btn:hover{color:var(--obsidian,#0d0d0d)}@media (max-width:639px){.contact-form-wrap{padding-bottom:7rem}.contact-nav{flex-direction:column-reverse;gap:.75rem}.contact-btn-back,.contact-btn-next{justify-content:center;width:100%}}.contact-info-section{background:var(--obsidian,#0d0d0d);padding:5rem 1.5rem}@media (min-width:768px){.contact-info-section{padding:6rem 3rem}}.contact-info-inner{flex-direction:column;gap:3rem;max-width:1200px;margin:0 auto;display:flex}@media (min-width:900px){.contact-info-inner{flex-direction:row;gap:4rem}}.contact-info-content{flex:1}.contact-info-map{flex:1.2;min-height:350px}@media (min-width:900px){.contact-info-map{min-height:450px}}.contact-map-loading{color:#f9f9f766;width:100%;height:100%;min-height:350px;font-family:var(--font-sans),system-ui,sans-serif;background:#1a1a1a;justify-content:center;align-items:center;font-size:.85rem;display:flex}.contact-info-title{font-family:var(--font-serif),"Playfair Display",serif;color:var(--bone,#f9f9f7);margin-bottom:2.5rem;font-size:clamp(2rem,4vw,2.5rem);font-weight:400}.contact-info-block{margin-bottom:2rem}.contact-info-label{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-raw,#d40000);margin-bottom:.5rem;font-size:.65rem;font-weight:600}.contact-info-value{font-family:var(--font-sans),system-ui,sans-serif;color:var(--bone,#f9f9f7);font-size:1rem;line-height:1.5}.contact-info-sub{font-family:var(--font-sans),system-ui,sans-serif;color:#f9f9f780;margin-top:.25rem;font-size:.85rem}.contact-call-btn{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent-raw,#d40000);cursor:pointer;border:none;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.contact-call-btn:hover{background:#b30000;transform:translateY(-2px)}.contact-call-btn svg{stroke:currentColor;stroke-width:2px;width:18px;height:18px}.contact-socials{gap:1rem;display:flex}.contact-social-link{width:44px;height:44px;color:var(--bone,#f9f9f7);border:1px solid #f9f9f733;justify-content:center;align-items:center;transition:all .3s;display:flex}.contact-social-link:hover{border-color:var(--accent-raw,#d40000);color:var(--accent-raw,#d40000)}.contact-social-link svg{width:20px;height:20px}.contact-field-error{font-family:var(--font-sans),system-ui,sans-serif;color:var(--accent-raw,#d40000);margin-top:.25rem;font-size:.75rem}.contact-input[aria-invalid=true]{border-color:var(--accent-raw,#d40000)}.contact-submit-error{font-family:var(--font-sans),system-ui,sans-serif;color:var(--accent-raw,#d40000);border-left:3px solid var(--accent-raw,#d40000);background:#d400000f;margin-top:1.5rem;padding:.875rem 1rem;font-size:.85rem;line-height:1.45}
