.contact-page{background:var(--ink-black);min-height:100vh;position:relative;overflow:hidden}.contact-ambient{z-index:0;pointer-events:none;background:radial-gradient(ellipse at 80% 20%, #c8102e1a 0%, transparent 50%), radial-gradient(ellipse at 20% 80%, #b8935a0f 0%, transparent 40%), var(--ink-black);position:fixed;inset:0}.contact-bg-kanji{color:var(--crimson);opacity:.02;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;font-family:Yuji Mai,serif;font-size:55vh;line-height:1;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-container{z-index:10;max-width:1400px;margin:0 auto;padding:0 6vw;position:relative}.contact-container--sm{max-width:800px}.contact-container--md{max-width:1000px}.contact-hero{text-align:center;padding:14rem 0 8rem}.contact-hero-title{color:var(--bone);letter-spacing:-.02em;margin-bottom:1.5rem;font-family:Shippori Mincho,serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1.1}.contact-hero-title em{color:var(--crimson);font-style:italic}.contact-hero-sub{color:#f0e6d299;max-width:650px;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.7}.contact-section{padding:6rem 0;position:relative}.contact-section--alt{background:#14100f66}.contact-section--center{text-align:center}.contact-section-header{margin-bottom:4rem}.contact-section-title{color:var(--bone);font-family:Shippori Mincho,serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;line-height:1.2}.contact-section-title em{color:var(--crimson);font-style:italic}.contact-methods-grid{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1000px;margin:0 auto;display:grid}.contact-method-card{text-align:center;background:#14100f99;border:1px solid #c8102e26;padding:2.5rem 2rem;transition:border-color .3s,transform .3s}.contact-method-card:hover{border-color:#c8102e66;transform:translateY(-4px)}.contact-method-icon{color:var(--crimson);margin-bottom:1rem;font-size:2.5rem;display:block}.contact-method-title{color:var(--bone);margin-bottom:.5rem;font-family:Shippori Mincho,serif;font-size:1.1rem;font-weight:700}.contact-method-value{letter-spacing:.05em;color:var(--gold-leaf);margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.9rem}.contact-method-desc{color:#f0e6d280;font-family:Cormorant Garamond,serif;font-size:.95rem}.contact-form-wrapper{background:#14100f99;border:1px solid #c8102e26;max-width:700px;margin:0 auto;padding:3rem}.contact-form-title{color:var(--bone);text-align:center;margin-bottom:.5rem;font-family:Shippori Mincho,serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.contact-form-title em{color:var(--crimson);font-style:italic}.contact-form-sub{color:#f0e6d28c;text-align:center;margin-bottom:2.5rem;font-family:Cormorant Garamond,serif;font-size:1.05rem}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.contact-field-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.contact-field{flex-direction:column;gap:.5rem;display:flex}.contact-field label{letter-spacing:.15em;text-transform:uppercase;color:var(--gold-leaf);font-family:JetBrains Mono,monospace;font-size:.65rem}.contact-field input,.contact-field textarea{color:var(--bone);background:#f0e6d20a;border:1px solid #f0e6d21f;outline:none;padding:.85rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:border-color .25s,background .25s,box-shadow .25s}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#f0e6d240}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--crimson);background:#c8102e0a;box-shadow:0 0 0 3px #c8102e1a}.contact-field textarea{resize:vertical;min-height:120px}.contact-submit{background:var(--crimson);width:100%;color:var(--bone);letter-spacing:.25em;text-transform:uppercase;cursor:pointer;border:none;margin-top:.5rem;padding:1rem 2rem;font-family:JetBrains Mono,monospace;font-size:.7rem;transition:background .25s,box-shadow .25s;position:relative;overflow:hidden}.contact-submit:after{content:"";background:var(--ink-black);z-index:0;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-101%)}.contact-submit:hover:after{transform:translate(0)}.contact-submit span{z-index:1;position:relative}.contact-success{text-align:center;padding:3rem 2rem}.contact-success-icon-wrap{background:#c8102e1a;border:1px solid #c8102e4d;border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;margin:0 auto 1.5rem;display:flex}.contact-success-icon-wrap svg{width:1.5rem;height:1.5rem;color:var(--crimson)}.contact-success-title{color:var(--bone);margin-bottom:.75rem;font-family:Shippori Mincho,serif;font-size:1.75rem;font-weight:700}.contact-success-body{color:var(--bone);margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:1.15rem}.contact-success-meta{letter-spacing:.05em;color:#f0e6d280;margin-top:1rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.contact-success-icon{color:var(--crimson);margin-bottom:1rem;font-size:3rem;display:block}.contact-faq-grid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.contact-faq-item{background:#14100f66;border:1px solid #c8102e1a;padding:2rem;transition:border-color .3s}.contact-faq-item:hover{border-color:#c8102e40}.contact-faq-q{color:var(--bone);margin-bottom:.75rem;font-family:Shippori Mincho,serif;font-size:1.1rem;font-weight:700;line-height:1.4}.contact-faq-a{color:#f0e6d299;font-family:Cormorant Garamond,serif;font-size:1rem;line-height:1.6}.contact-cta-content{padding:4rem 0}.contact-cta-title{color:var(--bone);margin-bottom:2rem;font-family:Shippori Mincho,serif;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700}.contact-cta-title em{color:var(--crimson);font-style:italic}.contact-cta-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.contact-btn-primary,.contact-btn-ghost{letter-spacing:.25em;text-transform:uppercase;padding:1rem 2rem;font-family:JetBrains Mono,monospace;font-size:.7rem;text-decoration:none;transition:all .3s;display:inline-block}.contact-btn-primary{background:var(--crimson);color:var(--bone);border:none}.contact-btn-primary:hover{background:var(--crimson-glow);box-shadow:0 0 20px #c8102e66}.contact-btn-ghost{color:var(--bone);background:0 0;border:1px solid #f0e6d24d}.contact-btn-ghost:hover{border-color:var(--crimson);color:var(--crimson)}.contact-emails-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.contact-email-card{text-align:center;background:#14100f99;border:1px solid #c8102e26;flex-direction:column;padding:2rem 1.5rem;text-decoration:none;transition:border-color .3s,transform .3s;display:flex}.contact-email-card:hover{border-color:#c8102e66;transform:translateY(-4px)}.contact-email-type{letter-spacing:.15em;text-transform:uppercase;color:var(--gold-leaf);margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.contact-email-address{letter-spacing:.02em;color:var(--bone);word-break:break-all;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.contact-email-desc{color:#f0e6d280;font-family:Cormorant Garamond,serif;font-size:.9rem;line-height:1.4}.contact-location-grid{grid-template-columns:2fr 1fr;align-items:center;gap:4rem;display:grid}.contact-location-info{max-width:600px}.contact-body{color:#f0e6d2b3;margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.15rem;line-height:1.8}.contact-address-block{border-left:3px solid var(--crimson);background:#14100f99;margin-top:2rem;padding:1.5rem}.contact-address-block strong{letter-spacing:.15em;text-transform:uppercase;color:var(--gold-leaf);margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:block}.contact-address-block p{color:var(--bone);margin-bottom:.25rem;font-family:Cormorant Garamond,serif;font-size:1.1rem}.contact-location-visual{justify-content:center;display:flex}.contact-location-badge{border:2px solid var(--crimson);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:160px;height:160px;display:flex}.contact-loc-icon{color:var(--crimson);margin-bottom:.5rem;font-size:2.5rem}.contact-loc-text{letter-spacing:.15em;text-transform:uppercase;color:var(--bone);font-family:JetBrains Mono,monospace;font-size:.75rem}.contact-field select{width:100%;color:var(--bone);cursor:pointer;appearance:none;background:#f0e6d20a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23b8935a' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right 1rem center no-repeat;border:1px solid #f0e6d21f;outline:none;padding:.85rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.contact-field select:focus{border-color:var(--crimson);background-color:#c8102e0a;box-shadow:0 0 0 3px #c8102e1a}.contact-field select option{background:var(--ink-deep);color:var(--bone)}.contact-calendar-content{text-align:center}.contact-calendar-embed{margin-top:2rem}.contact-calendar-placeholder{text-align:center;background:#14100f99;border:1px dashed #c8102e33;padding:3rem 2rem}.contact-calendar-placeholder>p{margin-bottom:.5rem;font-size:2rem}.contact-calendar-placeholder>span{letter-spacing:.1em;color:#f0e6d266;text-transform:uppercase;margin-bottom:1.5rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:block}.contact-calendar-btn{letter-spacing:.15em;text-transform:uppercase;color:var(--bone);background:var(--crimson);align-items:center;gap:.5rem;padding:1rem 2rem;font-family:JetBrains Mono,monospace;font-size:.7rem;text-decoration:none;transition:background .3s,box-shadow .3s;display:inline-flex}.contact-calendar-btn:hover{background:var(--crimson-glow);box-shadow:0 0 20px #c8102e66}.contact-partner-content{text-align:center}.contact-partner-grid{grid-template-columns:repeat(2,1fr);gap:2rem;max-width:900px;margin:2rem auto 0;display:grid}.contact-partner-card{text-align:left;background:#14100f99;border:1px solid #c8102e26;padding:2rem;transition:border-color .3s}.contact-partner-card:hover{border-color:#c8102e59}.contact-partner-card h3{color:var(--bone);margin-bottom:1rem;font-family:Shippori Mincho,serif;font-size:1.2rem;font-weight:700}.contact-partner-desc{color:#f0e6d299;margin-bottom:1.25rem;font-family:Cormorant Garamond,serif;font-size:1rem;line-height:1.6}.contact-partner-link{letter-spacing:.05em;color:var(--crimson);border-bottom:1px solid #c8102e4d;padding-bottom:.15rem;font-family:JetBrains Mono,monospace;font-size:.8rem;text-decoration:none;transition:border-color .3s,color .3s}.contact-partner-link:hover{color:var(--crimson-glow);border-color:var(--crimson)}@media (max-width:1024px){.contact-emails-grid{grid-template-columns:repeat(2,1fr)}.contact-location-grid{grid-template-columns:1fr;gap:3rem}.contact-location-visual{order:-1}.contact-partner-grid,.contact-faq-grid{grid-template-columns:1fr}}@media (max-width:768px){.contact-hero{padding:10rem 0 5rem}.contact-section{padding:4rem 0}.contact-emails-grid,.contact-methods-grid{grid-template-columns:1fr}.contact-form-wrapper{padding:2rem 1.5rem}.contact-field-row{grid-template-columns:1fr}.contact-cta-buttons{flex-direction:column;align-items:center}.contact-btn-primary,.contact-btn-ghost{text-align:center;width:100%;max-width:300px}}
