/* ============================================================
   360 DIGITAL GROWTH — CONTACT PAGE
   Clean external stylesheet.
   No GSAP or page-specific JavaScript is required.
   ============================================================ */

.dgcp-page,
    .dgcp-page *{
    box-sizing:border-box;
}

.dgcp-page{
    --dgcp-pink:#ed08cf;
    --dgcp-purple:#8a2cff;
    --dgcp-violet:#5c34f4;
    --dgcp-blue:#078ff5;
    --dgcp-cyan:#17c8ff;
    --dgcp-navy:#071432;
    --dgcp-text:#586782;
    --dgcp-line:#dfe8f4;
    --dgcp-soft:#f6f9ff;
    width:100%;
    overflow:hidden;
    color:var(--dgcp-navy);
    background:#fff;
    font-family:Inter,
            ui-sans-serif,
            system-ui,
            -apple-system,
            BlinkMacSystemFont,
            "Segoe UI",
            sans-serif;
    font-size:16px;
}

.dgcp-shell{
    width:min(1440px,calc(100% - 72px));
    margin:0 auto;
}

.dgcp-gradient{
    color:transparent;
    background:linear-gradient(
            94deg,
            var(--dgcp-pink) 0%,
            var(--dgcp-purple) 44%,
            var(--dgcp-blue) 100%
        );
    -webkit-background-clip:text;
    background-clip:text;
}

.dgcp-kicker{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 16px;
    color:#4265c4;
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.dgcp-kicker:before{
    content:"";
    width:42px;
    height:2px;
    flex:0 0 42px;
    border-radius:999px;
    background:linear-gradient(
            90deg,
            var(--dgcp-pink),
            var(--dgcp-blue)
        );
}

.dgcp-btn{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    padding:0 28px;
    border:0;
    border-radius:12px;
    color:#fff !important;
    text-decoration:none !important;
    background:linear-gradient(
            100deg,
            var(--dgcp-pink) 0%,
            var(--dgcp-purple) 48%,
            var(--dgcp-blue) 100%
        );
    box-shadow:0 14px 30px rgba(92,54,218,.18),
            inset 0 1px 0 rgba(255,255,255,.23);
    font-size:14px;
    font-weight:700;
    transition:transform .28s ease,
            box-shadow .28s ease;
}

.dgcp-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 40px rgba(92,54,218,.24),
            0 0 28px rgba(0,156,248,.10);
}

.dgcp-btn svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-phone{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#111b39 !important;
    text-decoration:none !important;
    font-size:14px;
    font-weight:700;
}

.dgcp-phone__icon{
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    border:1px solid #dce7f5;
    border-radius:50%;
    color:var(--dgcp-blue);
    background:#fff;
    box-shadow:0 8px 22px rgba(28,51,104,.07);
}

.dgcp-phone__icon svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-hero{
    position:relative;
    z-index:1;
    isolation:isolate;
    clear:both;
    padding:82px 0 76px;
    background:radial-gradient(circle at 84% 18%,rgba(24,158,255,.11),transparent 25%),
            radial-gradient(circle at 66% 76%,rgba(235,10,207,.06),transparent 28%),
            linear-gradient(118deg,#fff 0%,#fdfdff 56%,#f4f9ff 100%);
}

.dgcp-hero:before{
    content:"";
    position:absolute;
    z-index:-1;
    left:-260px;
    bottom:-260px;
    width:470px;
    height:470px;
    border:2px solid rgba(104,79,250,.13);
    border-radius:50%;
    box-shadow:0 0 0 62px rgba(41,146,247,.026),
            0 0 0 124px rgba(235,10,207,.017);
}

.dgcp-hero:after{
    content:"";
    position:absolute;
    z-index:-1;
    right:4.5%;
    top:10%;
    width:115px;
    height:115px;
    opacity:.24;
    background-image:radial-gradient(circle,rgba(46,145,245,.9) 1.5px,transparent 1.8px);
    background-size:15px 15px;
    animation:dgcpDots 7s ease-in-out infinite;
}

.dgcp-hero__grid{
    display:grid;
    grid-template-columns:minmax(520px,1fr) minmax(470px,.92fr);
    gap:68px;
    align-items:center;
}

.dgcp-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:24px;
    color:#8490a7;
    font-size:11px;
    font-weight:600;
}

