/* Contact page (body.ab.ct) */
.ct-hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 0 70px;overflow:hidden}
.ct-glow{position:absolute;right:-10%;top:50%;width:900px;height:900px;margin-top:-450px;background:radial-gradient(circle,#5ccf002e,#7b2cbf1a 45%,transparent 68%);animation:ctg 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes ctg{to{transform:scale(1.18) translateX(-30px)}}
.ct-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.ct-hero h1{font-size:clamp(38px,6vw,76px);color:#fff;margin-bottom:22px}
.ct-hero h1 em{font-style:normal;background:linear-gradient(90deg,#8cf21a,#5ccf00,#b6f56b);-webkit-background-clip:text;background-clip:text;color:transparent}
.ct-hero .lead{font-size:20px;color:#a7acb6;min-height:34px;margin-bottom:34px}
.ct-type{color:#fff;font-weight:600}.ct-caret{display:inline-block;width:2px;height:1.1em;background:var(--acc);margin-left:3px;vertical-align:-3px;animation:ctc 1s steps(1) infinite}
@keyframes ctc{50%{opacity:0}}
.ct-mailrow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:30px}
.ct-mail{display:inline-flex;align-items:center;gap:14px;padding:16px 26px;border:1px solid #ffffff2e;background:#ffffff0d;backdrop-filter:blur(8px);font:600 clamp(17px,2vw,22px) Fraunces,Georgia,serif;color:#fff;transition:.3s;position:relative;overflow:hidden}
.ct-mail:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#5ccf0055,transparent 70%);transform:translateX(-100%);transition:transform .7s}
.ct-mail:hover:before{transform:translateX(100%)}.ct-mail:hover{border-color:var(--acc);color:#fff}
.ct-ico{width:26px;height:20px;border:2px solid var(--acc);border-radius:3px;position:relative;flex:none}
.ct-ico:after{content:"";position:absolute;left:2px;top:-1px;width:18px;height:18px;border-right:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:scaleY(.55) rotate(45deg);transform-origin:50% 40%;animation:cti 2.4s ease-in-out infinite}
@keyframes cti{50%{transform:scaleY(.2) rotate(45deg)}}
.ct-copy-btn{background:none;border:1px solid #ffffff40;color:#fff;padding:15px 22px;font:600 14px inherit;cursor:pointer;transition:.25s;letter-spacing:.04em}
.ct-copy-btn:hover{border-color:var(--acc);color:var(--acc)}.ct-copy-btn:active{background:var(--deep);color:#fff}.ct-copy-btn.ok{background:var(--acc);border-color:var(--acc);color:#06100a}
.ct-art{position:relative;justify-self:center;width:min(480px,100%);aspect-ratio:254/300;will-change:transform;transition:transform .25s ease-out}
.ct-art:before{content:"";position:absolute;inset:-9%;border:1px dashed #ffffff26;border-radius:50%;animation:cts 40s linear infinite}
.ct-art:after{content:"";position:absolute;inset:6% -14% 6% 10%;border:1px solid #5ccf0040;border-radius:50%;animation:cts 60s linear infinite reverse}
@keyframes cts{to{transform:rotate(360deg)}}
#ct-head{position:absolute;left:-10%;top:-40%;width:145%;height:145%;z-index:1;display:block;pointer-events:none}
.ct-sec{position:relative;padding:100px 0}
.ct-two{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start}
.ct-panel{padding:46px}.ct-panel h2{font-size:clamp(28px,3.4vw,40px)}
.ct-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 8px}
.ct-chips button{border:1px solid #ffffff2e;background:#ffffff08;color:#d4d7de;padding:9px 17px;font:500 14px inherit;cursor:pointer;border-radius:30px;transition:.25s}
.ct-chips button:hover{border-color:var(--acc);color:#fff;transform:translateY(-2px)}.ct-chips button:active{background:var(--deep)}
.ct-chips button.on{background:var(--acc);border-color:var(--acc);color:#06100a;box-shadow:0 8px 24px #5ccf0055}
#contact-form{display:grid;gap:18px;margin-top:20px}.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ct-f{position:relative;display:block}
.ct-f input,.ct-f textarea{width:100%;background:#ffffff0a;border:1px solid #ffffff26;border-radius:0;color:#fff;padding:24px 16px 10px;font:inherit;transition:.25s;resize:vertical}
.ct-f input:hover,.ct-f textarea:hover{border-color:#ffffff59}.ct-f input:focus,.ct-f textarea:focus{outline:0;border-color:var(--acc);background:#ffffff12;box-shadow:0 0 0 3px #5ccf0026}
.ct-f span{position:absolute;left:16px;top:16px;color:#a7acb6;pointer-events:none;transition:.2s;transform-origin:left}
.ct-f input:focus+span,.ct-f input:not(:placeholder-shown)+span,.ct-f textarea:focus+span,.ct-f textarea:not(:placeholder-shown)+span{transform:translateY(-10px) scale(.78);color:var(--acc)}
.ct-count{position:absolute;right:12px;bottom:8px;font-style:normal;font-size:12px;color:#7d828c}
.ct-bar{height:3px;background:#ffffff1a;overflow:hidden}.ct-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#5ccf00,#c8f77a,#8cf21a);transition:width .5s}
.ct-send{justify-self:start;padding:16px 38px 16px 34px;display:inline-flex;gap:12px;align-items:center;position:relative;overflow:hidden}
.ct-send:after{content:"";width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M2 21l21-9L2 3v7l15 2-15 2z'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .4s}
.ct-send:hover:after{transform:translate(6px,-4px) rotate(-12deg)}.ct-send:hover:after{filter:invert(55%) sepia(80%) saturate(2400%) hue-rotate(335deg)}
.ct-send:disabled{opacity:.7;cursor:progress}
.ct-panel .form-status{min-height:22px;font-size:15px}.ct-panel .form-status.ok{color:#7ee0a3}.ct-panel .form-status.err{color:#9be83a}
.ct-side h2{font-size:clamp(26px,3vw,34px);margin-bottom:6px}.ct-side .ab-tl{margin-top:34px}.ct-side .ab-st{padding-bottom:36px}.ct-side .ab-st h3{font-size:21px}.ct-side .ab-st p{font-size:15.5px}
.ct-note{margin-top:10px;padding:22px 24px;border:1px solid #ffffff1f;color:#a7acb6;font-size:15px}.ct-note a{color:#fff;border-bottom:1px solid var(--acc)}
.ct-fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2000}
@media(max-width:900px){.ct-grid,.ct-two{grid-template-columns:1fr;gap:30px}.ct-art{order:-1;width:min(320px,80%)}.ct-hero{padding-top:100px}.ct-panel{padding:28px 20px}.ct-row{grid-template-columns:1fr}.ct-sec{padding:64px 0}}
@media(prefers-reduced-motion:reduce){.ct-glow,.ct-art:before,.ct-art:after,.ct-ico:after,.ct-caret{animation:none}}
