.dowl {
    --dowl-paper: #f5f0e4;
    --dowl-ink: #17191e;
    --dowl-night: #080b0e;
    --dowl-panel: #11161a;
    --dowl-line: rgba(255, 255, 255, 0.12);
    --dowl-muted: #a7afb4;
    --dowl-blue: #79c9ff;
    --dowl-amber: #ffc760;
    --dowl-coral: #ff7e6b;
    --dowl-mint: #76e6b5;
    color: #f7f8f5;
    padding: clamp(4rem, 8vw, 7rem) 1.5rem;
    overflow: hidden;
    background:
        linear-gradient(90deg, transparent 49.9%, rgba(255, 255, 255, 0.022) 50%, transparent 50.1%),
        radial-gradient(circle at 8% 14%, rgba(121, 201, 255, 0.13), transparent 28rem),
        radial-gradient(circle at 92% 48%, rgba(255, 199, 96, 0.1), transparent 30rem),
        #07090b;
}

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

.dowl__container { width: min(100%, 1460px); margin: 0 auto; }

.dowl__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.65fr);
    gap: clamp(2rem, 5vw, 6rem);
    align-items: end;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.dowl__kicker,
.dowl__panel-heading > span {
    margin: 0 0 0.8rem;
    color: var(--dowl-amber);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.dowl h2,
.dowl h3,
.dowl p { margin-top: 0; }

.dowl__heading h2,
.dowl__objects h2,
.dowl__sources h2,
.dowl__first-lot h2 {
    max-width: 19ch;
    margin-bottom: 0;
    font-size: clamp(2rem, 4.2vw, 4.2rem);
    line-height: 0.98;
    letter-spacing: -0.047em;
}

.dowl__heading > p,
.dowl__sources > div:first-child > p:last-child,
.dowl__first-lot p {
    margin-bottom: 0;
    color: var(--dowl-muted);
    font-size: 1rem;
    line-height: 1.72;
}

.dowl__desk {
    position: relative;
    border: 1px solid var(--dowl-line);
    border-radius: 2rem;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(18, 23, 27, 0.98), rgba(7, 9, 11, 0.98));
    box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.4);
}

.dowl__desk::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: "";
    opacity: 0.13;
    background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 28px);
}

.dowl__topbar {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(12rem, 0.7fr) minmax(28rem, 1fr) auto;
    gap: 1.1rem;
    align-items: center;
    padding: 1.25rem 1.4rem;
    border-bottom: 1px solid var(--dowl-line);
    background: rgba(6, 8, 10, 0.85);
}

.dowl__brand {
    position: relative;
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 1px solid rgba(121, 201, 255, 0.45);
    border-radius: 50% 50% 50% 0.8rem;
    color: #0b1114;
    background: var(--dowl-blue);
    transform: rotate(-4deg);
}

