:root{--purple-deep:#2d0a3e;--purple-mid:#3b0f50;--purple-rich:#6a1f8a;--purple-soft:#c9a8e0;--purple-pale:#f3edf7;--beige:#f5ede8;--beige-dark:#ecddd6;--gold:#c9a84c;--gold-light:#e8c96a;--text-dark:#1a0a24;--text-mid:#5a4a6a;--text-light:#9a8aa8;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}.contact_page{font-family:var(--main-font);background:var(--beige);color:var(--text-dark);overflow-x:hidden}.contact_hero{background:var(--purple-deep);text-align:center;padding:90px 24px 80px;position:relative;overflow:hidden}.contact_hero:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 20%,#6a1f8a73 0%,#0000 70%),radial-gradient(60% 80% at 80% 30%,#c9a8401f 0%,#0000 60%);position:absolute;inset:0}.smoke_rings{pointer-events:none;width:600px;height:100%;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.ring{border:1px solid #c9a8c91f;border-radius:50%;animation:linear infinite drift;position:absolute}.ring:first-child{width:120px;height:120px;animation-duration:8s;animation-delay:0s;top:10%;left:40%}.ring:nth-child(2){width:200px;height:200px;animation-duration:11s;animation-delay:2s;top:20%;left:30%}.ring:nth-child(3){width:80px;height:80px;animation-duration:7s;animation-delay:4s;top:5%;left:55%}.ring:nth-child(4){width:160px;height:160px;animation-duration:13s;animation-delay:1s;top:15%;left:50%}@keyframes drift{0%{opacity:0;transform:translateY(0)scale(1)}20%{opacity:.6}to{opacity:0;transform:translateY(-120px)scale(1.6)}}.hero_eyebrow{font-family:var(--main-font);letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);background:#c9a8401f;border:1px solid #c9a8404d;border-radius:100px;margin-bottom:22px;padding:6px 18px;font-size:11px;font-weight:600;display:inline-block;position:relative}.contact_hero h1{font-family:var(--head-font-family);color:var(--white);letter-spacing:-1px;margin-bottom:18px;font-size:clamp(44px,7vw,80px);font-weight:700;line-height:1.05;position:relative}.contact_hero h1 em{color:var(--gold-light);font-style:italic}.hero_desc{font-family:var(--main-font);color:#fff9;max-width:480px;margin:0 auto;font-size:16px;font-weight:400;line-height:1.75;position:relative}.contact_body{padding:80px 24px}.contact_inner{grid-template-columns:1fr 1.5fr;align-items:start;gap:60px;max-width:1100px;margin:0 auto;display:grid}.section_eyebrow{font-family:var(--main-font);letter-spacing:3px;text-transform:uppercase;color:var(--purple-rich);margin-bottom:12px;font-size:11px;font-weight:600;display:block}.info_intro h2{font-family:var(--head-font-family);color:var(--purple-deep);margin-bottom:14px;font-size:clamp(28px,3.5vw,40px);font-weight:700;line-height:1.15}.info_intro h2 em{color:var(--purple-rich);font-style:italic}.info_intro p{font-family:var(--main-font);color:var(--text-mid);margin-bottom:32px;font-size:14.5px;line-height:1.75}.info_cards{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.info_card{background:var(--white);border:1px solid var(--beige-dark);border-radius:14px;align-items:flex-start;gap:16px;padding:18px 20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 12px #4a1a5c0d}.info_card:hover{transform:translate(4px);box-shadow:0 6px 24px #4a1a5c1a}.info_icon{background:var(--purple-pale);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.info_text{flex-direction:column;gap:3px;display:flex}.info_label{font-family:var(--main-font);letter-spacing:1.5px;text-transform:uppercase;color:var(--purple-rich);font-size:11px;font-weight:600}.info_value{font-family:var(--main-font);color:var(--text-dark);white-space:pre-line;font-size:14px;line-height:1.5}.social_row{align-items:center;gap:14px;display:flex}.social_label{font-family:var(--main-font);color:var(--text-light);letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:600}.social_links{gap:10px;display:flex}.social_btn{background:var(--white);border:1px solid var(--beige-dark);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;text-decoration:none;transition:background .2s,transform .15s,border-color .2s;display:flex;box-shadow:0 2px 8px #4a1a5c0f}.social_btn:hover{background:var(--purple-pale);border-color:var(--purple-soft);transform:translateY(-2px)}.contact_form_wrap{background:var(--white);border:1px solid var(--beige-dark);border-radius:20px;padding:44px;box-shadow:0 8px 40px #4a1a5c1a}.form_header{margin-bottom:32px}.form_header h2{font-family:var(--head-font-family);color:var(--purple-deep);font-size:clamp(26px,3vw,36px);font-weight:700;line-height:1.15}.form_header h2 em{color:var(--purple-rich);font-style:italic}.form_error{color:#c0392b;font-family:var(--main-font);background:#fff0f0;border:1.5px solid #f5c2c2;border-radius:10px;align-items:center;gap:8px;margin-bottom:20px;padding:11px 14px;font-size:14px;font-weight:500;display:flex}.enquiry_form{flex-direction:column;gap:20px;display:flex}.form_row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.input_group{flex-direction:column;gap:7px;display:flex}.input_group label{font-family:var(--main-font);color:var(--purple-mid);letter-spacing:.2px;font-size:13px;font-weight:600}.req{color:#e74c3c;margin-left:2px}.input_group input,.input_group select,.input_group textarea{width:100%;font-size:14.5px;font-family:var(--main-font);color:var(--text-dark);box-sizing:border-box;background:#faf7fc;border:1.5px solid #e0d4ec;border-radius:10px;outline:none;padding:13px 16px;transition:border-color .2s,box-shadow .2s,background .2s}.input_group input::placeholder,.input_group textarea::placeholder{color:#b0a0bc}.input_group input:focus,.input_group select:focus,.input_group textarea:focus{background:#fff;border-color:#9b59c0;box-shadow:0 0 0 3px #9b59c01f}.input_group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236a1f8a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.input_group textarea{resize:vertical;min-height:130px;line-height:1.6}.btn_submit{background:var(--purple-mid);width:100%;color:var(--white);font-family:var(--main-font);cursor:pointer;letter-spacing:.3px;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:15px;font-size:15px;font-weight:600;transition:background .2s,transform .15s;display:flex}.btn_submit:hover:not(:disabled){background:var(--purple-rich);transform:translateY(-2px)}.btn_submit:disabled{cursor:not-allowed;background:#a07ab8;transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.success_banner{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:40px 20px;display:flex}.success_icon{font-size:56px}.success_banner h3{font-family:var(--head-font-family);color:var(--purple-deep);font-size:28px;font-weight:700}.success_banner p{font-family:var(--main-font);color:var(--text-mid);max-width:340px;font-size:15px;line-height:1.7}.btn_reset{background:var(--purple-pale);color:var(--purple-rich);border:1.5px solid var(--purple-soft);font-family:var(--main-font);cursor:pointer;border-radius:10px;margin-top:6px;padding:11px 28px;font-size:14px;font-weight:600;transition:background .2s,transform .15s}.btn_reset:hover{background:#e8d8f5;transform:translateY(-1px)}.map_section{background:var(--purple-deep);height:360px;position:relative}.map_label{z-index:10;background:var(--white);font-family:var(--main-font);color:var(--purple-deep);white-space:nowrap;border-radius:100px;align-items:center;gap:6px;padding:8px 20px;font-size:13px;font-weight:600;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #2d0a3e2e}.map_section iframe{opacity:.92;filter:saturate(.7);width:100%;height:100%}@media (max-width:900px){.contact_inner{grid-template-columns:1fr;gap:40px}.contact_form_wrap{padding:32px 24px}}@media (max-width:560px){.form_row{grid-template-columns:1fr}.map_section{height:260px}}