.dgcp-breadcrumb a{
    color:#6075a4 !important;
    text-decoration:none !important;
}

.dgcp-hero h1{
    max-width:790px;
    margin:0 0 23px;
    color:var(--dgcp-navy);
    font-size:clamp(46px,4.5vw,70px);
    line-height:1;
    font-weight:700;
    letter-spacing:-.05em;
}

.dgcp-hero__copy{
    max-width:760px;
    margin:0 0 29px;
    color:#596882;
    font-size:16px;
    line-height:1.75;
}

.dgcp-hero__actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:22px;
}

.dgcp-hero__visual{
    position:relative;
    min-height:500px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.dgcp-hero__visual:before{
    content:"";
    position:absolute;
    width:88%;
    aspect-ratio:1;
    border-radius:50%;
    background:radial-gradient(circle at 30% 34%,rgba(237,8,207,.23),transparent 30%),
            radial-gradient(circle at 70% 30%,rgba(0,158,248,.24),transparent 34%),
            radial-gradient(circle at 52% 68%,rgba(132,48,255,.14),transparent 49%);
    filter:blur(42px);
}

.dgcp-dashboard{
    position:relative;
    z-index:2;
    width:min(520px,100%);
    min-height:355px;
    padding:30px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:28px;
    background:linear-gradient(
                145deg,
                rgba(255,255,255,.92),
                rgba(242,247,255,.83)
            );
    box-shadow:0 30px 75px rgba(27,48,105,.14),
            inset 0 1px 0 #fff;
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    animation:dgcpFloat 6s ease-in-out infinite;
}

.dgcp-dashboard__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:24px;
}

.dgcp-dashboard__brand{
    display:flex;
    align-items:center;
    gap:13px;
}

.dgcp-dashboard__mark{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:16px;
    color:#fff;
    background:linear-gradient(
            135deg,
            var(--dgcp-pink),
            var(--dgcp-purple) 48%,
            var(--dgcp-blue)
        );
    box-shadow:0 13px 28px rgba(103,52,225,.19);
}

.dgcp-dashboard__mark svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-dashboard__brand strong{
    display:block;
    color:#0b1736;
    font-size:20px;
    font-weight:700;
}

.dgcp-dashboard__brand small{
    display:block;
    margin-top:3px;
    color:#6d7a94;
    font-size:15px;
}

.dgcp-dashboard__online{
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border-radius:999px;
    color:#127648;
    background:#ecfff5;
    font-size:9px;
    font-weight:700;
}

.dgcp-dashboard__online:before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#22c97a;
    box-shadow:0 0 0 4px rgba(34,201,122,.10);
}

.dgcp-dashboard__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.dgcp-dashboard__tile{
    min-height:116px;
    padding:17px;
    border:1px solid rgba(101,126,181,.11);
    border-radius:18px;
    background:rgba(255,255,255,.84);
    box-shadow:0 10px 25px rgba(31,54,106,.045);
    transition:transform .3s ease,
            box-shadow .3s ease;
}

.dgcp-dashboard__tile:hover{
    transform:translateY(-4px);
    box-shadow:0 17px 34px rgba(31,54,106,.08);
}

.dgcp-dashboard__tile-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    margin-bottom:14px;
    border-radius:12px;
    color:#fff;
    background:linear-gradient(
            135deg,
            var(--dgcp-pink),
            var(--dgcp-purple),
            var(--dgcp-blue)
        );
}

.dgcp-dashboard__tile-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-dashboard__tile strong{
    display:block;
    color:#0d1837;
    font-size:16px;
    font-weight:700;
}

