/* ============================================================
   DARK TRIAD SHOP — GAMING PREMIUM HOME
   Isolated to body.dt-home-page. No global selectors on purpose.
   Reference: Figma "Home — V2 Cinematic Reference".
   ============================================================ */

body.dt-home-page {
    --dt-bg: #06070a;
    --dt-surface: #0a0d12;
    --dt-surface-2: #0f1219;
    --dt-surface-3: #151923;
    --dt-line: #2c303b;
    --dt-orange: #f2682a;
    --dt-orange-hi: #ff8a52;
    --dt-gold: #d2a635;
    --dt-violet: #7a35e8;
    --dt-text: #f5f7fb;
    --dt-muted: #919aab;
    --dt-green: #50d890;
    background:
        radial-gradient(circle at 78% 8%, rgba(122,53,232,.10), transparent 26rem),
        radial-gradient(circle at 20% 30%, rgba(242,104,42,.06), transparent 34rem),
        #050609;
    color: var(--dt-text);
}

body.dt-home-page::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .42;
    background:
        linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 75%);
}

body.dt-home-page > * { position: relative; z-index: 1; }

/* ---------- Header: scoped only to Dark Triad home ---------- */
body.dt-home-page .tbt-header {
    height: 66px;
    background: rgba(6,7,10,.94);
    border-bottom: 1px solid rgba(210,166,53,.32);
    box-shadow: 0 12px 40px rgba(0,0,0,.34);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
}

body.dt-home-page .tbt-header::after {
    height: 1px;
    opacity: .8;
    background: linear-gradient(90deg, transparent 0%, var(--dt-orange) 18%, var(--dt-gold) 55%, transparent 100%);
}

body.dt-home-page .tbt-header__inner {
    max-width: 1412px;
    padding: 0 clamp(1rem, 2.3vw, 2rem);
}

body.dt-home-page .tbt-header__logo {
    gap: .65rem;
    font-size: 1.28rem;
    color: #fff;
}

body.dt-home-page .tbt-header__logo img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    filter: drop-shadow(0 0 12px rgba(122,53,232,.40));
}

body.dt-home-page .tbt-header__logo-text span:first-child {
    color: var(--dt-orange);
    font-size: .49rem;
    letter-spacing: .28em;
}

body.dt-home-page .tbt-header__nav { gap: 1rem; }
body.dt-home-page .tbt-header__menu { gap: 0; }

body.dt-home-page .tbt-header__link {
    color: #9ca3b2;
    padding: .45rem .66rem;
    font-size: .96rem;
    letter-spacing: .08em;
}

body.dt-home-page .tbt-header__link:hover,
body.dt-home-page .tbt-header__link--active {
    color: #fff;
    background: rgba(242,104,42,.06);
}

body.dt-home-page .tbt-header__link::before { background: var(--dt-orange); }

body.dt-home-page .tbt-header__cta,
body.dt-home-page .hdr-auth__registro {
    background: linear-gradient(135deg, var(--dt-orange), #ff7440);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 8px 24px rgba(242,104,42,.20);
}

body.dt-home-page .hdr-auth__login {
    background: rgba(13,15,21,.78);
    color: #d7dbe4;
    border-color: #353947;
}

/* ---------- Home shell ---------- */
.dt-home {
    position: relative;
    max-width: 1440px;
    margin: 12px auto 0;
    border: 1px solid rgba(242,104,42,.44);
    background: var(--dt-bg);
    box-shadow:
        0 26px 90px rgba(0,0,0,.66),
        0 0 0 1px rgba(210,166,53,.08),
        inset 0 1px 0 rgba(255,255,255,.025);
    overflow: hidden;
}

.dt-home::before,
.dt-home::after {
    content: '';
    position: absolute;
    z-index: 5;
    pointer-events: none;
}

.dt-home::before {
    inset: 0;
    background: linear-gradient(135deg, rgba(242,104,42,.025), transparent 22%, transparent 78%, rgba(122,53,232,.035));
}

.dt-home::after {
    left: 0; right: 0; top: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--dt-orange) 18%, var(--dt-gold) 54%, transparent 92%);
}

