/* Scoped approved Contact Page v2. */
/* Background belongs to the full-width surface, never the bounded content column. */
.tsf-contact-page,.tsf-contact-host{
 --tsf-contact-background:radial-gradient(ellipse at 17% 14%,rgba(137,57,245,.14),transparent 34%),radial-gradient(ellipse at 88% 54%,rgba(0,194,255,.09),transparent 35%),#080a10;
}
.tsf-contact-host.alignfull{
 container:tsf-contact-page / inline-size;position:relative;isolation:isolate;
 width:100%;max-width:none;margin-inline:0!important;min-width:0;min-height:100vh;min-height:100svh;
 background:var(--tsf-contact-background);
}
/* Contact pages only. Keep theme header/footer and other page templates untouched.
   Native full alignment + unconstrained ancestors avoids viewport units and negative margins. */
.tsf-contact-page :where(main,.wp-block-group,.wp-block-post-content,.entry-content,.entry,.content-area,.site-content):has(.tsf-contact-host){
 max-width:none;width:100%;margin-inline:0!important;padding-inline:0!important;
}
.tsf-contact-page main:has(.tsf-contact-host),
.tsf-contact-page main .wp-block-group:has(.tsf-contact-host){
 margin-block:0!important;padding-block:0!important;
}
.tsf-contact-page main:has(.tsf-contact-host){background:var(--tsf-contact-background);min-height:100vh;min-height:100svh}
.tsf-contact-page main:has(.tsf-contact-host) .tsf-contact-host{background:none}
.tsf-contact-page main:has(.tsf-contact-host) .wp-block-post-title{color:#eef0ff}

.tsf-contact :is(h1,h2,h3,p,header,nav,section,aside,footer,form,label,input,select,textarea,button,a){all:revert;box-sizing:border-box}
.tsf-contact.tsf-contact{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:none;color:#eef0ff}.tsf-contact.tsf-contact *{box-sizing:border-box}.tsf-contact.tsf-contact{scroll-behavior:smooth}.tsf-contact.tsf-contact{margin:0;background:none}.tsf-contact.tsf-contact button,.tsf-contact.tsf-contact input,.tsf-contact.tsf-contact textarea,.tsf-contact.tsf-contact select{font:inherit}.tsf-contact.tsf-contact button{cursor:pointer}.tsf-contact.tsf-contact a{color:inherit;text-decoration:none}.tsf-contact.tsf-contact{--tsf-contact-violet:#a66bff;--tsf-contact-cyan:#57d9ff;--tsf-contact-muted:#a3a5bd;--tsf-contact-panel:#121522;max-width:1400px;margin:auto;padding:42px clamp(18px,5cqw,76px) 95px;position:relative;isolation:isolate}.tsf-contact-host.alignfull:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(144,122,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(144,122,255,.025) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(180deg,#000,transparent 80%)}.tsf-contact.tsf-contact .eyebrow{color:var(--tsf-contact-cyan);font-size:11px;letter-spacing:3.4px;font-weight:900;text-transform:uppercase;margin:0 0 18px}.tsf-contact.tsf-contact .heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.tsf-contact.tsf-contact h1{font-size:clamp(43px,6.5cqw,82px);line-height:1.05;letter-spacing:-3.6px;margin:0 0 17px;font-weight:950}.tsf-contact.tsf-contact h1 em{font-style:normal;color:#c18bff;text-shadow:0 0 40px rgba(169,77,253,.27)}.tsf-contact.tsf-contact .lead{font-size:15px;line-height:1.8;color:#a4a6be;max-width:600px;margin:0}.tsf-contact.tsf-contact .heading-side{font-size:12px;letter-spacing:1.8px;font-weight:900;color:#686b84;text-align:right;white-space:nowrap;padding-bottom:8px}.tsf-contact.tsf-contact .heading-side strong{display:block;color:#cec9ed;font-size:15px;margin-bottom:7px}.tsf-contact.tsf-contact .layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:22px}.tsf-contact.tsf-contact .panel{background:linear-gradient(143deg,rgba(29,30,50,.94),rgba(15,18,32,.96) 68%);border:1px solid rgba(158,143,236,.15);border-radius:19px;position:relative;overflow:hidden;box-shadow:0 23px 60px rgba(0,0,0,.25)}.tsf-contact.tsf-contact .panel:before{position:absolute;content:"";height:2px;left:20px;right:20px;top:0;background:linear-gradient(90deg,transparent,rgba(174,100,255,.8),rgba(65,220,255,.5),transparent)}.tsf-contact.tsf-contact .form-panel{padding:clamp(24px,3.5cqw,42px)}.tsf-contact.tsf-contact .panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tsf-contact.tsf-contact .mini-tag{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#b9a0ee;border:1px solid rgba(184,145,246,.25);background:rgba(159,103,255,.07);padding:7px 11px;border-radius:999px}.tsf-contact.tsf-contact .panel h2{font-size:22px;line-height:1.3;margin:0;letter-spacing:-.6px}.tsf-contact.tsf-contact .panel .sub{font-size:13px;line-height:1.65;color:var(--tsf-contact-muted);margin:10px 0 26px}.tsf-contact.tsf-contact .fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.tsf-contact.tsf-contact .field{min-width:0}.tsf-contact.tsf-contact .wide{grid-column:1/-1}.tsf-contact.tsf-contact .field label{display:block;font-size:12px;color:#d9d9e8;font-weight:750;margin:0 0 9px}.tsf-contact.tsf-contact .field label span{color:#ab73ff}.tsf-contact.tsf-contact .input-wrap{position:relative}.tsf-contact.tsf-contact .field input,.tsf-contact.tsf-contact .field select,.tsf-contact.tsf-contact .field textarea{width:100%;background:#0b0e1a;border:1px solid #35334d;border-radius:10px;color:#f0f0fa;padding:14px 15px;outline:none;font-size:13px;transition:border-color .18s,box-shadow .18s}.tsf-contact.tsf-contact .field input::placeholder,.tsf-contact.tsf-contact .field textarea::placeholder{color:#74768d}.tsf-contact.tsf-contact .field textarea{min-height:138px;resize:vertical;line-height:1.65}.tsf-contact.tsf-contact .field select{appearance:none;padding-right:40px;cursor:pointer}.tsf-contact.tsf-contact .input-wrap:has(select):after{content:"⌄";position:absolute;right:17px;top:8px;font-size:25px;pointer-events:none;color:#ad98dc}.tsf-contact.tsf-contact .field input:focus,.tsf-contact.tsf-contact .field select:focus,.tsf-contact.tsf-contact .field textarea:focus{border-color:#9466ef;box-shadow:0 0 0 3px rgba(130,74,220,.15)}.tsf-contact.tsf-contact .field [aria-invalid=true]{border-color:#ff879c}.tsf-contact.tsf-contact .error{color:#ff9baa;font-size:11px;margin:6px 2px 0;display:none}.tsf-contact.tsf-contact .field.has-error .error{display:block}.tsf-contact.tsf-contact .counter{text-align:right;color:#777c98;font-size:10px;margin-top:7px}.tsf-contact.tsf-contact .bottomline{margin-top:19px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.tsf-contact.tsf-contact .privacy{font-size:11px;color:#8389a6;line-height:1.6;max-width:300px}.tsf-contact.tsf-contact .submit{padding:15px 24px;border:1px solid #bb88ff;border-radius:10px;color:#fff;font-weight:900;font-size:12px;letter-spacing:.6px;background:linear-gradient(105deg,#8c45ef,#6e36d0);box-shadow:0 8px 26px rgba(125,65,238,.27);display:inline-flex;align-items:center;gap:12px;transition:transform .2s,box-shadow .2s}.tsf-contact.tsf-contact .submit:hover{transform:translateY(-2px);box-shadow:0 12px 31px rgba(125,65,238,.41)}.tsf-contact.tsf-contact .submit:focus-visible{outline:2px solid white;outline-offset:3px}.tsf-contact.tsf-contact .submit svg{width:18px;height:18px}.tsf-contact.tsf-contact .notice{margin-top:16px;padding:13px 15px;background:rgba(75,176,225,.08);border:1px solid rgba(99,182,240,.25);border-radius:10px;color:#aeeaff;font-size:12px;line-height:1.6;display:none}.tsf-contact.tsf-contact .notice.visible{display:block}.tsf-contact.tsf-contact .sidebar{display:flex;flex-direction:column;gap:22px}.tsf-contact.tsf-contact .info-panel{padding:30px}.tsf-contact.tsf-contact .info-intro{margin:12px 0 25px;color:#9e9fb7;font-size:13px;line-height:1.75}.tsf-contact.tsf-contact .detail{display:flex;gap:15px;padding:18px 0;border-top:1px solid rgba(185,178,231,.1)}.tsf-contact.tsf-contact .detail-icon{flex:0 0 38px;height:38px;border-radius:10px;border:1px solid rgba(158,123,246,.23);background:rgba(139,95,235,.09);display:grid;place-items:center;color:#c28eff}.tsf-contact.tsf-contact .detail-icon svg{width:19px;height:19px;stroke:currentColor}.tsf-contact.tsf-contact .detail .title{color:white;font-size:13px;font-weight:800;margin:2px 0 6px}.tsf-contact.tsf-contact .detail p{font-size:12px;color:#9fa2ba;line-height:1.65;margin:0}.tsf-contact.tsf-contact .detail a{color:#9ee9ff;overflow-wrap:anywhere}.tsf-contact.tsf-contact .badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.tsf-contact.tsf-contact .chip{border:1px solid rgba(165,126,231,.18);border-radius:7px;padding:7px 10px;font-size:10px;color:#c9bce7;background:rgba(132,78,255,.07);font-weight:750}.tsf-contact.tsf-contact .collab-panel{padding:31px;background:radial-gradient(circle at right top,rgba(111,50,210,.26),transparent 53%),linear-gradient(145deg,#1a1730,#111421)}.tsf-contact.tsf-contact .collab-panel .kicker{font-size:10px;letter-spacing:2px;font-weight:850;color:#c390ff;margin-bottom:15px}.tsf-contact.tsf-contact .collab-panel h2{font-size:21px}.tsf-contact.tsf-contact .collab-panel p{color:#aba7c0;font-size:13px;line-height:1.8}.tsf-contact.tsf-contact .glowline{height:1px;background:linear-gradient(90deg,#955bef,transparent);margin-top:22px}.tsf-contact.tsf-contact .footer{margin:36px 0 0;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#666c85;letter-spacing:.7px}.tsf-contact.tsf-contact .footer strong{color:#9b72e1}.tsf-contact.tsf-contact .footmark{letter-spacing:3px;font-weight:900}
@container tsf-contact-page (max-width:980px){.tsf-contact.tsf-contact .layout{grid-template-columns:minmax(0,1fr)}.tsf-contact.tsf-contact .sidebar{display:grid;grid-template-columns:1fr 1fr}.tsf-contact.tsf-contact .heading-side{display:none}}@container tsf-contact-page (max-width:670px){.tsf-contact.tsf-contact{padding-top:23px}.tsf-contact.tsf-contact h1{letter-spacing:-2px}.tsf-contact.tsf-contact .heading{margin-bottom:29px}.tsf-contact.tsf-contact .sidebar{grid-template-columns:1fr}.tsf-contact.tsf-contact .fields{grid-template-columns:1fr;gap:16px}.tsf-contact.tsf-contact .form-panel{padding:23px 19px}.tsf-contact.tsf-contact .bottomline{align-items:stretch}.tsf-contact.tsf-contact .submit{justify-content:center;width:100%}.tsf-contact.tsf-contact .privacy{max-width:none}.tsf-contact.tsf-contact .footer{flex-direction:column;align-items:flex-start}.tsf-contact.tsf-contact .heading{display:block}}@media(prefers-reduced-motion:reduce){.tsf-contact.tsf-contact *,.tsf-contact.tsf-contact *:before,.tsf-contact.tsf-contact *:after{scroll-behavior:auto!important;transition:none!important}}.tsf-contact.tsf-contact .discord-connect{margin-top:17px;padding:16px;border:1px solid rgba(110,131,255,.24);border-radius:12px;background:linear-gradient(120deg,rgba(88,101,242,.13),rgba(144,84,255,.06));display:flex;flex-direction:column;align-items:flex-start;gap:11px}.tsf-contact.tsf-contact .discord-label{font-size:10px;font-weight:850;letter-spacing:1.5px;color:#bcb5ff}.tsf-contact.tsf-contact .discord-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;padding:12px 17px;border-radius:9px;border:1px solid rgba(174,184,255,.48);background:linear-gradient(105deg,#5865f2,#7056e8);color:#fff;font-weight:850;font-size:12px;letter-spacing:.4px;box-shadow:0 9px 25px rgba(88,101,242,.22);transition:transform .2s,box-shadow .2s}.tsf-contact.tsf-contact .discord-button svg{width:19px;height:19px;flex:none}.tsf-contact.tsf-contact .discord-button:hover{transform:translateY(-2px);box-shadow:0 12px 29px rgba(88,101,242,.38)}.tsf-contact.tsf-contact .discord-button:focus-visible{outline:2px solid #fff;outline-offset:3px}.tsf-contact.tsf-contact .discord-note{font-size:10px;color:#9da4c3;line-height:1.5}

.tsf-contact.tsf-contact{width:100%;min-width:0;box-sizing:border-box;color:#eef0ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left}.tsf-contact.tsf-contact fieldset{border:0;padding:0;margin:0;min-width:0}.tsf-contact.tsf-contact .privacy input{width:auto;appearance:auto;accent-color:var(--tsf-contact-violet)}.tsf-contact.tsf-contact .privacy label{font-size:11px;line-height:1.6;font-weight:400;color:#a3a5bd}.tsf-contact.tsf-contact .privacy a{text-decoration:underline;color:var(--tsf-contact-cyan)}.tsf-contact.tsf-contact button:disabled{opacity:.6;cursor:wait;transform:none}.tsf-contact.tsf-contact .contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.tsf-contact.tsf-contact .discord-button{text-decoration:none}.tsf-contact.tsf-contact [hidden]{display:none!important}

.tsf-contact.tsf-contact :is(h1,h2,h3,p,header,nav,section,aside,footer,form,label,input,select,textarea,button,a){font-family:inherit}
