/* Northvale Academy — Contact page styles */

::selection{background:#16130F;color:#FFFFFF;}

@keyframes nvGradText{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}
@keyframes nvFlowLine{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
@keyframes nvPingNode{0%{transform:scale(.6);opacity:.9;}100%{transform:scale(2.4);opacity:0;}}
@keyframes nvFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@keyframes nvSpin{to{transform:rotate(360deg);}}
@keyframes nvCheckPop{0%{transform:scale(.4);opacity:0;}60%{transform:scale(1.12);opacity:1;}100%{transform:scale(1);}}
@keyframes nvRipple{to{transform:scale(2.6);opacity:0;}}

.nv-grad-text{background:linear-gradient(90deg,#C59D5F 0%,#4F8DFF 35%,#C59D5F 70%,#4F8DFF 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nvGradText 7s linear infinite;}
.nv-field{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.nv-field:focus{outline:none;border-color:#4F8DFF !important;box-shadow:0 0 0 4px rgba(79,141,255,.13);background:#FFFFFF !important;}
.nv-info-card{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease,border-color .45s ease;text-decoration:none;}
.nv-info-card:hover{transform:translateY(-5px);box-shadow:0 28px 54px -28px rgba(79,141,255,.22);border-color:#C9D7F7 !important;}
.nv-info-icon{transition:transform .45s cubic-bezier(.16,1,.3,1);animation:nvFloat 5s ease-in-out infinite;}
.nv-info-card:nth-child(2) .nv-info-icon{animation-delay:.4s;}
.nv-info-card:nth-child(3) .nv-info-icon{animation-delay:.8s;}
.nv-info-card:hover .nv-info-icon{transform:scale(1.08);}
.nv-cta-btn{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;}
.nv-cta-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 22px 46px -14px rgba(30,25,20,.5),0 0 0 5px rgba(79,141,255,.14);}
.nv-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:nvRipple .6s ease-out forwards;pointer-events:none;}
.nv-spin{animation:nvSpin .8s linear infinite;display:none;}
#nv-grid-overlay{position:absolute;inset:0;opacity:.5;pointer-events:none;background-image:linear-gradient(rgba(79,141,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(79,141,255,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 0%,transparent 75%);}
#nv-cursor-glow{position:fixed;top:0;left:0;width:460px;height:460px;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(circle,rgba(79,141,255,.10) 0%,rgba(197,157,95,.05) 45%,transparent 70%);opacity:0;will-change:transform,opacity;}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){ #nv-cursor-glow{display:none;} .nv-info-icon{animation:none;} }
@media (max-width:900px){ .nv-contact-grid{ grid-template-columns:1fr !important; gap:36px !important; } }
@media (max-width:560px){
  .nv-form-row{ grid-template-columns:1fr !important; }
  section{ padding-left:22px !important; padding-right:22px !important; }
  .nv-contact-grid > div:last-child{ padding:36px 24px !important; }
  .nv-trust-row{ flex-direction:column !important; align-items:flex-start !important; }
}


/* ============ Renamed component classes (from inline-style extraction) ============ */
.nv-page--contact{position:relative;color:#1D1713;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;}
.nv-breadcrumb--raised{position:relative;z-index:2;}
.nv-contact-hero{position:relative;max-width:900px;margin:0 auto;padding:64px 40px 72px;text-align:center;}
.nv-contact-hero__badge-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:30px;}
.nv-contact-hero__badge-line{width:28px;height:1.5px;background:#C59D5F;}
.nv-contact-hero__badge-label{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#C59D5F;}
.nv-contact-hero__title{font-family:'Newsreader',serif;font-weight:400;font-size:clamp(42px,6.2vw,58px);line-height:1.08;letter-spacing:-.02em;margin:0 0 26px;}
.nv-contact-hero__title-accent{font-style:italic;}
.nv-contact-hero__lede{font-size:18px;line-height:1.7;color:#6B7280;max-width:520px;margin:0 auto;}
.nv-contact-section{position:relative;max-width:1200px;margin:0 auto;padding:0 40px 130px;width:100%;}
.nv-contact-grid__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;}
.nv-info-card__inner{display:flex;gap:20px;align-items:flex-start;background:#FFFFFF;border:1px solid #E9E2DA;border-radius:20px;padding:28px 26px;box-shadow:0 2px 10px -4px rgba(20,16,12,.06);}
.nv-info-card__icon{width:54px;height:54px;border-radius:14px;background:linear-gradient(155deg,#F2F1EE,#EEF3FF);display:flex;align-items:center;justify-content:center;color:#4F8DFF;flex-shrink:0;}
.nv-info-card__label{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8B857C;margin-bottom:6px;}
.nv-info-card__value{display:block;font-size:18px;font-weight:600;color:#1D1713;margin-bottom:5px;}
.nv-info-card__desc{display:block;font-size:13.5px;line-height:1.5;color:#6B7280;}
.nv-ai-panel{position:relative;background:linear-gradient(155deg,#181510,#0E0C09 75%);border-radius:20px;padding:30px 26px;color:#EDE7DC;margin-top:6px;overflow:hidden;box-shadow:0 20px 44px -24px rgba(20,16,12,.5);}
.nv-ai-panel__glow{position:absolute;top:-30px;right:-30px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(79,141,255,.2),transparent 70%);pointer-events:none;}
.nv-ai-panel__topline{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#4F8DFF,#C9A876,#4F8DFF);background-size:200% 100%;animation:nvFlowLine 3.4s linear infinite;}
.nv-ai-panel__header{display:flex;align-items:center;gap:9px;margin-bottom:18px;position:relative;}
.nv-ai-panel__badge{position:relative;display:inline-flex;width:8px;height:8px;}
.nv-ai-panel__badge-ping{position:absolute;inset:0;border-radius:50%;background:#4F8DFF;animation:nvPingNode 2.2s ease-out infinite;}
.nv-ai-panel__badge-dot{position:relative;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#4F8DFF,#C9A876);}
.nv-ai-panel__title{font-size:13px;font-weight:600;color:#F2F1EE;}
.nv-ai-panel__list{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;position:relative;}
.nv-ai-panel__list-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#B4AC9E;}
.nv-ai-panel__list-dot{width:5px;height:5px;border-radius:50%;background:#4F8DFF;flex-shrink:0;}
.nv-contact-form-card{position:relative;background:#FFFFFF;border:1px solid #E9E2DA;border-radius:24px;padding:52px 48px;box-shadow:0 30px 60px -36px rgba(20,16,12,.16);overflow:hidden;}
.nv-contact-form-card__topline{position:absolute;top:0;left:0;right:0;height:2.5px;background:linear-gradient(90deg,#4F8DFF,#C9A876,#4F8DFF);background-size:200% 100%;animation:nvFlowLine 3.4s linear infinite;}
.nv-contact-form__title{font-family:'Newsreader',serif;font-weight:500;font-size:30px;margin:0 0 10px;color:#1D1713;}
.nv-contact-form__subtitle{font-size:15.5px;color:#6B7280;margin:0 0 36px;}
.nv-contact-form__row{display:flex;gap:22px;margin-bottom:22px;justify-content: space-between;}
.nv-contact-form__field{display:flex;flex-direction:column;gap:7px;width: 48%;}
.nv-contact-form__field--select{display:flex;flex-direction:column;gap:9px;}
.nv-form-field__label--select{font-size:13px;font-weight:600;color:#3A352E;}
.nv-contact-form__select{width:100%;height:56px;padding:0 44px 0 18px;font-family:inherit;font-size:15.5px;color:#1D1713;background:#FFFFFF;border:1px solid #E9E2DA;border-radius:14px;appearance:none;cursor:pointer;}
.nv-contact-form__field--message{display:flex;flex-direction:column;gap:9px;margin-bottom:8px;}
.nv-contact-form__textarea{width:100%;padding:16px 18px;font-family:inherit;font-size:15.5px;color:#1D1713;background:#FFFFFF;border:1px solid #E9E2DA;border-radius:14px;resize:vertical;}
.nv-contact-form__submit{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;height:56px;font-size:16px;font-weight:600;color:#FFFFFF;background:linear-gradient(120deg,#16130F,#22262E 55%,#16130F);border:none;cursor:pointer;border-radius:14px;font-family:inherit;margin-top:16px;}
.nv-contact-form__submit-spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#FFFFFF;}
.nv-contact-form__submit-label{display:inline-flex;align-items:center;gap:10px;}
.nv-contact-form__trust-row{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:22px;}
.nv-contact-form__trust-item{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:#6B7280;}
.nv-contact-form__success--hidden{display:none;text-align:center;padding:48px 10px;}
.nv-contact-form__success-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(155deg,#EEF3FF,#F2F1EE);display:flex;align-items:center;justify-content:center;margin:0 auto 26px;animation:nvCheckPop .5s cubic-bezier(.16,1,.3,1);}
.nv-contact-form__success-title{font-family:'Newsreader',serif;font-weight:500;font-size:32px;margin:0 0 14px;color:#1D1713;}
.nv-contact-form__success-lede{font-size:17px;line-height:1.65;color:#6B7280;margin:0 auto 30px;max-width:380px;}
.nv-contact-form__success-reset{font-size:15px;font-weight:600;color:#16130F;background:none;border:1.5px solid #E9E2DA;cursor:pointer;padding:14px 28px;border-radius:12px;font-family:inherit;}