.dowl__brand span { font-size: 1rem; font-weight: 950; transform: rotate(4deg); }
.dowl__brand i { position: absolute; right: -0.2rem; bottom: -0.15rem; width: 0.65rem; height: 0.65rem; border: 2px solid #080b0e; border-radius: 50%; background: var(--dowl-amber); }

.dowl__topbar small,
.dowl__topbar strong { display: block; }
.dowl__topbar small { color: #7f8a90; font-size: 0.63rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.dowl__topbar strong { margin-top: 0.25rem; font-size: 0.92rem; }

.dowl__topbar dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.dowl__topbar dl > div { padding: 0 1rem; border-left: 1px solid var(--dowl-line); }
.dowl__topbar dt { color: #758087; font-size: 0.59rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.dowl__topbar dd { margin: 0.25rem 0 0; color: #e5e9ea; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.7rem; }

.dowl__status {
    display: inline-flex;
    gap: 0.55rem;
    align-items: center;
    min-height: 2.2rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(255, 199, 96, 0.3);
    border-radius: 999px;
    color: #ffe2a4;
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    background: rgba(255, 199, 96, 0.08);
}

.dowl__status i { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--dowl-amber); box-shadow: 0 0 0 0.35rem rgba(255, 199, 96, 0.1); }

.dowl__workspace { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.dowl__order,
.dowl__gates { min-width: 0; padding: clamp(1.5rem, 3.5vw, 3rem); }
.dowl__order { border-right: 1px solid var(--dowl-line); }

.dowl__panel-heading h3,
.dowl__replay h3,
.dowl__proofs h3 { margin-bottom: 0; font-size: clamp(1.25rem, 2vw, 2rem); line-height: 1.12; letter-spacing: -0.025em; }

.dowl__receipt {
    position: relative;
    width: min(100%, 33rem);
    margin: 2rem auto 0;
    padding: 1.4rem 1.4rem 1.65rem;
    color: var(--dowl-ink);
    background:
        repeating-linear-gradient(0deg, transparent 0 27px, rgba(23, 25, 30, 0.065) 27px 28px),
        var(--dowl-paper);
    box-shadow: 0 1.3rem 3rem rgba(0, 0, 0, 0.28);
    transform: rotate(-0.6deg);
}

.dowl__receipt::after {
    position: absolute;
    right: 0;
    bottom: -0.8rem;
    left: 0;
    height: 1rem;
    content: "";
    background: linear-gradient(135deg, var(--dowl-paper) 0.5rem, transparent 0) 0 0 / 1rem 1rem repeat-x;
}

.dowl__receipt-head { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding-bottom: 0.8rem; border-bottom: 2px solid rgba(23, 25, 30, 0.78); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.72rem; }
.dowl__receipt-head span { font-weight: 950; letter-spacing: 0.08em; }
.dowl__receipt dl { margin: 1rem 0; }
.dowl__receipt dl > div { display: flex; gap: 1rem; justify-content: space-between; padding: 0.45rem 0; font-size: 0.75rem; }
.dowl__receipt dt { color: #5c6064; }
.dowl__receipt dd { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 750; text-align: right; }
.dowl__total { display: flex; gap: 1rem; align-items: end; justify-content: space-between; padding-top: 0.9rem; border-top: 2px solid rgba(23, 25, 30, 0.78); }
.dowl__total span { color: #555b5e; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.dowl__total strong { color: #14171a; font-size: 1.35rem; }
.dowl .dowl__fiction { max-width: 48rem; margin: 3.4rem auto 0; color: #8e979c; font-size: 0.7rem; line-height: 1.55; }

.dowl__gates ol { display: grid; gap: 0.55rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.dowl__gates li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.85rem; align-items: center; min-height: 4.25rem; padding: 0.75rem 0.9rem; border: 1px solid rgba(255, 255, 255, 0.09); border-radius: 0.9rem; background: rgba(255, 255, 255, 0.025); }
.dowl__gates li > span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid rgba(118, 230, 181, 0.35); border-radius: 50%; color: var(--dowl-mint); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.62rem; }
.dowl__gates li strong,
.dowl__gates li small { display: block; }
.dowl__gates li strong { font-size: 0.82rem; }
.dowl__gates li small { margin-top: 0.25rem; color: #8d979c; font-size: 0.68rem; line-height: 1.35; }
.dowl__gates li b { color: var(--dowl-mint); font-size: 0.61rem; letter-spacing: 0.07em; }
.dowl__gates li.is-hold { border-color: rgba(255, 199, 96, 0.28); background: rgba(255, 199, 96, 0.04); }
.dowl__gates li.is-hold > span,
.dowl__gates li.is-hold b { color: var(--dowl-amber); border-color: rgba(255, 199, 96, 0.35); }

.dowl__replay { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(15rem, 0.58fr) minmax(0, 1.42fr); gap: clamp(1.5rem, 4vw, 4rem); padding: clamp(1.5rem, 3.5vw, 3rem); border-top: 1px solid var(--dowl-line); background: rgba(4, 6, 8, 0.52); }
.dowl__replay-copy p:last-child { margin: 1rem 0 0; color: #929ba0; font-size: 0.82rem; line-height: 1.65; }
.dowl__replay code { color: var(--dowl-blue); font-size: 0.8em; }
.dowl__timeline { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.dowl__timeline::before { position: absolute; top: 2.4rem; right: 7%; left: 7%; height: 1px; content: ""; background: rgba(255, 255, 255, 0.14); }
.dowl__timeline li { position: relative; display: flex; min-width: 0; padding: 0 0.45rem; flex-direction: column; }
.dowl__timeline li > span { color: #6f7a80; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.6rem; }
.dowl__timeline li > i { z-index: 1; display: grid; width: 2.15rem; height: 2.15rem; margin: 0.75rem 0; place-items: center; border: 1px solid #374047; border-radius: 0.5rem; color: #8c969c; font-style: normal; font-size: 0.62rem; background: #0c1013; }
.dowl__timeline li strong,
.dowl__timeline li small,
.dowl__timeline li b { display: block; }
.dowl__timeline li strong { font-size: 0.76rem; line-height: 1.3; }
.dowl__timeline li small { margin-top: 0.35rem; color: #7d878c; font-size: 0.62rem; line-height: 1.4; }
.dowl__timeline li b { margin-top: 0.65rem; color: #aab3b7; font-size: 0.56rem; letter-spacing: 0.08em; }
.dowl__timeline li.is-done > i { border-color: rgba(118, 230, 181, 0.55); color: var(--dowl-mint); }
.dowl__timeline li.is-done b { color: var(--dowl-mint); }
.dowl__timeline li.is-unknown > i { border-color: rgba(255, 126, 107, 0.62); color: var(--dowl-coral); box-shadow: 0 0 0 0.35rem rgba(255, 126, 107, 0.07); }
.dowl__timeline li.is-unknown b { color: var(--dowl-coral); }

.dowl__proofs { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--dowl-line); }
.dowl__proofs article { min-width: 0; padding: clamp(1.4rem, 3vw, 2.4rem); border-right: 1px solid var(--dowl-line); }
.dowl__proofs article:last-child { border-right: 0; }
.dowl__proofs article > span { color: var(--dowl-blue); font-size: 0.63rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.dowl__proofs h3 { margin-top: 0.85rem; }
.dowl__proofs dl { margin: 1.2rem 0 0; }
.dowl__proofs dl > div { display: flex; gap: 1rem; justify-content: space-between; padding: 0.45rem 0; border-bottom: 1px dashed rgba(255, 255, 255, 0.11); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.67rem; }
.dowl__proofs dt { color: #7b858a; }
.dowl__proofs dd { margin: 0; color: #e0e5e6; text-align: right; }
.dowl__proofs .is-verdict { color: #101419; background: var(--dowl-amber); }
.dowl__proofs .is-verdict > span,
.dowl__proofs .is-verdict p { color: #4a3a16 !important; }
.dowl__proofs .is-verdict h3 { color: #101419 !important; font-size: clamp(1.65rem, 3vw, 2.8rem); }
.dowl__proofs .is-verdict p { margin-top: 1rem; font-size: 0.82rem; line-height: 1.6; }
.dowl__proofs .is-verdict strong { display: inline-block; margin-top: 0.7rem; padding: 0.45rem 0.65rem; border-radius: 0.4rem; color: #fff; font-size: 0.65rem; background: #15191d; }

.dowl__objects { margin-top: clamp(4rem, 8vw, 7rem); }
.dowl__objects header { display: flex; gap: 2rem; align-items: end; justify-content: space-between; margin-bottom: 2rem; }
.dowl__object-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.9rem; }
.dowl__object-grid article { position: relative; display: flex; min-height: 17rem; padding: 1.3rem; border: 1px solid var(--dowl-line); border-radius: 1.2rem; flex-direction: column; overflow: hidden; background: linear-gradient(150deg, rgba(121, 201, 255, 0.07), rgba(255, 255, 255, 0.018)); }
.dowl__object-grid article::after { position: absolute; right: -2rem; bottom: -2rem; width: 7rem; height: 7rem; border: 1px solid rgba(255, 199, 96, 0.18); border-radius: 50%; content: ""; }
.dowl__object-grid span { color: var(--dowl-amber); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.65rem; }
.dowl__object-grid h3 { margin: auto 0 0; font-size: 1.45rem; }
.dowl__object-grid p { margin: 0.8rem 0 0; color: #9ba4a9; font-size: 0.78rem; line-height: 1.55; }
.dowl__object-grid strong { position: relative; z-index: 1; margin-top: 1.1rem; color: var(--dowl-blue); font-size: 0.69rem; }

.dowl__countertests { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 1rem; border: 1px solid var(--dowl-line); border-radius: 1.2rem; overflow: hidden; }
.dowl__countertests article { min-height: 9.5rem; padding: 1rem; border-right: 1px solid var(--dowl-line); background: rgba(255, 255, 255, 0.018); }
.dowl__countertests article:last-child { border-right: 0; }
.dowl__countertests span,
.dowl__countertests strong,
.dowl__countertests small { display: block; }
.dowl__countertests span { color: var(--dowl-coral); font-size: 0.62rem; font-weight: 900; }
.dowl__countertests strong { margin-top: 1rem; font-size: 0.8rem; }
.dowl__countertests small { margin-top: 0.45rem; color: #8c969b; font-size: 0.68rem; line-height: 1.5; }

.dowl__sources { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: clamp(2rem, 5vw, 5rem); margin-top: clamp(4rem, 8vw, 7rem); padding: clamp(1.5rem, 4vw, 3.2rem); border: 1px solid var(--dowl-line); border-radius: 1.8rem; background: rgba(16, 21, 24, 0.72); }
.dowl__source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.dowl__source-grid a { display: flex; min-height: 8rem; padding: 1rem; border: 1px solid rgba(255, 255, 255, 0.09); border-radius: 0.8rem 0.8rem 0.8rem 0.15rem; flex-direction: column; justify-content: space-between; color: #f5f7f5; text-decoration: none; background: rgba(255, 255, 255, 0.025); transition: border-color 180ms ease, transform 180ms ease, background 180ms ease; }
.dowl__source-grid a:hover,
.dowl__source-grid a:focus-visible { border-color: rgba(121, 201, 255, 0.48); outline: none; transform: translateY(-2px); background: rgba(121, 201, 255, 0.05); }
.dowl__source-grid span { color: var(--dowl-amber); font-size: 0.62rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.dowl__source-grid strong { max-width: 22ch; font-size: 0.83rem; line-height: 1.4; }

.dowl__first-lot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 3.2rem); border-radius: 0.3rem 2rem 0.3rem 2rem; color: #11161a; background: linear-gradient(115deg, #dff2ff, #f7f0db 48%, #ffe0d9); }
main.landing-excellence-enabled .dowl .dowl__first-lot .dowl__kicker { color: #8a5c00 !important; }
main.landing-excellence-enabled .dowl .dowl__first-lot h2 { color: #11161a !important; }
main.landing-excellence-enabled .dowl .dowl__first-lot p { max-width: 64ch; margin-top: 1rem; color: #505b62 !important; }
.dowl__cta { display: inline-flex; gap: 0.65rem; align-items: center; justify-content: center; min-height: 48px; padding: 0.85rem 1.15rem; border: 1px solid #11161a; border-radius: 0.25rem 0.8rem 0.25rem 0.8rem; color: #fff; font-weight: 850; white-space: nowrap; background: #11161a; }
.dowl__cta:hover,
.dowl__cta:focus-visible { color: #fff; background: #273039; }

.dowl__boundaries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin-top: 1rem; }
.dowl__boundaries a { display: flex; min-height: 8.5rem; padding: 1rem; border: 1px solid var(--dowl-line); border-radius: 0.95rem; flex-direction: column; justify-content: space-between; color: #fff; text-decoration: none; background: rgba(255, 255, 255, 0.018); transition: border-color 180ms ease, transform 180ms ease; }
.dowl__boundaries a:hover,
.dowl__boundaries a:focus-visible { border-color: rgba(255, 199, 96, 0.45); outline: none; transform: translateY(-2px); }
.dowl__boundaries span { color: var(--dowl-coral); font-size: 0.6rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.dowl__boundaries strong { margin-top: auto; color: var(--dowl-mint); font-size: 0.84rem; }
.dowl__boundaries small { margin-top: 0.35rem; color: #838d92; font-size: 0.66rem; line-height: 1.4; }

@media (max-width: 1120px) {
    .dowl__topbar { grid-template-columns: auto minmax(12rem, 1fr) auto; }
    .dowl__topbar dl { display: none; }
    .dowl__timeline { grid-template-columns: 1fr; gap: 0; }
    .dowl__timeline::before { top: 1.5rem; bottom: 1.5rem; left: 1.48rem; width: 1px; height: auto; }
    .dowl__timeline li { display: grid; grid-template-columns: 4.5rem auto minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; min-height: 4.5rem; padding: 0; }
    .dowl__timeline li > i { margin: 0; }
    .dowl__timeline li b { margin-top: 0; }
    .dowl__object-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dowl__countertests { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dowl__countertests article:nth-child(3) { border-right: 0; }
    .dowl__countertests article:nth-child(-n+3) { border-bottom: 1px solid var(--dowl-line); }
}

@media (max-width: 820px) {
    .dowl { padding-right: 1rem; padding-left: 1rem; }
    .dowl__heading,
    .dowl__workspace,
    .dowl__replay,
    .dowl__sources,
    .dowl__first-lot { grid-template-columns: 1fr; }
    .dowl__heading { align-items: start; }
    .dowl__desk { border-radius: 1.35rem; }
    .dowl__order { border-right: 0; border-bottom: 1px solid var(--dowl-line); }
    .dowl__proofs { grid-template-columns: 1fr; }
    .dowl__proofs article { border-right: 0; border-bottom: 1px solid var(--dowl-line); }
    .dowl__proofs article:last-child { border-bottom: 0; }
    .dowl__sources { border-radius: 1.25rem; }
    .dowl__first-lot { align-items: stretch; }
    .dowl__boundaries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .dowl { padding: 3.5rem 0.95rem; }
    .dowl__heading h2,
    .dowl__objects h2,
    .dowl__sources h2,
    .dowl__first-lot h2 { font-size: clamp(1.85rem, 10vw, 2.65rem); }
    .dowl__topbar { grid-template-columns: auto minmax(0, 1fr); padding: 1rem; }
    .dowl__status { grid-column: 1 / -1; justify-self: start; }
    .dowl__order,
    .dowl__gates,
    .dowl__replay { padding: 1.15rem; }
    .dowl__receipt { padding: 1rem 0.95rem 1.35rem; transform: none; }
    .dowl__receipt dl > div { gap: 0.5rem; }
    .dowl__gates li { grid-template-columns: auto minmax(0, 1fr); }
    .dowl__gates li b { grid-column: 2; }
    .dowl__timeline li { grid-template-columns: 3.9rem auto minmax(0, 1fr); }
    .dowl__timeline li > span { font-size: 0.56rem; }
    .dowl__timeline li b { grid-column: 3; }
    .dowl__object-grid,
    .dowl__source-grid,
    .dowl__boundaries { grid-template-columns: 1fr; }
    .dowl__object-grid article { min-height: 14rem; }
    .dowl__countertests { grid-template-columns: 1fr; }
    .dowl__countertests article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--dowl-line); }
    .dowl__countertests article:last-child { border-bottom: 0; }
    .dowl__source-grid a,
    .dowl__boundaries a { min-height: 7.5rem; }
    .dowl__first-lot { gap: 1.5rem; padding: 1.2rem; border-radius: 0.25rem 1.25rem 0.25rem 1.25rem; }
    .dowl__cta { width: 100%; min-height: 50px; white-space: normal; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    .dowl__source-grid a,
    .dowl__boundaries a { transition: none; }
}
