#contact.dw-contact-holo{
    position:relative;
    overflow:hidden;
    padding:130px 0 140px;
    background:
        radial-gradient(circle at 72% 50%,rgba(63,211,214,.10),transparent 27%),
        radial-gradient(circle at 72% 50%,rgba(91,125,255,.07),transparent 42%),
        #06101d!important;
}

#contact.dw-contact-holo:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.12;
    background-image:
        linear-gradient(rgba(76,206,216,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(76,206,216,.06) 1px,transparent 1px);
    background-size:56px 56px;
}

.dw-contact-layout{
    position:relative;
    z-index:2;
    min-height:580px;
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    align-items:center;
    gap:55px;
}

.dw-contact-copy{max-width:520px}

.dw-contact-label{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:#91aac1;
    font-size:11px;
    font-weight:800;
    letter-spacing:.2em;
    text-transform:uppercase;
}

.dw-contact-label:before{
    content:"";
    width:32px;
    height:1px;
    background:linear-gradient(90deg,#678cff,#4dd5cf);
}

.dw-contact-copy h2{
    margin:28px 0 0;
    font-size:clamp(58px,6vw,90px);
    line-height:.96;
    letter-spacing:-.055em;
    color:#f1f7fd;
}

.dw-contact-copy p{
    margin:30px 0 0;
    color:#8fa0b4;
    font-size:17px;
    line-height:1.72;
}

.dw-contact-mail{
    display:inline-flex;
    gap:12px;
    margin-top:34px;
    padding-bottom:8px;
    border-bottom:1px solid rgba(98,157,255,.5);
    color:#f3f8ff;
    font-size:18px;
    font-weight:800;
}

.dw-contact-mail span{color:#6e9cff}

.dw-contact-visual{
    min-height:580px;
    display:grid;
    place-items:center;
    perspective:1000px;
}

.dw-contact-headset{
    position:relative;
    width:min(700px,100%);
    aspect-ratio:1.18/1;
    border:0;
    padding:0;
    background:transparent;
    cursor:pointer;
    transform-style:preserve-3d;
    transition:transform .15s ease-out;
}

.dw-contact-headset svg{
    width:100%;
    height:100%;
    overflow:visible;
    filter:drop-shadow(0 0 12px rgba(65,220,216,.20));
}

.contact-floor{
    fill:rgba(60,216,212,.04);
    stroke:rgba(82,220,218,.25);
}

.contact-orbit{
    fill:none;
    stroke:rgba(74,215,218,.16);
    stroke-width:1;
    stroke-dasharray:6 10;
    transform-origin:310px 270px;
}

.orbit-a{animation:contactOrbit 18s linear infinite}
.orbit-b{animation:contactOrbitReverse 23s linear infinite}

@keyframes contactOrbit{to{transform:rotate(360deg)}}
@keyframes contactOrbitReverse{to{transform:rotate(-360deg)}}

.contact-band{
    fill:none;
    stroke:url(#contactGradient);
    stroke-width:16;
    stroke-linecap:round;
    filter:url(#contactGlow);
}

.contact-band-inner{
    fill:none;
    stroke:rgba(164,242,239,.38);
    stroke-width:2;
}

.contact-ear{
    fill:rgba(21,83,99,.22);
    stroke:rgba(108,236,230,.78);
    stroke-width:2;
    filter:url(#contactGlow);
}

.contact-ear-inner{
    fill:rgba(74,207,209,.09);
    stroke:rgba(146,238,235,.32);
}

.contact-mic-arm{
    fill:none;
    stroke:url(#contactGradient);
    stroke-width:6;
    stroke-linecap:round;
    filter:url(#contactGlow);
}

.contact-mic{
    fill:#64dfd8;
    stroke:#d5fffb;
    filter:url(#contactGlow);
}

.contact-wave line{
    stroke:#79e8df;
    stroke-width:4;
    stroke-linecap:round;
    transform-origin:center;
    animation:contactWave 1s ease-in-out infinite alternate;
}

.contact-wave line:nth-child(2){animation-delay:.1s}
.contact-wave line:nth-child(3){animation-delay:.2s}
.contact-wave line:nth-child(4){animation-delay:.3s}
.contact-wave line:nth-child(5){animation-delay:.18s}

@keyframes contactWave{
    from{transform:scaleY(.45);opacity:.45}
    to{transform:scaleY(1);opacity:1}
}

.contact-link{
    fill:none;
    stroke:rgba(92,219,216,.22);
    stroke-dasharray:4 7;
}

.contact-nodes circle{
    fill:#65dfd8;
    filter:url(#contactGlow);
}

.dw-contact-status{
    position:absolute;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:9px;
    white-space:nowrap;
    color:#718ca1;
    font-size:9px;
    font-weight:800;
    letter-spacing:.16em;
}

.dw-contact-status i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#55dacf;
    box-shadow:0 0 12px #55dacf;
}

.dw-contact-node-label{
    position:absolute;
    right:25px;
    top:70px;
    color:#68869c;
    font-size:8px;
    font-weight:800;
    letter-spacing:.15em;
}

.dw-contact-node-label strong{
    display:block;
    margin-top:5px;
    color:#62ddd5;
    font-size:10px;
}

.dw-contact-headset.is-live{
    filter:drop-shadow(0 0 22px rgba(78,225,218,.24));
}

.dw-contact-headset.is-live .contact-ear{
    fill:rgba(51,188,189,.18);
    stroke:#b3fff8;
}

.dw-contact-headset.is-live .contact-wave line{
    stroke:#b7fff8;
    stroke-width:5;
}

@media(max-width:980px){
    .dw-contact-layout{grid-template-columns:1fr}
    .dw-contact-visual{min-height:500px}
}

@media(max-width:760px){
    #contact.dw-contact-holo{padding:86px 0}
    .dw-contact-layout{min-height:0;gap:20px}
    .dw-contact-copy h2{font-size:clamp(48px,15vw,68px)}
    .dw-contact-copy p{font-size:15px}
    .dw-contact-visual{min-height:390px}
}

/* =========================================================
   DWENN PUBLIC ASSISTANT V3
   ========================================================= */

.dw-contact-visual {
    align-content: center;
}

.dw-contact-assistant {
    position: relative;
    z-index: 10;
    width: min(610px, 92%);
    margin: -36px auto 0;
}

.dw-contact-question-line {
    display: grid;
    grid-template-columns: 1fr 46px;
    align-items: center;
    gap: 8px;
    padding: 7px 7px 7px 19px;
    border:
        1px solid rgba(91, 218, 217, .22);
    border-radius: 999px;
    background:
        rgba(5, 24, 37, .66);
    backdrop-filter: blur(12px);
    box-shadow:
        0 0 30px rgba(53, 204, 205, .035),
        inset 0 0 24px rgba(61, 203, 205, .025);
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.dw-contact-question-line:focus-within {
    border-color:
        rgba(98, 232, 225, .62);
    box-shadow:
        0 0 24px rgba(61, 214, 208, .09),
        inset 0 0 24px rgba(61, 203, 205, .035);
}

.dw-contact-question-line input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #edf8fb;
    font: inherit;
    font-size: 15px;
    line-height: 1.4;
}

.dw-contact-question-line input::placeholder {
    color: rgba(132, 159, 177, .62);
}

.dw-contact-send {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border:
        1px solid rgba(96, 222, 219, .38);
    border-radius: 50%;
    background:
        linear-gradient(
            145deg,
            rgba(75, 125, 255, .34),
            rgba(59, 205, 192, .25)
        );
    color: #eaffff;
    font-size: 19px;
    cursor: pointer;
    transition:
        transform .2s ease,
        background .2s ease;
}

.dw-contact-send:hover {
    transform: translateY(-1px);
}

.dw-contact-send:disabled {
    cursor: wait;
    opacity: .48;
}

.dw-contact-answer {
    margin: 13px 14px 0;
    padding: 14px 17px;
    border-left:
        1px solid rgba(87, 220, 216, .45);
    color: #aebfcd;
    font-size: 13px;
    line-height: 1.65;
    white-space: pre-wrap;
    animation:
        dwContactAnswerIn .32s ease both;
}

@keyframes dwContactAnswerIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 760px) {
    .dw-contact-assistant {
        width: 100%;
        margin-top: -18px;
    }

    .dw-contact-question-line {
        grid-template-columns: 1fr 44px;
        padding-left: 15px;
    }

    .dw-contact-question-line input {
        font-size: 16px;
    }
}


/* DWENN PUBLIC ASSISTANT TERMINAL V4 START */

/* Question input */
.dw-contact-question-line input {
    color: #86f4d9 !important;
    caret-color: #75ffe2;
    font-family:
        Inter,
        "Segoe UI",
        Arial,
        sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .018em;
    text-shadow:
        0 0 10px rgba(95, 239, 207, .10);
}

.dw-contact-question-line input::placeholder {
    color: rgba(107, 190, 169, .48) !important;
    font-weight: 500;
    letter-spacing: .015em;
}

.dw-contact-question-line:focus-within input {
    color: #a1ffe8 !important;
    text-shadow:
        0 0 9px rgba(99, 243, 213, .16);
}


/* AI answer */
.dw-contact-answer {
    position: relative;
    color: #72e6c4 !important;
    font-family:
        "SFMono-Regular",
        Consolas,
        "Liberation Mono",
        monospace;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.72;
    letter-spacing: .018em;
    text-shadow:
        0 0 8px rgba(71, 227, 184, .10);
}


/* Terminal cursor */
.dw-contact-answer.has-terminal-cursor::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 14px;
    margin-left: 5px;
    vertical-align: -2px;
    border-radius: 1px;
    background: #6dffd3;
    box-shadow:
        0 0 7px rgba(109, 255, 211, .72);
    animation:
        dwContactCursorBlink .82s steps(1, end) infinite;
}

@keyframes dwContactCursorBlink {
    0%,
    48% {
        opacity: 1;
    }

    49%,
    100% {
        opacity: .08;
    }
}


/* Thinking state */
.dw-contact-answer.is-thinking {
    color: #5dd7b7 !important;
    opacity: .82;
}


/* Slight green glow around active input */
.dw-contact-question-line:focus-within {
    border-color:
        rgba(100, 238, 207, .66) !important;

    box-shadow:
        0 0 22px rgba(75, 224, 191, .08),
        inset 0 0 20px rgba(74, 216, 187, .035) !important;
}


/* Send button joins the same language */
.dw-contact-send {
    color: #cafff0 !important;
}

.dw-contact-send:not(:disabled):hover {
    box-shadow:
        0 0 15px rgba(92, 236, 204, .18);
}


/* DWENN PUBLIC ASSISTANT TERMINAL V4 END */

/* =========================================================
   DWENN CONTACT CHAT POSITION V64
   Move assistant input area 30px downward.
   ========================================================= */

#contact
.dw-contact-assistant {
    transform: translateY(30px) !important;
}

/* /DWENN CONTACT CHAT POSITION V64 */