/* ---------- Hero ---------- */
.dt-home-hero {
    position: relative;
    min-height: 492px;
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
    align-items: stretch;
    background:
        linear-gradient(90deg, rgba(5,6,9,.98) 0%, rgba(7,8,11,.90) 39%, rgba(10,8,8,.58) 70%, rgba(8,7,10,.80) 100%);
    overflow: hidden;
}

.dt-home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 76% 38%, rgba(242,104,42,.18), transparent 28%),
        radial-gradient(circle at 83% 26%, rgba(122,53,232,.14), transparent 22%),
        radial-gradient(circle at 60% 52%, rgba(210,166,53,.07), transparent 28%),
        linear-gradient(180deg, transparent 70%, rgba(105,35,11,.19) 100%);
}

.dt-home-hero__copy {
    position: relative;
    z-index: 4;
    align-self: center;
    padding: 3.4rem 1.8rem 3.25rem clamp(2rem, 4vw, 3.2rem);
}

.dt-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: var(--dt-orange);
    font-family: var(--tbt-font-mono);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.dt-home-kicker::before {
    content: '';
    width: 24px;
    height: 1px;
    background: var(--dt-orange);
    box-shadow: 0 0 12px rgba(242,104,42,.70);
}

.dt-home-hero__title {
    margin: 0;
    max-width: 560px;
    font-family: var(--tbt-font-display);
    font-size: clamp(4rem, 6.2vw, 6.4rem);
    line-height: .82;
    letter-spacing: .025em;
    color: #fff;
    text-transform: uppercase;
    text-shadow: 0 4px 26px rgba(0,0,0,.52);
}

.dt-home-hero__title span {
    display: block;
    color: var(--dt-orange);
    text-shadow: 0 0 28px rgba(242,104,42,.22);
}

.dt-home-hero__lead {
    max-width: 520px;
    margin: 1.45rem 0 0;
    color: #c0c6d2;
    font-size: clamp(1.05rem, 1.55vw, 1.24rem);
    line-height: 1.46;
}

.dt-home-hero__lead strong { color: #fff; font-weight: 600; }

.dt-home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.75rem;
}

.dt-home-btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .7rem 1.55rem;
    border: 1px solid #343847;
    border-radius: 5px;
    text-decoration: none;
    font-family: var(--tbt-font-display);
    font-size: 1.05rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #e7eaf1;
    background: rgba(14,17,24,.90);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
    position: relative;
    overflow: hidden;
}

.dt-home-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.16) 48%, transparent 70%);
    transform: translateX(-140%);
    transition: transform .6s var(--tbt-ease);
}

.dt-home-btn:hover { transform: translateY(-2px); }
.dt-home-btn:hover::before { transform: translateX(140%); }

.dt-home-btn--primary {
    border-color: var(--dt-orange-hi);
    background: linear-gradient(135deg, var(--dt-orange), #ff7541);
    color: #fff;
    box-shadow: 0 9px 28px rgba(242,104,42,.25);
}

.dt-home-btn--primary:hover { box-shadow: 0 14px 38px rgba(242,104,42,.35); }
.dt-home-btn--secondary:hover { border-color: rgba(242,104,42,.58); background: rgba(242,104,42,.07); }

/* ---------- Hero art ---------- */
.dt-home-hero__art {
    position: relative;
    min-height: 492px;
    overflow: hidden;
}

.dt-home-hero__art::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 64% 38%, rgba(242,104,42,.17), transparent 18rem),
        radial-gradient(circle at 65% 28%, rgba(122,53,232,.18), transparent 16rem),
        linear-gradient(100deg, rgba(6,7,10,.96) 0%, transparent 26%);
    z-index: 2;
    pointer-events: none;
}

