:root{
    --ddt-charcoal:#202126;
    --ddt-charcoal-soft:#2c2e35;
    --ddt-surface:#26282f;
    --ddt-surface-soft:#30333b;
    --ddt-purple:#7818cf;
    --ddt-purple-soft:#9d3cff;
    --ddt-pink:#ef3bb5;
    --ddt-orange:#d45b1f;
    --ddt-orange-soft:#ff9a56;
    --ddt-text:#f8f1ed;
    --ddt-muted:#d2c6c8;
    --ddt-line:rgba(255,255,255,.08);
    --ddt-shadow:0 28px 70px rgba(0,0,0,.28);
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html,
body{
    margin:0;
    min-height:100%;
}

body.ddt-crew-surface{
    background:linear-gradient(180deg,#1d1f24 0%,#17181d 100%);
    color:var(--ddt-text);
    font-family:"Segoe UI Variable","Segoe UI",Tahoma,sans-serif;
}

a{
    color:inherit;
}

.ddt-landing-shell,
.ddt-crew-shell{
    min-height:100vh;
    width:100%;
}

.ddt-landing-shell{
    background:
        radial-gradient(circle at top left,rgba(239,59,181,.16),transparent 30%),
        radial-gradient(circle at top right,rgba(255,154,86,.13),transparent 28%),
        linear-gradient(180deg,#202126 0%,#1b1d22 100%);
}

.ddt-landing-header{
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    flex-direction:column;
    gap:1rem;
    padding:1rem 1rem .95rem;
    background:rgba(31,32,37,.92);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--ddt-line);
}

.ddt-brand-lockup{
    display:inline-flex;
    flex-direction:column;
    text-decoration:none;
    font-weight:900;
    letter-spacing:-.06em;
    line-height:.88;
}

.ddt-brand-lockup strong{
    color:var(--ddt-orange-soft);
    font-size:2.1rem;
}

.ddt-brand-lockup span{
    color:var(--ddt-pink);
    font-size:2.1rem;
}

.ddt-brand-note{
    margin-top:.5rem;
    color:var(--ddt-muted);
    font-size:.92rem;
}

.ddt-landing-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem;
}

.ddt-landing-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:.75rem .95rem;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    text-decoration:none;
    font-weight:800;
}

.ddt-landing-nav a.ddt-crew-link{
    background:rgba(239,59,181,.12);
    border-color:rgba(239,59,181,.32);
}

.ddt-landing-nav a.ddt-quote-link{
    background:linear-gradient(135deg,var(--ddt-orange),#b84414);
    border-color:transparent;
}

.ddt-landing-main{
    padding:0 0 3rem;
}

.ddt-hero-band{
    position:relative;
    overflow:hidden;
    padding:1rem 1rem 1.2rem;
    background:
        linear-gradient(180deg,rgba(130,25,224,.92) 0%,rgba(109,21,185,.88) 55%,rgba(95,17,161,.86) 100%);
}

.ddt-hero-band::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);
    background-size:20px 20px;
    opacity:.18;
    pointer-events:none;
}

.ddt-hero-inner{
    position:relative;
    z-index:1;
    display:grid;
    gap:1.2rem;
    max-width:1520px;
    margin:0 auto;
}

.ddt-hero-copy{
    display:grid;
    gap:1rem;
    padding:1.2rem 0 0;
}

.ddt-hero-chip{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    width:max-content;
    padding:.45rem .8rem;
    border-radius:999px;
    background:rgba(32,33,38,.34);
    border:1px solid rgba(255,255,255,.12);
    color:#ffe1f5;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.ddt-hero-copy h1{
    margin:0;
    font-size:clamp(2.5rem,9vw,5.4rem);
    line-height:.93;
    letter-spacing:-.08em;
    max-width:11ch;
}

.ddt-hero-copy p{
    margin:0;
    max-width:38rem;
    color:#f7ebff;
    font-size:1.05rem;
    line-height:1.55;
}

.ddt-hero-checks{
    display:grid;
    gap:.75rem;
    margin:0;
    padding:0;
    list-style:none;
}

.ddt-hero-checks li{
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    font-weight:700;
}

.ddt-hero-checks li::before{
    content:"●";
    color:var(--ddt-orange-soft);
    font-size:1rem;
    line-height:1.1;
}

.ddt-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:.7rem;
}

.ddt-hero-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:.9rem 1.1rem;
    border-radius:999px;
    font-weight:900;
    text-decoration:none;
}