.dgcp-dashboard__tile small{
    display:block;
    margin-top:5px;
    color:#70809a;
    font-size:14px;
    line-height:1.45;
}

.dgcp-hero__orb{
    position:absolute;
    z-index:4;
    border-radius:50%;
    background:radial-gradient(
                circle at 30% 25%,
                #fff 0 3%,
                #36dcff 10%,
                #168df5 36%,
                #5b34ef 60%,
                #eb0bd0 100%
            );
    box-shadow:inset -6px -8px 14px rgba(37,24,113,.19),
            0 12px 28px rgba(89,54,219,.14);
    animation:dgcpOrb 5.8s ease-in-out infinite;
}

.dgcp-hero__orb--one{
    width:38px;
    height:38px;
    left:3%;
    top:17%;
}

.dgcp-hero__orb--two{
    width:54px;
    height:54px;
    right:-1%;
    bottom:13%;
    animation-delay:-2s;
}

.dgcp-routes{
    position:relative;
    z-index:1;
    isolation:isolate;
    clear:both;
    width:100%;
    padding:90px 0 96px;
    background:#fff;
}

.dgcp-routes__head{
    position:static !important;
    inset:auto !important;
    float:none !important;
    width:100%;
    max-width:840px;
    margin:0 auto 38px !important;
    padding:0 !important;
    text-align:center;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
}

.dgcp-routes__head .dgcp-kicker{
    justify-content:center;
}

.dgcp-routes__head h2{
    margin:0 0 12px;
    color:var(--dgcp-navy);
    font-size:clamp(40px,3.8vw,58px);
    line-height:.98;
    font-weight:700;
    letter-spacing:-.045em;
}

.dgcp-routes__head p{
    max-width:680px;
    margin:0 auto;
    color:#65738e;
    font-size:16px;
    line-height:1.65;
}

.dgcp-routes__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.dgcp-route{
    position:relative;
    min-height:330px;
    padding:34px;
    overflow:hidden;
    border:1px solid rgba(104,128,179,.12);
    border-radius:22px;
    background:linear-gradient(
                145deg,
                rgba(255,255,255,.99),
                rgba(247,250,255,.97)
            );
    box-shadow:0 18px 42px rgba(27,49,101,.065);
    transition:transform .3s ease,
            box-shadow .3s ease,
            border-color .3s ease;
}

.dgcp-route:after{
    content:"";
    position:absolute;
    width:210px;
    height:210px;
    right:-95px;
    bottom:-110px;
    border-radius:50%;
    background:radial-gradient(
            circle,
            rgba(36,146,245,.15),
            rgba(231,11,208,.055) 50%,
            transparent 70%
        );
}

.dgcp-route:hover{
    transform:translateY(-6px);
    border-color:rgba(83,111,233,.20);
    box-shadow:0 25px 52px rgba(27,49,101,.095);
}

.dgcp-route__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}

.dgcp-route__icon{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    border-radius:19px;
    color:#fff;
    background:linear-gradient(
            135deg,
            var(--dgcp-pink),
            var(--dgcp-purple) 48%,
            var(--dgcp-blue)
        );
    box-shadow:0 13px 28px rgba(103,54,225,.18);
}