.dt-home-hero__sun {
    position: absolute;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    left: 48%;
    top: 4%;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(242,104,42,.15), rgba(242,104,42,.04) 42%, transparent 70%);
    filter: blur(1px);
    z-index: 0;
}

.dt-home-hero__skyline {
    position: absolute;
    inset: auto 0 0 5%;
    height: 260px;
    z-index: 1;
    opacity: .88;
    overflow: hidden;
}

.dt-home-hero__skyline::before {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -40px;
    height: 160px;
    background: linear-gradient(180deg, #2a1109 0%, #170907 48%, #08090b 100%);
    clip-path: polygon(0 64%, 7% 50%, 13% 57%, 20% 45%, 28% 61%, 36% 52%, 43% 58%, 49% 41%, 56% 60%, 63% 50%, 70% 61%, 76% 43%, 83% 57%, 91% 48%, 100% 62%, 100% 100%, 0 100%);
}

.dt-home-hero__tower {
    position: absolute;
    bottom: 66px;
    width: 38px;
    background: linear-gradient(180deg, #21120e, #100b0a);
    border: 1px solid rgba(242,104,42,.10);
    box-shadow: inset 0 0 20px rgba(242,104,42,.025);
}

.dt-home-hero__tower::before {
    content: '';
    position: absolute;
    left: 50%; top: -14px;
    width: 20px; height: 16px;
    transform: translateX(-50%);
    background: #2a170f;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.dt-home-hero__tower::after {
    content: '';
    position: absolute;
    left: 50%; top: 34%;
    width: 4px; height: 18px;
    transform: translateX(-50%);
    background: rgba(242,104,42,.55);
    box-shadow: 0 0 11px rgba(242,104,42,.40);
}

.dt-home-hero__tower:nth-child(1){left:9%;height:92px}
.dt-home-hero__tower:nth-child(2){left:21%;height:132px}
.dt-home-hero__tower:nth-child(3){left:34%;height:176px;width:46px}
.dt-home-hero__tower:nth-child(4){left:49%;height:116px}
.dt-home-hero__tower:nth-child(5){left:61%;height:162px;width:44px}
.dt-home-hero__tower:nth-child(6){left:75%;height:126px}
.dt-home-hero__tower:nth-child(7){left:87%;height:98px}

.dt-home-hero__logo-halo {
    position: absolute;
    z-index: 2;
    right: clamp(1rem, 4vw, 4rem);
    top: 50%;
    width: min(570px, 78%);
    aspect-ratio: 1;
    transform: translateY(-49%);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(122,53,232,.15) 0%, rgba(122,53,232,.04) 43%, transparent 68%);
    border: 1px solid rgba(210,166,53,.15);
    box-shadow: 0 0 80px rgba(122,53,232,.10), 0 0 120px rgba(242,104,42,.05);
}

.dt-home-hero__logo-halo::before,
.dt-home-hero__logo-halo::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    border: 1px solid;
    inset: 8%;
    border-color: rgba(122,53,232,.30);
    transform: rotate(-8deg);
}
.dt-home-hero__logo-halo::after { inset: 16%; border-color: rgba(210,166,53,.21); transform: rotate(9deg); }

.dt-home-hero__logo {
    position: absolute;
    z-index: 3;
    right: clamp(.5rem, 2.5vw, 2.5rem);
    top: 50%;
    width: min(590px, 84%);
    height: auto;
    transform: translateY(-50%);
    object-fit: contain;
    filter:
        drop-shadow(0 22px 36px rgba(0,0,0,.62))
        drop-shadow(0 0 18px rgba(122,53,232,.20));
    animation: dt-logo-float 6s ease-in-out infinite;
}

@keyframes dt-logo-float {
    0%,100% { transform: translateY(-50%) translate3d(0,0,0); }
    50% { transform: translateY(calc(-50% - 8px)) translate3d(0,0,0); }
}

