/* April 15 ContactPage and policy component geometry and colors. */
.source-contact-page{background:oklch(.08 .01 260);min-height:100vh;font-family:'Outfit',sans-serif;color:white}
.source-contact-section{padding-top:7rem;padding-bottom:5rem}
.source-contact-container{max-width:1100px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contact-kicker{display:inline-flex;align-items:center;gap:8px;background:oklch(.14 .02 264);border:1px solid oklch(.22 .05 264);border-radius:100px;padding:5px 14px;margin-bottom:1.5rem;font-size:.72rem;font-weight:700;color:oklch(.72 .18 264);letter-spacing:.06em;text-transform:uppercase}
.contact-kicker>span{width:6px;height:6px;border-radius:50%;background:oklch(.72 .20 145);display:inline-block;flex-shrink:0}
.contact-help h1{font-weight:900;font-size:clamp(2rem,5vw,3rem);color:white;line-height:1.1;letter-spacing:-.03em;margin-bottom:1.25rem}
.contact-help h1 span{color:oklch(.72 .18 264)}
.contact-description{font-size:1.05rem;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:2.5rem}
.contact-features{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem}
.contact-feature{display:flex;align-items:flex-start;gap:1rem}
.contact-feature-icon{width:40px;height:40px;border-radius:10px;background:oklch(.13 .01 260);border:1px solid oklch(.20 .01 260);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}
.contact-feature h2{font-weight:700;font-size:.9rem;color:white;margin-bottom:2px}
.contact-feature p{font-size:.82rem;color:rgba(255,255,255,.45);line-height:1.5}
.contact-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-proof-grid>div{background:oklch(.12 .01 260);border:1px solid oklch(.18 .01 260);border-radius:12px;padding:1rem 1.25rem}
.contact-proof-grid strong{display:block;font-weight:900;font-size:1.5rem;color:white;letter-spacing:-.03em;line-height:1}
.contact-proof-grid span{display:block;font-size:.72rem;color:rgba(255,255,255,.40);margin-top:4px;font-weight:600}
.contact-reference-note{font-size:.72rem;line-height:1.65;color:rgba(255,255,255,.55);margin-top:1.1rem}
.contact-reference-note a{color:oklch(.72 .18 264);text-decoration:underline;text-underline-offset:3px}
.contact-panel{background:oklch(.11 .01 260);border:1px solid oklch(.18 .01 260);border-radius:20px;padding:2.5rem}
.contact-account-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.contact-lock{width:44px;height:44px;border-radius:12px;background:oklch(.46 .23 264 / .15);border:1.5px solid oklch(.46 .23 264 / .35);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:oklch(.72 .18 264)}
.contact-account-heading h2{font-weight:800;font-size:1.1rem;color:white;margin:0;letter-spacing:-.02em}
.contact-account-heading p{font-size:.78rem;color:rgba(255,255,255,.40);margin:2px 0 0;line-height:1.5}
.contact-auth-tabs{display:flex;background:oklch(.09 .01 260);border-radius:10px;padding:3px;margin-bottom:1.75rem;gap:3px}
.contact-auth-tabs button{flex:1;padding:.55rem;border-radius:8px;border:none;background:transparent;color:rgba(255,255,255,.40);font-family:'Outfit',sans-serif;font-size:.8rem;font-weight:700;cursor:pointer}
.contact-auth-tabs button[aria-selected=true]{background:oklch(.46 .23 264);color:white}
.contact-form{display:flex;flex-direction:column;gap:1.1rem}
#contact-inquiry-form{gap:1.25rem}
.contact-field label{display:block;font-size:.75rem;font-weight:700;color:rgba(255,255,255,.50);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.45rem}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;background:oklch(.13 .01 260);border:1.5px solid oklch(.22 .01 260);border-radius:10px;color:white;font-family:'Outfit',sans-serif;font-size:.9rem;padding:.75rem 1rem;outline:none;box-sizing:border-box;transition:border-color .2s}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:oklch(.46 .23 264)}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:rgba(255,255,255,.30)}
.contact-field select{cursor:pointer}.contact-field option{background:oklch(.13 .01 260)}
.contact-field textarea{resize:vertical;min-height:140px;line-height:1.5}
.contact-password{position:relative}.contact-password input{padding-right:2.75rem}
.contact-password button{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:rgba(255,255,255,.35);padding:0;display:flex;align-items:center;justify-content:center}
.contact-note{font-size:.7rem;color:rgba(255,255,255,.40);line-height:1.5;margin-top:4px}
.contact-note a{color:oklch(.72 .18 264)}
.contact-note-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.contact-counter{font-variant-numeric:tabular-nums;white-space:nowrap}
.contact-primary{width:100%;padding:.9rem;background:oklch(.46 .23 264);color:white;border:none;border-radius:10px;font-family:'Outfit',sans-serif;font-weight:800;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;text-decoration:none}
.contact-primary:hover{transform:translateY(-1px);background:oklch(.41 .23 264)}.contact-primary:disabled{background:oklch(.35 .18 264);cursor:not-allowed;transform:none}
.contact-forgot{text-align:center;font-size:.75rem;color:oklch(.72 .18 264);text-decoration:none}
.contact-status{font-size:.82rem;color:rgba(255,255,255,.65);line-height:1.6;margin-top:1rem}.contact-status:empty{display:none}
.contact-status[data-tone=error]{background:oklch(.20 .08 25 / .3);border:1px solid oklch(.55 .22 25 / .5);border-radius:10px;padding:.875rem 1rem;color:oklch(.75 .18 25)}.contact-status a{color:oklch(.72 .18 264);text-decoration:underline}
.contact-identity{display:flex;align-items:center;gap:.6rem;background:oklch(.72 .20 145 / .08);border:1px solid oklch(.72 .20 145 / .25);border-radius:10px;padding:.6rem .9rem;margin-bottom:1.75rem;font-size:.78rem;font-weight:700;color:oklch(.72 .20 145)}
.contact-identity span{overflow-wrap:anywhere}.contact-identity button{margin-left:auto;background:transparent;border:none;color:inherit;font-size:.72rem;white-space:nowrap;text-decoration:underline;cursor:pointer}
#contact-inquiry-title{font-weight:800;font-size:1.25rem;color:white;margin-bottom:.4rem;letter-spacing:-.02em}
.contact-inquiry-description{font-size:.82rem;color:rgba(255,255,255,.40);margin-bottom:2rem;line-height:1.5}
.contact-terms{text-align:center;font-size:.72rem;color:rgba(255,255,255,.40);line-height:1.5}.contact-terms a{color:rgba(255,255,255,.65)}
.contact-success{text-align:center}.contact-success-check{width:72px;height:72px;border-radius:50%;background:oklch(.72 .20 145 / .15);border:2px solid oklch(.72 .20 145);color:oklch(.72 .20 145);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.contact-success h2{font-weight:800;font-size:1.4rem;color:white;margin-bottom:.75rem;letter-spacing:-.02em}.contact-success p{font-size:.9rem;color:rgba(255,255,255,.50);line-height:1.6;margin-bottom:.5rem}
.contact-reference{overflow-wrap:anywhere}.contact-success-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.contact-success-actions .contact-primary{width:auto;padding:.75rem 1.5rem;font-size:.875rem;font-weight:700}
.contact-success-actions button{background:transparent;color:rgba(255,255,255,.50);border:1px solid oklch(.22 .01 260);border-radius:10px;padding:.75rem 1.5rem;font-family:'Outfit',sans-serif;font-weight:700;font-size:.875rem;cursor:pointer}
.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.source-contact-page :focus-visible{outline:2px solid oklch(.72 .18 264);outline-offset:4px}
.source-policy-page{background:oklch(.99 0 0);min-height:100vh}
.source-policy-disclosure{font-family:'Outfit',sans-serif;font-size:.78rem;line-height:1.7;color:oklch(.35 .01 260);padding-top:1.25rem;padding-bottom:1.25rem}
.source-policy-disclosure strong{font-weight:700;color:oklch(.22 .01 260)}.source-policy-disclosure p{margin-top:.4rem}.source-policy-disclosure a{color:oklch(.46 .23 264);text-decoration:underline;text-underline-offset:3px}
.source-policy-tooltip{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px}
.source-policy-tooltip>button{width:16px;height:16px;border-radius:50%;background:oklch(.88 .015 264);color:oklch(.46 .23 264);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}
.source-policy-tooltip>span{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:oklch(.12 .02 264);color:rgba(255,255,255,.90);font-size:.75rem;line-height:1.55;padding:.6rem .85rem;border-radius:10px;width:240px;box-shadow:0 8px 32px rgba(0,0,0,.18);z-index:10}
.source-policy-tooltip:hover>span,.source-policy-tooltip:focus-within>span{display:block}
.contact-spinner{animation:contact-spin 1s linear infinite}@keyframes contact-spin{to{transform:rotate(360deg)}}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr!important;gap:2.5rem!important}.source-policy-tooltip>span{left:auto;right:-24px;transform:none}}
@media(prefers-reduced-motion:reduce){.contact-primary,.contact-field input,.contact-field select,.contact-field textarea{transition:none}.contact-spinner{animation:none}}