.dgcp-route__icon svg{
    width:31px;
    height:31px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-route__label{
    color:#d7dfed;
    font-size:42px;
    line-height:1;
    font-weight:700;
    letter-spacing:-.06em;
}

.dgcp-route h3{
    margin:0 0 12px;
    color:#0b1737;
    font-size:28px;
    line-height:1.08;
    font-weight:700;
    letter-spacing:-.035em;
}

.dgcp-route p{
    max-width:620px;
    margin:0 0 24px;
    color:#5d6c86;
    font-size:16px;
    line-height:1.72;
}

.dgcp-route__action{
    position:relative;
    z-index:2;
}

.dgcp-journey{
    position:relative;
    overflow:hidden;
    padding:54px 0;
    background:radial-gradient(circle at 78% 30%,rgba(20,190,255,.28),transparent 27%),
            radial-gradient(circle at 62% 74%,rgba(234,12,208,.20),transparent 26%),
            linear-gradient(108deg,#07142f 0%,#111e58 56%,#0c458f 100%);
}

.dgcp-journey:after{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    right:-150px;
    top:-250px;
    border:2px solid rgba(24,197,255,.20);
    border-radius:50%;
    box-shadow:0 0 0 58px rgba(131,51,255,.052),
            0 0 0 116px rgba(235,9,208,.025);
}

.dgcp-journey__inner{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.dgcp-journey h2{
    max-width:840px;
    margin:0;
    color:#fff;
    font-size:clamp(36px,3.5vw,54px);
    line-height:1;
    font-weight:700;
    letter-spacing:-.04em;
}

.dgcp-journey p{
    max-width:560px;
    margin:8px 0 0;
    color:#b9c8e7;
    font-size:16px;
    line-height:1.65;
}

.dgcp-contact{
    position:relative;
    isolation:isolate;
    padding:70px 0 48px;
    background:radial-gradient(circle at 18% 18%,rgba(63,152,255,.05),transparent 24%),
            radial-gradient(circle at 82% 78%,rgba(132,59,255,.045),transparent 24%),
            linear-gradient(135deg,#fff 0%,#fbfdff 50%,#f4f9ff 100%);
}

.dgcp-contact__dots{
    position:absolute;
    z-index:-1;
    width:110px;
    height:110px;
    opacity:.25;
    background-image:radial-gradient(circle,rgba(55,145,244,.7) 1.5px,transparent 1.8px);
    background-size:16px 16px;
    animation:dgcpDots 7s ease-in-out infinite;
}

.dgcp-contact__dots--one{
    top:8%;
    left:51%;
}

.dgcp-contact__dots--two{
    right:4%;
    bottom:8%;
    animation-delay:-3s;
}

.dgcp-contact__orb{
    position:absolute;
    z-index:-1;
    display:block;
    border-radius:50%;
    background:radial-gradient(
                circle at 29% 26%,
                #fff 0 3%,
                #35ddff 10%,
                #217ff6 34%,
                #5a35f0 58%,
                #ea0bcc 100%
            );
    box-shadow:inset -7px -8px 15px rgba(35,23,113,.22),
            0 12px 25px rgba(83,56,221,.14);
    animation:dgcpOrb 5.5s ease-in-out infinite;
}

.dgcp-contact__orb--one{
    width:42px;
    height:42px;
    right:29%;
    top:7%;
}

.dgcp-contact__orb--two{
    width:36px;
    height:36px;
    right:3%;
    bottom:18%;
    animation-delay:-2s;
}

.dgcp-contact__grid{
    display:grid;
    grid-template-columns:minmax(310px,.86fr) minmax(440px,1.1fr) minmax(330px,.88fr);
    gap:34px;
    align-items:stretch;
}

.dgcp-contact__intro{
    padding:24px 0 0;
}

.dgcp-contact__eyebrow{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    color:#214dd7;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.22em;
}

.dgcp-contact__eyebrow:before,
    .dgcp-contact__eyebrow:after{
    content:"";
    width:38px;
    height:1px;
    background:linear-gradient(
            90deg,
            var(--dgcp-pink),
            var(--dgcp-blue)
        );
}

.dgcp-contact__title{
    margin:0;
    color:var(--dgcp-navy);
    font-size:clamp(44px,4vw,64px);
    line-height:.94;
    font-weight:700;
    letter-spacing:-.055em;
}

.dgcp-contact__title span{
    display:block;
    margin-top:6px;
}

.dgcp-contact__lead{
    max-width:470px;
    margin:22px 0 29px;
    color:#5f6e8c;
    font-size:16px;
    line-height:1.65;
}

.dgcp-contact__details{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.dgcp-contact__detail{
    display:grid;
    grid-template-columns:56px 1fr;
    align-items:center;
    gap:17px;
    color:inherit !important;
    text-decoration:none !important;
}

.dgcp-contact__detail-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#1766f4;
    background:linear-gradient(145deg,#eef3ff,#e9f1ff);
}

.dgcp-contact__detail-icon svg{
    width:26px;
    height:26px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-contact__detail-copy{
    display:flex;
    flex-direction:column;
}

.dgcp-contact__detail-copy strong{
    margin-bottom:4px;
    color:#0b173e;
    font-size:15px;
    font-weight:700;
}

.dgcp-contact__detail-copy b{
    margin-bottom:3px;
    color:#0e1c47;
    font-size:14px;
    font-weight:700;
}

.dgcp-contact__detail-copy small{
    color:#64738f;
    font-size:14px;
}

.dgcp-contact__quick{
    display:grid;
    grid-template-columns:45px 1fr auto;
    align-items:center;
    gap:13px;
    margin-top:26px;
    padding:14px 16px;
    border:1px solid rgba(92,121,188,.14);
    border-radius:15px;
    color:inherit !important;
    text-decoration:none !important;
    background:linear-gradient(145deg,rgba(249,252,255,.98),rgba(241,247,255,.94));
    box-shadow:0 10px 25px rgba(40,66,120,.045);
}

.dgcp-contact__quick-icon{
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#11317a;
    background:#edf3ff;
}

.dgcp-contact__quick-icon svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-contact__quick-text strong{
    display:block;
    color:#101a40;
    font-size:16px;
    font-weight:700;
}

.dgcp-contact__quick-text small{
    display:block;
    margin-top:3px;
    color:#687693;
    font-size:14px;
}

.dgcp-contact__quick-link{
    display:flex;
    align-items:center;
    gap:7px;
    color:#4045ed;
    font-size:11px;
    font-weight:700;
}

.dgcp-contact__quick-link svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-contact__form-card{
    padding:37px 33px 29px;
    border:1px solid rgba(102,129,187,.14);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(249,251,255,.97));
    box-shadow:0 18px 45px rgba(30,52,105,.075),
            inset 0 1px 0 rgba(255,255,255,.99);
}

.dgcp-contact__form-head h3{
    margin:0;
    color:#0b173e;
    font-size:27px;
    line-height:1.1;
    font-weight:700;
    letter-spacing:-.035em;
}

.dgcp-contact__form-head p{
    margin:7px 0 24px;
    color:#62728f;
    font-size:12px;
}

.dgcp-contact__fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.dgcp-contact__field{
    display:block;
}

.dgcp-contact__field--full{
    grid-column:1 / -1;
}

.dgcp-contact__field > span{
    display:block;
    margin-bottom:7px;
    color:#142047;
    font-size:15px;
    font-weight:600;
}

.dgcp-contact__input{
    position:relative;
}

.dgcp-contact__input > svg{
    position:absolute;
    left:14px;
    top:50%;
    width:18px;
    height:18px;
    transform:translateY(-50%);
    fill:none;
    stroke:#70819d;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    pointer-events:none;
}

.dgcp-contact__input input,
    .dgcp-contact__input select,
    .dgcp-contact__input textarea{
    width:100%;
    border:1px solid #dfe7f2;
    outline:none;
    border-radius:10px;
    color:#1d2b4f;
    background:#fff;
    font-family:inherit;
    font-size:16px;
    transition:border-color .25s ease,
            box-shadow .25s ease;
}

.dgcp-contact__input input,
    .dgcp-contact__input select{
    height:48px;
    padding:0 14px 0 43px;
}

.dgcp-contact__input select{
    padding-left:14px;
    appearance:none;
    -webkit-appearance:none;
}

.dgcp-contact__input textarea{
    height:116px;
    resize:vertical;
    padding:14px 14px 14px 43px;
}

.dgcp-contact__input input:focus,
    .dgcp-contact__input select:focus,
    .dgcp-contact__input textarea:focus{
    border-color:rgba(53,112,248,.44);
    box-shadow:0 0 0 4px rgba(46,114,246,.055);
}

.dgcp-contact__input--textarea > svg{
    top:18px;
    transform:none;
}

.dgcp-contact__select-arrow{
    left:auto !important;
    right:13px !important;
}

.dgcp-contact__submit{
    width:100%;
    min-height:53px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    margin-top:21px;
    border:0;
    border-radius:12px;
    cursor:pointer;
    color:#fff;
    background:linear-gradient(
            100deg,
            var(--dgcp-pink) 0%,
            var(--dgcp-purple) 48%,
            var(--dgcp-blue) 100%
        );
    box-shadow:0 13px 28px rgba(105,48,222,.16);
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    transition:transform .28s ease,
            box-shadow .28s ease;
}

.dgcp-contact__submit:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 36px rgba(105,48,222,.21);
}

.dgcp-contact__submit svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-contact__privacy{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:11px;
    color:#697791;
    font-size:14px;
}

.dgcp-contact__privacy svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-contact__visual{
    position:relative;
    min-height:590px;
    overflow:hidden;
    border-radius:24px;
}

.dgcp-contact__visual img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    border-radius:24px;
}

.dgcp-contact__review{
    position:absolute;
    right:7%;
    bottom:7%;
    width:min(292px,82%);
    padding:24px;
    border:1px solid rgba(114,133,181,.14);
    border-radius:19px;
    background:rgba(255,255,255,.94);
    box-shadow:0 20px 42px rgba(23,45,93,.14);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}

.dgcp-contact__review-top{
    display:flex;
    align-items:center;
    gap:14px;
}

.dgcp-contact__review-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#5d28f1;
    background:linear-gradient(145deg,#f1edff,#f8f4ff);
}

.dgcp-contact__review-icon svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-contact__review strong{
    display:block;
    color:#0b173e;
    font-size:28px;
    line-height:1;
    font-weight:700;
}

.dgcp-contact__review small{
    display:block;
    margin-top:5px;
    color:#65738f;
    font-size:12px;
}

.dgcp-contact__review hr{
    height:1px;
    margin:17px 0 14px;
    border:0;
    background:#e7ecf5;
}

.dgcp-contact__review p{
    margin:0 0 12px;
    color:#536483;
    font-size:11px;
    line-height:1.55;
    font-style:italic;
}

.dgcp-contact__stars{
    color:#ffb400;
    font-size:15px;
    letter-spacing:2px;
}

.dgcp-contact__features{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:31px;
    padding-top:29px;
    border-top:1px solid rgba(118,139,181,.13);
}

.dgcp-contact__feature{
    position:relative;
    min-height:68px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:0 20px;
}

.dgcp-contact__feature:not(:last-child):after{
    content:"";
    position:absolute;
    top:11px;
    bottom:11px;
    right:0;
    width:1px;
    background:#dce6f3;
}

.dgcp-contact__feature-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    flex:0 0 48px;
    color:#1c4ff2;
}

.dgcp-contact__feature-icon svg{
    width:35px;
    height:35px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dgcp-contact__feature strong{
    display:block;
    color:#0b173e;
    font-size:17px;
    font-weight:700;
}

.dgcp-contact__feature small{
    display:block;
    margin-top:4px;
    color:#697791;
    font-size:14px;
}

@keyframes dgcpFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-9px);
    }

}