.dt-home-hero__embers,
.dt-home-hero__embers::before,
.dt-home-hero__embers::after {
    position: absolute;
    content: '';
    z-index: 4;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--dt-orange-hi);
    box-shadow: 0 0 14px rgba(242,104,42,.8);
    animation: dt-ember 4.8s ease-in-out infinite;
}

.dt-home-hero__embers { left: 24%; bottom: 22%; }
.dt-home-hero__embers::before { left: 260px; top: -100px; animation-delay: -1.2s; }
.dt-home-hero__embers::after { left: 420px; top: 40px; animation-delay: -2.8s; }

@keyframes dt-ember {
    0%,100% { opacity:.2; transform:translateY(10px) scale(.7); }
    50% { opacity:1; transform:translateY(-20px) scale(1.2); }
}

/* ---------- Stats ---------- */
.dt-home-stats {
    min-height: 72px;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid rgba(242,104,42,.42);
    border-bottom: 1px solid #171a22;
    background: #080a0e;
}

.dt-home-stat {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    position: relative;
    padding: .8rem 1rem;
}

.dt-home-stat:not(:last-child)::after {
    content: '';
    width: 1px;
    height: 34px;
    background: #2b2f38;
    position: absolute;
    right: 0;
}

.dt-home-stat strong {
    font-family: var(--tbt-font-display);
    color: #fff;
    font-size: 1.75rem;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 1;
}

.dt-home-stat:nth-child(2) strong { color: var(--dt-gold); }

.dt-home-stat span {
    color: #8d95a6;
    font-family: var(--tbt-font-mono);
    font-size: .65rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

/* ---------- Services ---------- */
.dt-home-services {
    padding: 2.1rem 1.35rem 1.8rem;
    background:
        radial-gradient(circle at 85% 25%, rgba(122,53,232,.045), transparent 28rem),
        #06070a;
}

.dt-home-section-title {
    margin: 0 0 .2rem;
    color: #fff;
    font-family: var(--tbt-font-display);
    font-size: clamp(2rem, 3vw, 2.65rem);
    font-weight: 400;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.dt-home-section-line {
    width: 156px;
    height: 2px;
    margin-bottom: 1.55rem;
    background: linear-gradient(90deg, var(--dt-orange), rgba(242,104,42,0));
    box-shadow: 0 0 12px rgba(242,104,42,.25);
}

.dt-home-services__layout {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr)) 202px;
    gap: 1rem;
    align-items: stretch;
}

.dt-service-card,
.dt-promo-card {
    min-width: 0;
    position: relative;
    text-decoration: none;
    border: 1px solid #2c303b;
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(14,17,23,.98), rgba(8,11,15,.98));
    box-shadow: 0 14px 30px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.02);
    overflow: hidden;
}

.dt-service-card {
    min-height: 168px;
    padding: 1.05rem 1.05rem 1rem;
    transition: transform .22s var(--tbt-ease), border-color .22s ease, box-shadow .22s ease;
}

.dt-service-card::before {
    content: '';
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 3px;
    background: var(--card-accent, var(--dt-orange));
}