.ddt-hero-actions .is-primary{
    background:linear-gradient(135deg,var(--ddt-orange),#b84414);
    box-shadow:0 20px 48px rgba(112,43,10,.28);
}

.ddt-hero-actions .is-secondary{
    background:rgba(32,33,38,.36);
    border:1px solid rgba(255,255,255,.12);
}

.ddt-hero-art{
    display:grid;
    gap:.9rem;
    align-content:start;
}

.ddt-hero-photo{
    min-height:280px;
    padding:1rem;
    border-radius:34px;
    border:1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(160deg,rgba(255,244,236,.92) 0%,rgba(246,209,189,.85) 46%,rgba(246,173,125,.76) 100%);
    box-shadow:var(--ddt-shadow);
    display:grid;
    align-content:space-between;
}

.ddt-photo-caption{
    display:grid;
    gap:.45rem;
    max-width:18rem;
}

.ddt-photo-caption strong{
    font-size:1.55rem;
    line-height:.98;
    letter-spacing:-.05em;
    color:#5a240e;
}

.ddt-photo-caption span{
    color:#6b2c0f;
    line-height:1.45;
}

.ddt-awards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
}

.ddt-award{
    padding:.75rem;
    border-radius:18px;
    background:rgba(33,34,40,.84);
    border:1px solid rgba(255,255,255,.08);
}

.ddt-award strong{
    display:block;
    color:var(--ddt-orange-soft);
    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:.14em;
}

.ddt-award span{
    display:block;
    margin-top:.35rem;
    font-weight:800;
}

.ddt-trust-strip{
    display:grid;
    gap:.85rem;
    margin:0 auto;
    max-width:1520px;
    padding:1rem;
}

.ddt-trust-card{
    padding:1rem 1.05rem;
    border-radius:24px;
    background:rgba(255,255,255,.04);
    border:1px solid var(--ddt-line);
}