@keyframes dgcpOrb{
    0%,100%{
        transform:translate3d(0,0,0) scale(1);
    }

    50%{
        transform:translate3d(11px,-14px,0) scale(1.05);
    }

}

@keyframes dgcpDots{
    0%,100%{
        transform:translate3d(0,0,0);
    }

    50%{
        transform:translate3d(12px,-10px,0);
    }

}

@media (max-width:1250px){
    .dgcp-shell{
        width:min(1160px,calc(100% - 46px));
    }

    .dgcp-hero__grid{
        grid-template-columns:minmax(430px,1fr) minmax(400px,.9fr);
        gap:38px;
    }

    .dgcp-contact__grid{
        grid-template-columns:minmax(280px,.8fr) minmax(410px,1.08fr) minmax(290px,.78fr);
        gap:24px;
    }

    .dgcp-contact__visual{
        min-height:565px;
    }

}

@media (max-width:1000px){
    .dgcp-hero{
        padding-top:62px;
    }

    .dgcp-hero__grid{
        grid-template-columns:1fr;
    }

    .dgcp-hero__visual{
        min-height:auto;
    }

    .dgcp-dashboard{
        width:min(620px,100%);
    }

    .dgcp-routes__grid{
        grid-template-columns:1fr;
    }

    .dgcp-journey__inner{
        align-items:flex-start;
        flex-direction:column;
    }

    .dgcp-contact__grid{
        grid-template-columns:1fr 1.15fr;
    }

    .dgcp-contact__visual{
        grid-column:1 / -1;
        min-height:470px;
    }

    .dgcp-contact__features{
        grid-template-columns:repeat(2,1fr);
        row-gap:18px;
    }

    .dgcp-contact__feature:nth-child(2):after{
        display:none;
    }

}