.dt-service-card:hover {
    transform: translateY(-5px);
    border-color: color-mix(in srgb, var(--card-accent, var(--dt-orange)) 45%, #2c303b);
    box-shadow: 0 20px 38px rgba(0,0,0,.48), 0 0 24px color-mix(in srgb, var(--card-accent, var(--dt-orange)) 12%, transparent);
}

.dt-service-card--bots { --card-accent: var(--dt-orange); }
.dt-service-card--shop { --card-accent: var(--dt-gold); }
.dt-service-card--tools { --card-accent: var(--dt-violet); }
.dt-service-card--support { --card-accent: var(--dt-orange); }

.dt-service-card__icon {
    width: 44px;
    height: 44px;
    margin: .3rem auto .55rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--card-accent) 65%, #2c303b);
    color: var(--card-accent);
    background: color-mix(in srgb, var(--card-accent) 8%, #10131a);
    box-shadow: 0 0 22px color-mix(in srgb, var(--card-accent) 12%, transparent);
}

.dt-service-card__icon svg { width: 22px; height: 22px; }

.dt-service-card h3 {
    margin: 0;
    font-family: var(--tbt-font-display);
    font-size: 1.7rem;
    font-weight: 400;
    letter-spacing: .04em;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
}

.dt-service-card p {
    margin: .3rem 0 0;
    color: #7f8899;
    font-family: var(--tbt-font-mono);
    font-size: .62rem;
    letter-spacing: .035em;
    line-height: 1.45;
    text-align: center;
    text-transform: uppercase;
}

.dt-service-card__arrow {
    position: absolute;
    right: .8rem;
    bottom: .7rem;
    color: var(--card-accent);
    opacity: .66;
    transition: transform .2s ease, opacity .2s ease;
}
.dt-service-card:hover .dt-service-card__arrow { transform: translateX(3px); opacity: 1; }

.dt-promo-card {
    padding: 1.2rem 1rem 1rem;
    border-color: #403324;
    background:
        radial-gradient(circle at 50% 20%, rgba(210,166,53,.10), transparent 7rem),
        linear-gradient(180deg, #101219, #0a0c11);
}

.dt-promo-card__kicker {
    color: var(--dt-gold);
    font-family: var(--tbt-font-mono);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dt-promo-card h3 {
    margin: .6rem 0 0;
    color: #fff;
    font-family: var(--tbt-font-display);
    font-size: 2rem;
    font-weight: 400;
    line-height: .94;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dt-promo-card__price {
    margin-top: .8rem;
    color: var(--dt-orange);
    font-family: var(--tbt-font-display);
    font-size: 1.65rem;
    letter-spacing: .025em;
}

.dt-promo-card p {
    color: #949dae;
    font-size: .88rem;
    line-height: 1.35;
    margin: .3rem 0 .9rem;
}

.dt-promo-card .dt-home-btn { min-height: 38px; width: 100%; padding: .5rem .8rem; font-size: .9rem; }

/* ---------- Community CTA ---------- */
.dt-home-community {
    margin: 0 1.35rem 1.45rem;
    min-height: 118px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1.4rem;
    align-items: center;
    padding: 1.35rem 1.5rem;
    position: relative;
    overflow: hidden;
    border: 1px solid #5a2a18;
    border-radius: 10px;
    background:
        radial-gradient(circle at 8% 50%, rgba(242,104,42,.16), transparent 13rem),
        linear-gradient(90deg, #110b09, #0c0c10 70%);
    box-shadow: 0 12px 34px rgba(0,0,0,.34), 0 0 24px rgba(242,104,42,.06);
}

.dt-home-community::before {
    content: '';
    position: absolute;
    left: -40px;
    bottom: -90px;
    width: 260px;
    height: 190px;
    border-radius: 50%;
    background: rgba(242,104,42,.11);
    filter: blur(26px);
}

.dt-home-community__copy { position: relative; z-index: 1; }
.dt-home-community h2 {
    margin: 0;
    color: #fff;
    font-family: var(--tbt-font-display);
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.dt-home-community p { margin: .2rem 0 0; color: #b6bdc9; font-size: 1rem; }

/* ---------- Events: preserved, restyled only on this home ---------- */
.dt-home-events {
    padding: 1.6rem 1.35rem 2.2rem;
    border-top: 1px solid #171a22;
    background: #07080b;
}

.dt-home-events__header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: 1rem;
}

.dt-home-events__header p { margin: 0; color: #7f8797; font-size: .95rem; }
.dt-home-events #lm-events-widget,
.dt-home-events .events-widget,
.dt-home-events [class*="events-widget"] {
    border-color: #2c303b !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 1180px) {
    .dt-home-hero { grid-template-columns: minmax(0,.92fr) minmax(440px,1.08fr); }
    .dt-home-services__layout { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .dt-promo-card { grid-column: 1 / -1; min-height: 130px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; }
    .dt-promo-card p { margin-bottom: 0; }
    .dt-promo-card .dt-home-btn { width: 170px; }
}

@media (max-width: 900px) {
    body.dt-home-page .tbt-header__nav {
        background: #090b0f !important;
        border-left: 1px solid rgba(242,104,42,.18);
    }
    .dt-home { margin-top: 8px; border-left: 0; border-right: 0; }
    .dt-home-hero { min-height: auto; grid-template-columns: 1fr; }
    .dt-home-hero__copy { padding: 2.5rem 1.4rem 1.2rem; text-align: center; }
    .dt-home-kicker { justify-content: center; }
    .dt-home-hero__title { margin-inline: auto; font-size: clamp(3.8rem, 13vw, 5.6rem); }
    .dt-home-hero__lead { margin-inline: auto; }
    .dt-home-hero__actions { justify-content: center; }
    .dt-home-hero__art { min-height: 430px; }
    .dt-home-hero__art::before { background: linear-gradient(180deg, rgba(6,7,10,.65), transparent 20%), radial-gradient(circle at 52% 36%, rgba(122,53,232,.12), transparent 18rem); }
    .dt-home-hero__logo { right: 50%; transform: translate(50%,-50%); width: min(540px,90%); }
    .dt-home-hero__logo-halo { right: 50%; transform: translate(50%,-49%); width: min(510px,85%); }
    @keyframes dt-logo-float {
        0%,100% { transform: translate(50%,-50%) translateY(0); }
        50% { transform: translate(50%,-50%) translateY(-8px); }
    }
    .dt-home-stats { grid-template-columns: repeat(2,1fr); }
    .dt-home-stat:nth-child(2)::after { display:none; }
    .dt-home-stat:nth-child(-n+2) { border-bottom: 1px solid #1c2028; }
}

@media (max-width: 620px) {
    body.dt-home-page { background:#050609; }
    .dt-home { margin-top: 0; }
    .dt-home-hero__copy { padding: 2rem 1.15rem 1rem; }
    .dt-home-kicker { font-size: .62rem; letter-spacing: .12em; }
    .dt-home-hero__title { font-size: clamp(3.4rem, 18vw, 4.8rem); }
    .dt-home-hero__lead { font-size: 1.05rem; }
    .dt-home-hero__actions { display:grid; grid-template-columns:1fr; width:100%; }
    .dt-home-btn { width:100%; }
    .dt-home-hero__art { min-height: 350px; }
    .dt-home-hero__logo { width: min(390px,96%); }
    .dt-home-hero__logo-halo { width: min(365px,92%); }
    .dt-home-hero__skyline { height: 190px; inset-inline:0; }
    .dt-home-services { padding: 1.55rem .85rem 1.1rem; }
    .dt-home-services__layout { grid-template-columns: 1fr; gap: .8rem; }
    .dt-service-card { min-height: 154px; }
    .dt-promo-card { grid-column:auto; display:block; min-height: 190px; }
    .dt-promo-card .dt-home-btn { width: 100%; }
    .dt-home-community { margin:0 .85rem 1rem; padding:1.15rem; grid-template-columns:1fr; text-align:center; }
    .dt-home-community .dt-home-btn { max-width:260px; justify-self:center; }
    .dt-home-events { padding:1.35rem .85rem 1.8rem; }
    .dt-home-events__header { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
    .dt-home-hero__logo,
    .dt-home-hero__embers,
    .dt-home-hero__embers::before,
    .dt-home-hero__embers::after { animation: none !important; }
    .dt-home-btn,
    .dt-service-card { transition: none !important; }
}
