.contact-page{color:#fff;min-height:100dvh;font-family:var(--font-body), system-ui, sans-serif;background:#030508;padding-bottom:4rem;position:relative;overflow-x:hidden}.contact-orb{filter:blur(140px);pointer-events:none;z-index:0;opacity:.25;border-radius:50%;position:fixed}.contact-orb--1{background:#d628281f;width:70vw;max-width:800px;height:70vw;max-height:800px;animation:25s ease-in-out infinite honOrb1;top:-20vh;right:-10vw}.contact-orb--2{background:#ffb70314;width:60vw;max-width:600px;height:60vw;max-height:600px;animation:30s ease-in-out infinite reverse honOrb2;bottom:-10vh;left:-20vw}@keyframes honOrb1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-5vw,5vh)scale(1.1)}66%{transform:translate(2vw,8vh)scale(.9)}}@keyframes honOrb2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(6vw,-4vh)scale(1.2)}66%{transform:translate(-3vw,-2vh)scale(.8)}}.contact-watermark{font-family:"Noto Sans JP", var(--font-heading), system-ui;color:#ffffff04;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;letter-spacing:.05em;white-space:nowrap;font-size:clamp(12rem,30vw,40rem);font-weight:900;line-height:1;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes contactFadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.contact-hero{z-index:2;text-align:center;flex-direction:column;align-items:center;max-width:900px;margin:0 auto;padding:10rem 2rem 4rem;display:flex;position:relative}.contact-hero__badge{text-transform:uppercase;letter-spacing:2.5px;color:var(--gold,#ffb703);opacity:0;background:#ffb7030d;border:1px solid #ffb70326;border-radius:50px;align-items:center;gap:12px;margin-bottom:2rem;padding:.6rem 1.4rem;font-size:.7rem;font-weight:800;animation:.8s cubic-bezier(.16,1,.3,1) forwards contactFadeUp;display:inline-flex}.contact-hero__title{font-family:var(--font-heading), sans-serif;text-transform:uppercase;letter-spacing:-3px;background:linear-gradient(#fff 30%,#ffffff4d 100%);-webkit-text-fill-color:transparent;opacity:0;-webkit-background-clip:text;margin:0 0 1.5rem;font-size:clamp(3.5rem,10vw,6.5rem);font-weight:900;line-height:.9;animation:.8s cubic-bezier(.16,1,.3,1) .1s forwards contactFadeUp}.contact-hero__accent{background:linear-gradient(135deg,#ffb703 0%,#d62828 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.contact-hero__sub{color:#ffffff73;opacity:0;max-width:550px;margin:0;font-size:1.1rem;font-weight:400;line-height:1.7;animation:.8s cubic-bezier(.16,1,.3,1) .2s forwards contactFadeUp}.contact-grid{z-index:2;opacity:0;grid-template-columns:1.6fr 1fr;gap:2rem;max-width:1200px;margin:0 auto;padding:0 2rem 4rem;animation:.8s cubic-bezier(.16,1,.3,1) .3s forwards contactFadeUp;display:grid;position:relative}.contact-info-list{flex-direction:column;gap:1.5rem;display:flex}.contact-glass-pane{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff04;border:1px solid #ffffff0a;border-radius:24px;flex-direction:column;gap:1.5rem;padding:2.5rem 2rem;transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex;position:relative;overflow:hidden}.contact-info-list .contact-glass-pane{flex-direction:row;align-items:center;gap:1.5rem;padding:2rem}.contact-info-list .contact-glass-pane:hover{background:#ffffff08;border-color:#ffb70326;transform:translate(8px)}.contact-info-icon{width:56px;height:56px;color:var(--gold,#ffb703);background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;transition:all .4s;display:flex}.contact-info-icon--call{color:#d62828;background:#d6282814;border-color:#d6282833}.contact-info-list .contact-glass-pane:hover .contact-info-icon{background:var(--gold,#ffb703);color:#000;transform:scale(1.1);box-shadow:0 10px 20px #ffb70333}.contact-info-list .contact-glass-pane:hover .contact-info-icon--call{color:#fff;background:#d62828;box-shadow:0 10px 20px #d6282833}.contact-info-icon--whatsapp{color:#25d366;background:#25d36614;border-color:#25d36633}.contact-info-list .contact-glass-pane:hover .contact-info-icon--whatsapp{color:#fff;background:#25d366;box-shadow:0 10px 20px #25d36633}.contact-info-content{flex:1}.contact-info-label{text-transform:uppercase;letter-spacing:2px;color:#ffffff59;margin-bottom:.4rem;font-size:.65rem;font-weight:800}.contact-info-value{font-family:var(--font-heading), sans-serif;color:#fff;letter-spacing:-.5px;white-space:nowrap;margin:0 0 .4rem;font-size:1.4rem;font-weight:800;line-height:1.2}.contact-info-text{color:#ffffff73;margin:0;font-size:.9rem;line-height:1.6}.contact-info-link{color:#fff;border-bottom:1px solid #fff3;text-decoration:none;transition:all .3s}.contact-info-link:hover{color:var(--gold,#ffb703);border-color:var(--gold,#ffb703)}.contact-glass-pane--prime{background:#ffffff05;border:1px solid #ffffff0f;padding:3rem;box-shadow:0 40px 80px #0009}.contact-form-title{font-family:var(--font-heading), sans-serif;text-transform:uppercase;letter-spacing:-1px;background:linear-gradient(#fff 0%,#ffffff80 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:2.5rem;font-size:2.2rem;font-weight:900}.contact-form-row{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.contact-form-group{margin-bottom:1.5rem}.contact-label{text-transform:uppercase;letter-spacing:2px;color:#fff6;margin-bottom:.6rem;margin-left:.2rem;font-size:.65rem;font-weight:800;display:block}.contact-input-wrap{align-items:center;display:flex;position:relative}.contact-input-icon{color:#ffffff40;font-size:1rem;transition:all .3s;position:absolute;left:1.25rem}.contact-input{color:#fff;background:#ffffff05;border:1px solid #ffffff0d;border-radius:14px;width:100%;padding:1.1rem 1.2rem 1.1rem 3.2rem;font-family:inherit;font-size:.95rem;transition:all .3s}.contact-input:focus{background:#ffffff0a;border-color:#ffb70366;outline:none;box-shadow:0 0 20px #ffb7031a}.contact-input:focus+.contact-input-icon{color:var(--gold,#ffb703)}.contact-input-icon--top{top:1.1rem}.contact-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10L6 8z' fill='rgba(255,255,255,0.3)'/%3E%3C/svg%3E");background-position:right 1.2rem center;background-repeat:no-repeat}.contact-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10L6 8z' fill='%23ffb703'/%3E%3C/svg%3E")}textarea.contact-input{resize:vertical;min-height:140px;padding-top:1.1rem}.contact-error{color:#ff6b6b;background:#d628281a;border:1px solid #d6282833;border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.2rem;font-size:.85rem;animation:.4s honShake}@keyframes honShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.contact-success{text-align:center;padding:3rem 1rem}.contact-success-icon{color:#2ecc71;filter:drop-shadow(0 0 20px #2ecc714d);margin-bottom:1.5rem;font-size:3.5rem;animation:.6s cubic-bezier(.175,.885,.32,1.275) forwards honPop}@keyframes honPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.contact-success-title{font-family:var(--font-heading);text-transform:uppercase;color:#fff;margin-bottom:1rem;font-size:2rem;font-weight:900}.contact-success-text{color:#ffffff80;margin-bottom:2.5rem;font-size:1rem;line-height:1.6}.contact-extra{z-index:2;opacity:0;grid-template-columns:1fr 1fr;gap:4rem;max-width:1200px;margin:2rem auto;padding:0 2rem;animation:.8s cubic-bezier(.16,1,.3,1) .4s forwards contactFadeUp;display:grid;position:relative}.contact-extra-title{font-family:var(--font-heading), sans-serif;text-transform:uppercase;letter-spacing:-.5px;align-items:center;gap:12px;margin-bottom:2rem;font-size:1.8rem;font-weight:900;display:flex}.contact-extra-title:before{content:"";background:var(--gold,#ffb703);border-radius:50%;width:12px;height:12px;display:block;box-shadow:0 0 10px #ffb70380}.contact-location-list{flex-direction:column;gap:1rem;display:flex}.contact-location-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff04;border:1px solid #ffffff0a;border-radius:20px;gap:1.2rem;padding:1.5rem;transition:all .3s;display:flex}.contact-location-card:hover{background:#ffffff08;border-color:#ffb70333;transform:translate(6px)}.contact-location-icon{color:var(--gold,#ffb703);flex-shrink:0;margin-top:.2rem;font-size:1.25rem}.contact-location-name{color:#fff;letter-spacing:-.5px;margin:0 0 .4rem;font-size:1.1rem;font-weight:800}.contact-location-address{color:#fff6;margin:0;font-size:.85rem;line-height:1.6}.contact-faq-list{flex-direction:column;gap:1rem;display:flex}.contact-faq-item{background:#ffffff04;border:1px solid #ffffff0a;border-radius:16px;transition:all .3s;overflow:hidden}.contact-faq-item:hover{border-color:#ffffff1a}.contact-faq-item--open{background:#ffffff08;border-color:#ffb7034d}.contact-faq-trigger{color:#fff;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:1.5rem;font-size:1rem;font-weight:700;display:flex}.contact-faq-chevron{color:#ffffff4d;flex-shrink:0;margin-left:1rem;font-size:.8rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.contact-faq-item:hover .contact-faq-chevron{color:var(--gold,#ffb703)}.contact-faq-item--open .contact-faq-chevron{color:var(--gold,#ffb703);transform:rotate(180deg)}.contact-faq-collapse{transition:max-height .4s;overflow:hidden}.contact-faq-answer{color:#ffffff73;padding:0 1.5rem 1.5rem;font-size:.9rem;line-height:1.7}.contact-footer{text-align:center;z-index:2;padding:6rem 2rem 2rem;position:relative}.contact-cta-box{background:radial-gradient(circle,#d628280d 0%,#0000 70%);border:1px solid #d628281a;border-radius:32px;max-width:800px;margin:0 auto;padding:4rem 2rem}.contact-cta-title{font-size:2.5rem;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-1px;margin-bottom:1rem;font-weight:900}.contact-cta-text{color:#fff6;max-width:400px;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;font-size:1.1rem}.contact-cta-btn{color:#fff;text-transform:uppercase;letter-spacing:1.5px;background:linear-gradient(135deg,#d62828 0%,#9e1b1b 100%);border:1px solid #ff646433;border-radius:50px;align-items:center;gap:12px;padding:1.2rem 2.5rem;font-size:.95rem;font-weight:800;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 10px 30px #d628284d}.contact-cta-btn:hover{background:linear-gradient(135deg,#e03232 0%,#b82323 100%);transform:translateY(-4px);box-shadow:0 15px 40px #d6282880}.contact-cta-btn-icon{font-size:1.2rem;transition:transform .3s}.contact-cta-btn:hover .contact-cta-btn-icon{transform:translate(6px)}@media (max-width:1024px){.contact-grid{grid-template-columns:1fr;max-width:700px}.contact-info-list{flex-flow:wrap}.contact-info-list .contact-glass-pane{flex:1;min-width:300px}.contact-extra{grid-template-columns:1fr;gap:3rem;max-width:700px}}@media (max-width:768px){.contact-orb--1{display:none}.contact-watermark{transform-origin:0;font-size:80vw;left:-8vw;transform:translateY(-50%)rotate(-12deg)}.contact-hero{padding:6rem 1.5rem 2rem}.contact-hero__title{letter-spacing:-2px;font-size:clamp(3rem,12vw,4.5rem)}.contact-glass-pane--prime{padding:2rem 1.5rem}.contact-form-row{grid-template-columns:1fr;gap:1.25rem}.contact-form-title{margin-bottom:1.5rem;font-size:1.8rem}.contact-info-list{flex-direction:column;align-items:stretch;gap:1rem}.contact-info-list .contact-glass-pane{text-align:left;border-radius:16px;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:1rem;min-width:100%;padding:1.25rem 1.5rem}.contact-info-icon{width:44px;height:44px;margin:0;font-size:1.1rem}.contact-info-value{white-space:nowrap;margin:0;font-size:1.1rem}.contact-info-label{margin-bottom:.2rem;font-size:.7rem;display:block}.contact-info-text{display:none}.contact-extra-title{font-size:1.5rem}.contact-cta-title{font-size:2rem}}@media (max-width:480px){.contact-hero{padding:5rem 1.25rem 2rem}.contact-hero__title{font-size:2.8rem}.contact-hero__sub{font-size:.95rem}.contact-glass-pane--prime{border-radius:20px;padding:1.5rem 1.25rem}.contact-info-icon{width:38px;height:38px;font-size:1rem}.contact-info-value{font-size:.75rem}.contact-location-card{padding:1.25rem}.contact-faq-trigger{padding:1.25rem;font-size:.95rem}.contact-cta-box{border-radius:24px;padding:3rem 1.5rem}.contact-cta-btn{justify-content:center;width:100%;padding:1.2rem}}.btn:disabled{opacity:.5;cursor:not-allowed}.contact-spinner{animation:1s linear infinite contactSpin}@keyframes contactSpin{to{transform:rotate(360deg)}}