@media (max-width:720px){
    .dgcp-shell{
        width:calc(100% - 28px);
    }

    .dgcp-hero{
        padding:46px 0 56px;
    }

    .dgcp-hero h1{
        font-size:42px;
    }

    .dgcp-hero__copy{
        font-size:16px;
    }

    .dgcp-hero__actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .dgcp-dashboard{
        padding:20px;
        border-radius:21px;
    }

    .dgcp-dashboard__grid{
        grid-template-columns:1fr;
    }

    .dgcp-routes{
        padding:68px 0;
    }

    .dgcp-route{
        min-height:auto;
        padding:27px;
    }

    .dgcp-route h3{
        font-size:25px;
    }

    .dgcp-journey{
        padding:46px 0;
    }

    .dgcp-contact{
        padding-top:56px;
    }

    .dgcp-contact__grid{
        grid-template-columns:1fr;
    }

    .dgcp-contact__title{
        font-size:43px;
    }

    .dgcp-contact__form-card{
        padding:27px 20px 23px;
    }

    .dgcp-contact__fields{
        grid-template-columns:1fr;
    }

    .dgcp-contact__field--full{
        grid-column:auto;
    }

    .dgcp-contact__visual{
        min-height:430px;
    }

    .dgcp-contact__features{
        grid-template-columns:1fr;
    }

    .dgcp-contact__feature{
        justify-content:flex-start;
    }

    .dgcp-contact__feature:after{
        display:none !important;
    }

}

@media (max-width:460px){
    .dgcp-hero h1{
        font-size:37px;
    }

    .dgcp-dashboard__top{
        align-items:flex-start;
        flex-direction:column;
    }

    .dgcp-routes__head h2{
        font-size:37px;
    }

    .dgcp-contact__quick{
        grid-template-columns:43px 1fr;
    }

    .dgcp-contact__quick-link{
        grid-column:2;
    }

    .dgcp-contact__visual{
        min-height:390px;
    }

    .dgcp-contact__review{
        width:90%;
        padding:20px;
    }

}

@media (prefers-reduced-motion:reduce){
    .dgcp-page *,
        .dgcp-page *:before,
        .dgcp-page *:after{
        animation:none !important;
        transition:none !important;
    }

}

.dgcp-hero__copy,
.dgcp-routes__head p,
.dgcp-route p,
.dgcp-journey p,
.dgcp-contact__lead,
.dgcp-contact__form-head p,
.dgcp-contact__review p{
    font-size:16px;
}