.ddt-trust-card strong{
    display:block;
    color:var(--ddt-pink);
    font-size:.8rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ddt-trust-card span{
    display:block;
    margin-top:.4rem;
    font-size:1.08rem;
    line-height:1.4;
}

.ddt-section-wrap{
    max-width:1520px;
    margin:0 auto;
    padding:1.2rem 1rem 0;
    display:grid;
    gap:1rem;
}

.ddt-section-heading{
    display:grid;
    gap:.4rem;
}

.ddt-section-heading span{
    color:var(--ddt-pink);
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.ddt-section-heading h2{
    margin:0;
    font-size:clamp(1.9rem,7vw,3.7rem);
    line-height:.95;
    letter-spacing:-.07em;
}

.ddt-section-heading p{
    margin:0;
    max-width:44rem;
    color:var(--ddt-muted);
    line-height:1.6;
}

.ddt-service-grid,
.ddt-story-grid,
.ddt-bottom-grid{
    display:grid;
    gap:.95rem;
}

.ddt-service-card,
.ddt-story-card,
.ddt-bottom-card,
.ddt-login-card,
.ddt-login-side{
    border-radius:28px;
    border:1px solid var(--ddt-line);
    background:linear-gradient(180deg,rgba(44,46,53,.96),rgba(31,33,39,.98));
    box-shadow:var(--ddt-shadow);
}

.ddt-service-card,
.ddt-story-card,
.ddt-bottom-card{
    padding:1.2rem;
}

.ddt-service-card strong,
.ddt-story-card strong,
.ddt-bottom-card strong{
    display:block;
    margin-bottom:.5rem;
    font-size:1.18rem;
    letter-spacing:-.03em;
}

.ddt-service-card p,
.ddt-story-card p,
.ddt-bottom-card p{
    margin:0;
    color:var(--ddt-muted);
    line-height:1.58;
}

.ddt-story-card ul{
    margin:.85rem 0 0;
    padding-left:1rem;
    color:var(--ddt-muted);
}

.ddt-bottom-card a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:1rem;
    min-height:48px;
    padding:.85rem 1.1rem;
    border-radius:999px;
    background:linear-gradient(135deg,var(--ddt-orange),#b84414);
    text-decoration:none;
    font-weight:900;
}

.ddt-landing-footer{
    max-width:1520px;
    margin:0 auto;
    padding:1.25rem 1rem 2rem;
    color:var(--ddt-muted);
    display:flex;
    flex-direction:column;
    gap:.65rem;
}

.ddt-landing-footer a{
    color:var(--ddt-orange-soft);
    text-decoration:none;
    font-weight:800;
}

.ddt-crew-shell{
    display:grid;
    place-items:center;
    padding:1rem;
    background:
        radial-gradient(circle at top left,rgba(239,59,181,.14),transparent 28%),
        radial-gradient(circle at top right,rgba(255,154,86,.16),transparent 28%),
        linear-gradient(180deg,#1d1f24 0%,#181a1f 100%);
}

.ddt-login-grid{
    width:min(1160px,100%);
    display:grid;
    gap:1rem;
}

.ddt-login-card,
.ddt-login-side{
    padding:1.2rem;
}

.ddt-login-back{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    margin-bottom:.9rem;
    color:var(--ddt-muted);
    text-decoration:none;
    font-weight:800;
}

.ddt-login-card h1{
    margin:.35rem 0 .5rem;
    font-size:clamp(2rem,8vw,4.2rem);
    line-height:.94;
    letter-spacing:-.08em;
}

.ddt-login-card p,
.ddt-login-side p{
    margin:0;
    color:var(--ddt-muted);
    line-height:1.6;
}

.ddt-login-form{
    display:grid;
    gap:.9rem;
    margin-top:1.15rem;
}

.ddt-login-form label{
    display:grid;
    gap:.35rem;
    color:var(--ddt-pink);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ddt-login-form input{
    width:100%;
    min-height:48px;
    padding:.85rem .95rem;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.1);
    background:#17191f;
    color:var(--ddt-text);
    font-size:1rem;
}

.ddt-login-remember{
    display:flex;
    align-items:center;
    gap:.6rem;
    color:var(--ddt-muted);
    font-weight:700;
}

.ddt-login-remember input{
    width:18px;
    min-height:18px;
    padding:0;
}

.ddt-login-submit,
.ddt-login-alt{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:.9rem 1.1rem;
    border-radius:999px;
    text-decoration:none;
    font-weight:900;
}

.ddt-login-submit{
    border:0;
    background:linear-gradient(135deg,var(--ddt-orange),#b84414);
    color:var(--ddt-text);
    cursor:pointer;
}

.ddt-login-alt{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
}

.ddt-login-notice{
    margin-top:1rem;
    padding:.95rem 1rem;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
}

.ddt-login-notice.is-error{
    background:rgba(239,59,181,.13);
    border-color:rgba(239,59,181,.28);
}

.ddt-login-side ul{
    margin:1rem 0 0;
    padding-left:1rem;
    color:var(--ddt-muted);
}

.ddt-login-side strong{
    display:block;
    margin-bottom:.55rem;
    color:var(--ddt-orange-soft);
    font-size:.84rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.ddt-denied-actions{
    display:grid;
    gap:.7rem;
    margin-top:1rem;
}

.ddt-login-access-card{
    margin-top:1rem;
    padding:1rem;
    border-radius:22px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
}

.ddt-login-access-card__meta{
    display:grid;
    gap:.75rem;
    margin-top:.85rem;
}

.ddt-login-access-card__meta div{
    display:grid;
    gap:.28rem;
    padding:.7rem .8rem;
    border-radius:14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.07);
}

.ddt-login-access-card__meta span{
    color:var(--ddt-pink);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ddt-login-access-card__meta code{
    color:var(--ddt-text);
    font-size:.86rem;
    white-space:normal;
    word-break:break-word;
}

@media (min-width:760px){
    .ddt-landing-header{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        padding:1.05rem 1.4rem;
    }

    .ddt-landing-nav{
        display:flex;
        flex-wrap:wrap;
    }

    .ddt-landing-main{
        padding-bottom:4.2rem;
    }

    .ddt-hero-band{
        padding:1.2rem 1.4rem 1.6rem;
    }

    .ddt-hero-actions{
        grid-template-columns:repeat(2,minmax(0,220px));
    }

    .ddt-trust-strip{
        grid-template-columns:repeat(3,minmax(0,1fr));
        padding:1.1rem 1.4rem;
    }

    .ddt-section-wrap{
        padding:1.5rem 1.4rem 0;
    }

    .ddt-service-grid,
    .ddt-story-grid,
    .ddt-bottom-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ddt-login-grid{
        grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    }
}

@media (min-width:1040px){
    .ddt-hero-inner{
        grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
        align-items:center;
        min-height:620px;
    }

    .ddt-hero-photo{
        min-height:480px;
        padding:1.4rem;
    }

    .ddt-service-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }

    .ddt-story-grid{
        grid-template-columns:1.2fr .8fr;
    }

    .ddt-bottom-grid{
        grid-template-columns:1.1fr .9fr;
    }
}
