/* Nordic unified forms: scoped to forms only */
.nordic-unified-form{box-sizing:border-box;display:flex;flex-direction:column;gap:clamp(10px,1.5vw,16px);width:100%;max-width:100%;min-width:0;text-align:left}.nordic-unified-form *{box-sizing:border-box}.nordic-unified-form .nf-field{display:flex;flex-direction:column;gap:7px;min-width:0}.nordic-unified-form label,.nordic-unified-form .nf-label{font:inherit;font-size:clamp(13px,1vw,15px);font-weight:600;color:inherit}.nordic-unified-form input:not([type=checkbox]),.nordic-unified-form textarea{width:100%;min-width:0;max-width:100%;border:1px solid rgba(63,220,204,.32);border-radius:12px;padding:12px 14px;background:rgba(5,19,25,.62);color:#f7ffff;font:inherit;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s}.nordic-unified-form input::placeholder,.nordic-unified-form textarea::placeholder{color:#a6bbbf}.nordic-unified-form input:focus,.nordic-unified-form textarea:focus{border-color:#26d5c1;box-shadow:0 0 0 3px rgba(38,213,193,.14)}.nordic-unified-form textarea{resize:vertical;min-height:100px}.nordic-unified-form .nf-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nordic-unified-form .nf-choice{display:flex;align-items:center;gap:8px;font-weight:400;font-size:13px}.nordic-unified-form .nf-choice input{accent-color:#26d5c1}.nordic-unified-form .nf-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nordic-unified-form .nf-button{min-width:0;width:100%;min-height:44px;padding:10px 12px;border-radius:999px;border:1px solid #26d5c1;font:inherit;font-weight:700;font-size:clamp(12px,1vw,14px);letter-spacing:.02em;cursor:pointer;transition:transform .2s,background .2s,color .2s}.nordic-unified-form .nf-button:hover{transform:translateY(-2px)}.nordic-unified-form .nf-reset{color:#b9f6ee;background:transparent}.nordic-unified-form .nf-send{color:#041d20;background:#26d5c1}.nordic-unified-form .nf-button:disabled{opacity:.65;cursor:wait}.nordic-unified-form .nf-feedback{padding:18px 12px;text-align:center;border:1px solid rgba(38,213,193,.3);border-radius:14px;background:rgba(6,34,38,.8);color:#fff}.nordic-unified-form .nf-feedback[hidden]{display:none}.nordic-unified-form .nf-feedback strong{display:block;margin:8px 0;font-size:clamp(16px,1.5vw,20px)}.nordic-unified-form .nf-feedback p{margin:0;font-size:14px;line-height:1.55}.nordic-unified-form .nf-envelope{display:inline-block;font-size:36px;transform-origin:center;animation:nf-fly .8s ease-in-out both}@keyframes nf-fly{0%{opacity:0;transform:translate(-35px,20px) rotate(-18deg) scale(.65)}55%{opacity:1;transform:translate(12px,-14px) rotate(12deg) scale(1.12)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}@media(max-width:480px){.nordic-unified-form .nf-choices{grid-template-columns:1fr}.nordic-unified-form .nf-actions{gap:8px}.nordic-unified-form .nf-button{padding:10px 6px}}@media(prefers-reduced-motion:reduce){.nordic-unified-form *{animation:none!important;transition:none!important}}

/* Confirmation replaces the complete form instead of appearing below populated fields. */
.nordic-unified-form [hidden]{display:none!important}
.nordic-unified-form.nf-complete{justify-content:center;align-items:stretch;min-height:clamp(260px,35vw,390px)}
.nordic-unified-form.nf-complete>:not(.nf-feedback){display:none!important}
.nordic-unified-form.nf-complete>.nf-feedback{width:100%;min-height:clamp(245px,30vw,350px);display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:clamp(20px,4vw,36px) 18px;animation:nf-reveal .45s ease both}
.nordic-unified-form .nf-feedback.nf-sending{padding:12px;border-color:transparent;background:transparent;color:#b9f6ee}
.nordic-unified-form .nf-feedback.nf-success strong{font-size:clamp(18px,2vw,23px);line-height:1.3;margin:8px 0 0}
.nordic-unified-form .nf-feedback.nf-success p{max-width:370px;font-size:clamp(14px,1.2vw,16px)}
.nordic-unified-form .nf-envelope-scene{width:138px;height:115px;position:relative;display:grid;place-items:center;isolation:isolate}
.nordic-unified-form .nf-orbit{position:absolute;width:108px;height:108px;border:1px solid rgba(46,229,207,.22);border-radius:50%;box-shadow:0 0 32px rgba(46,229,207,.11),inset 0 0 20px rgba(46,229,207,.05);animation:nf-orbit-in .9s ease-out both}
.nordic-unified-form .nf-envelope-icon{display:block;position:relative;z-index:2;filter:drop-shadow(0 8px 16px rgba(46,229,207,.3));animation:nf-letter-flight 1.25s cubic-bezier(.22,.8,.22,1) both}
.nordic-unified-form .nf-trail{position:absolute;z-index:1;height:2px;border-radius:8px;background:linear-gradient(90deg,transparent,#2ee5cf);transform:translateX(-90px);animation:nf-trail-flight .9s ease-out both}
.nordic-unified-form .nf-trail-one{width:55px;top:43px;left:28px}.nordic-unified-form .nf-trail-two{width:40px;top:65px;left:32px;animation-delay:.12s}
.nordic-unified-form .nf-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#64ffe8;box-shadow:0 0 10px #2ee5cf;opacity:0;animation:nf-sparkle .8s ease-out .7s both}
.nordic-unified-form .nf-spark-a{top:15px;right:19px}.nordic-unified-form .nf-spark-b{bottom:20px;left:12px;animation-delay:.9s}.nordic-unified-form .nf-spark-c{top:35px;left:12px;animation-delay:1.05s}
@keyframes nf-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes nf-letter-flight{0%{opacity:0;transform:translate(-75px,25px) rotate(-20deg) scale(.65)}60%{opacity:1;transform:translate(9px,-8px) rotate(7deg) scale(1.08)}80%{transform:translate(-3px,2px) rotate(-2deg) scale(.98)}100%{transform:translate(0,0) rotate(0) scale(1)}}
@keyframes nf-trail-flight{0%{opacity:0;transform:translateX(-75px) scaleX(.2)}40%{opacity:.85}100%{opacity:0;transform:translateX(55px) scaleX(.4)}}
@keyframes nf-orbit-in{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}
@keyframes nf-sparkle{0%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.6)}100%{opacity:0;transform:scale(.3)}}
@media(prefers-reduced-motion:reduce){.nordic-unified-form .nf-envelope-scene *,.nordic-unified-form.nf-complete>.nf-feedback{animation:none!important}.nordic-unified-form .nf-trail,.nordic-unified-form .nf-spark{display:none}}

.nordic-unified-form .nf-again{margin-top:12px;padding:11px 20px;min-height:42px;max-width:100%;border:1px solid #26d5c1;border-radius:999px;background:rgba(38,213,193,.12);color:#aef5e9;font:inherit;font-weight:650;font-size:14px;cursor:pointer;transition:background .2s,transform .2s}
.nordic-unified-form .nf-again:hover{background:rgba(38,213,193,.23);transform:translateY(-2px)}

/* Consistent text contrast for mobile browsers, saved fields and autofill. */
.nordic-unified-form input:not([type=checkbox]),
.nordic-unified-form textarea,
.nordic-unified-form select{color:#f7ffff!important;-webkit-text-fill-color:#f7ffff!important;caret-color:#31d9c5;color-scheme:dark;}
.nordic-unified-form input:-webkit-autofill,
.nordic-unified-form input:-webkit-autofill:hover,
.nordic-unified-form input:-webkit-autofill:focus,
.nordic-unified-form textarea:-webkit-autofill,
.nordic-unified-form textarea:-webkit-autofill:focus{
  -webkit-text-fill-color:#f7ffff!important;
  caret-color:#31d9c5!important;
  -webkit-box-shadow:0 0 0 1000px #14292b inset!important;
  box-shadow:0 0 0 1000px #14292b inset!important;
  border-color:rgba(63,220,204,.42)!important;
  transition:background-color 9999s ease-out 0s;
}
.nordic-unified-form input::selection,.nordic-unified-form textarea::selection{background:#236e6b;color:#fff}
