.dub-developer-tile { display: block; text-decoration: none; color: inherit; height: 100%; }/* DubPlan stable stylesheet (no build step) */

:root {
    --dub-logo-shadow:
        drop-shadow(0 0 0.75px rgb(28 25 23 / 0.95))
        drop-shadow(0 0 1.5px rgb(28 25 23 / 0.55));
}

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

html { scroll-behavior: smooth; }
html.dub-modal-open { overflow: hidden; }

body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #0c0a09;
    background: #fafaf9;
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

.dub-main { flex: 1; }

.dub-container {
    width: 100%;
    max-width: 72rem;
    margin: 0 auto;
    padding: 0 1rem;
}

@media (min-width: 640px) {
    .dub-container { padding: 0 1.5rem; }
}

.dub-eyebrow {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-h1, .dub-heading {
    margin: 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 500;
    line-height: 1.15;
    color: #0c0a09;
}

.dub-h2 {
    margin: 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 500;
    line-height: 1.2;
    color: #0c0a09;
}

.dub-h3 {
    margin: 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: 1.25rem;
    font-weight: 500;
    color: #0c0a09;
}

.dub-lead {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.65;
    color: #78716c;
}

.dub-text { margin: 0; color: #57534e; }
.dub-text--sm { font-size: 0.875rem; }
.dub-muted { color: #78716c; }

.dub-section {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    clear: both;
}
.dub-section--border { border-top: 1px solid #e7e5e4; border-bottom: 1px solid #e7e5e4; }
.dub-section--white { background: #fff; }
.dub-section--muted { background: #f5f5f4; }

.dub-section-intro { max-width: 40rem; }

.dub-section__head { margin-bottom: 2rem; }
.dub-section__head--row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.dub-grid { display: grid; gap: 1rem; }
.dub-grid--2, .dub-grid--3, .dub-grid--4 { grid-template-columns: 1fr; }

@media (min-width: 640px) {
    .dub-grid--2 { grid-template-columns: repeat(2, 1fr); }
    .dub-grid--3 { grid-template-columns: repeat(2, 1fr); }
    .dub-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
    .dub-grid--3 { grid-template-columns: repeat(3, 1fr); }
    .dub-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

.dub-split { display: grid; gap: 2.5rem; }

@media (max-width: 1023px) {
    .dub-split--contact .dub-split__form {
        order: -1;
    }
}

@media (min-width: 1024px) {
    .dub-split { grid-template-columns: 1fr 1fr; align-items: start; }
    .dub-split--hero { grid-template-columns: 1.05fr 0.95fr; }
    .dub-split--contact { align-items: start; }
    .dub-split--cta { align-items: center; }
}

.dub-card {
    background: #fff;
    border: 1px solid rgb(231 229 228 / 0.8);
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 1px 2px rgb(28 25 23 / 0.05);
}

.dub-card__body { padding: 1.5rem; }

.dub-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 9999px;
    background: #0c0a09;
    color: #fff;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.dub-btn:hover { background: #292524; }
.dub-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.dub-btn--ghost { background: transparent; color: #0c0a09; border: 1px solid #d6d3d1; }
.dub-btn--ghost:hover { background: #f5f5f4; }
.dub-btn--block { width: 100%; }

.dub-btn--cta {
    min-height: 3rem;
    background: linear-gradient(135deg, #d4b03a 0%, #c9a227 45%, #a88620 100%);
    color: #0c0a09;
    box-shadow: 0 2px 8px rgb(201 162 39 / 0.35);
}

.dub-btn--cta:hover {
    background: linear-gradient(135deg, #e8c547 0%, #d4b03a 45%, #c9a227 100%);
    transform: translateY(-1px);
}

.dub-btn--cta:disabled {
    transform: none;
}

.dub-link {
    font-weight: 500;
    color: #0c0a09;
    text-decoration: underline;
    text-decoration-color: rgb(201 162 39 / 0.6);
    text-underline-offset: 4px;
}

.dub-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.dub-actions--inline .dub-btn { flex: 1; min-width: 8rem; }

.dub-form { display: flex; flex-direction: column; gap: 1rem; }
.dub-form__field { display: flex; flex-direction: column; gap: 0.35rem; }
.dub-form__label { font-size: 0.875rem; font-weight: 500; color: #44403c; }

.dub-input {
    display: block;
    width: 100%;
    min-height: 3rem;
    padding: 0.75rem 1rem;
    border: 1px solid #d6d3d1;
    border-radius: 0.75rem;
    background: #fafaf9;
    font: inherit;
    font-size: 16px;
    color: #0c0a09;
    transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
}

.dub-input:hover {
    border-color: #a8a29e;
    background: #fff;
}

.dub-input::placeholder {
    color: #a8a29e;
    opacity: 1;
}

.dub-input:focus {
    outline: none;
    border-color: #c9a227;
    background: #fff;
    box-shadow: 0 0 0 3px rgb(201 162 39 / 0.25);
}

.dub-form__check {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: #57534e;
    cursor: pointer;
}

.dub-form__check input { margin-top: 0.2rem; flex-shrink: 0; }
.dub-form__error { margin: 0; font-size: 0.8125rem; color: #b91c1c; }
.dub-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.dub-alert {
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid #a7f3d0;
    background: #ecfdf5;
    color: #065f46;
    font-size: 0.875rem;
}

.dub-recognized {
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid #e7e5e4;
    background: #fafaf9;
    font-size: 0.875rem;
    color: #44403c;
    margin-bottom: 1rem;
}

.dub-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-bottom: 1px solid #e7e5e4;
    background: radial-gradient(ellipse 70% 55% at 50% -10%, rgb(201 162 39 / 0.18), transparent), linear-gradient(180deg, #fafaf9 0%, #f5f5f4 100%);
    padding: 3rem 0;
}

.dub-hero > .dub-container {
    position: relative;
    z-index: 1;
}

.dub-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.dub-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 24%;
    opacity: 1;
    transform: scale(1.03);
    filter: saturate(0.96) contrast(1.04);
}

.dub-hero--photo .dub-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(105deg, rgb(250 250 249 / 0.94) 0%, rgb(250 250 249 / 0.78) 32%, rgb(250 250 249 / 0.34) 56%, rgb(245 245 244 / 0.08) 100%),
        linear-gradient(180deg, rgb(250 250 249 / 0.42) 0%, transparent 42%);
}

@media (min-width: 1024px) { .dub-hero { padding: 5rem 0; } }

@media (max-width: 639px) {
    .dub-hero__bg img {
        object-position: center 18%;
    }

    .dub-hero--photo .dub-hero__bg::after {
        background:
            linear-gradient(180deg, rgb(250 250 249 / 0.9) 0%, rgb(250 250 249 / 0.66) 46%, rgb(245 245 244 / 0.28) 100%);
    }
}

.dub-gold-line {
    height: 1px;
    width: 4rem;
    background: linear-gradient(90deg, transparent, #c9a227, transparent);
}

.dub-header {
    position: sticky;
    top: 0;
    z-index: 40;
    border-bottom: 1px solid rgb(231 229 228 / 0.8);
    background: rgb(255 255 255 / 0.95);
    backdrop-filter: blur(10px);
}

.dub-header__inner {
    display: flex;
    min-height: 4rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.dub-header__brand {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    text-decoration: none;
    color: inherit;
}

.dub-header__logo {
    display: flex;
    flex-shrink: 0;
    height: 2.5rem;
    width: 2.5rem;
    align-items: center;
    justify-content: center;
}

.dub-header__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1.15);
}

.dub-header__brand-text {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    line-height: 1.15;
}

.dub-header__name {
    font-family: ui-serif, Georgia, serif;
    font-size: 1.125rem;
    letter-spacing: -0.01em;
}

.dub-header__tagline {
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-header__nav {
    display: none;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #44403c;
}

.dub-header__menu {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    flex-shrink: 0;
}

.dub-header__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
    margin-left: 0.75rem;
    padding-left: 0.75rem;
    border-left: 1px solid rgb(231 229 228 / 0.9);
}

.dub-header__link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    padding: 0.5rem 0.375rem;
    white-space: nowrap;
    text-decoration: none;
    color: inherit;
    background: none;
    border: 0;
    cursor: pointer;
    font: inherit;
    transition: color 0.15s ease;
}

.dub-header__link:hover {
    color: #0c0a09;
    text-decoration: underline;
    text-decoration-color: rgb(201 162 39 / 0.6);
    text-underline-offset: 0.25rem;
}

.dub-header__cta {
    flex-shrink: 0;
    min-height: 2.5rem;
    padding: 0.5rem 1.125rem;
    font-size: 0.8125rem;
    white-space: nowrap;
}

.dub-header__locales {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.dub-header__locale--active {
    border-color: rgb(201 162 39 / 0.45);
    background: rgb(201 162 39 / 0.08);
    color: #0c0a09;
}

.dub-header__locale {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 2.25rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid #e7e5e4;
    border-radius: 9999px;
    background: #fff;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    color: #44403c;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.dub-header__locale:hover {
    border-color: rgb(201 162 39 / 0.55);
    color: #0c0a09;
}

.dub-header__cta--sm { padding: 0.5rem 0.875rem; font-size: 0.75rem; }
.dub-header__mobile { display: flex; align-items: center; gap: 0.5rem; }

.dub-header__menu-btn {
    display: inline-flex;
    height: 2.75rem;
    width: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border: 1px solid #d6d3d1;
    background: #fff;
    cursor: pointer;
    font-size: 1.125rem;
    line-height: 1;
    color: #0c0a09;
}

.dub-header__menu-icon--close { display: none; }

.dub-header__menu-btn[aria-expanded='true'] .dub-header__menu-icon--open { display: none; }
.dub-header__menu-btn[aria-expanded='true'] .dub-header__menu-icon--close { display: inline; }

.dub-header__mobile-panel {
    border-top: 1px solid #e7e5e4;
    background: #fafaf9;
    max-height: calc(100dvh - 4rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 16px 40px rgb(28 25 23 / 0.08);
}

.dub-header__mobile-panel[hidden] { display: none !important; }

.dub-mobile-nav {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 0 1.5rem;
}

.dub-mobile-nav__primary {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.625rem;
}

.dub-mobile-nav__primary-link {
    display: flex;
    align-items: center;
    min-height: 3rem;
    padding: 0.875rem 1rem;
    border: 1px solid #e7e5e4;
    border-radius: 0.875rem;
    background: #fff;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: #0c0a09;
    text-decoration: none;
}

.dub-mobile-nav__primary-link:active { background: #f5f5f4; }

.dub-mobile-nav__groups {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.dub-mobile-nav__group { border-radius: 0.875rem; }

.dub-mobile-nav__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 3rem;
    padding: 0.875rem 1rem;
    border: 1px solid #e7e5e4;
    border-radius: 0.875rem;
    background: #fff;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: #0c0a09;
    cursor: pointer;
    list-style: none;
}

.dub-mobile-nav__summary::-webkit-details-marker { display: none; }

.dub-mobile-nav__group[open] .dub-mobile-nav__summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-color: transparent;
}

.dub-mobile-nav__chevron {
    flex-shrink: 0;
    font-size: 0.875rem;
    color: #78716c;
    transition: transform 0.15s ease;
}

.dub-mobile-nav__group[open] .dub-mobile-nav__chevron { transform: rotate(180deg); }

.dub-mobile-nav__panel {
    padding: 0.75rem;
    border: 1px solid #e7e5e4;
    border-top: 0;
    border-radius: 0 0 0.875rem 0.875rem;
    background: #fff;
}

.dub-mobile-nav__grid,
.dub-mobile-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dub-mobile-nav__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.dub-mobile-nav__list { display: grid; gap: 0.5rem; }

.dub-mobile-nav__grid a,
.dub-mobile-nav__list a {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.625rem 0.75rem;
    border: 1px solid #e7e5e4;
    border-radius: 0.625rem;
    background: #fafaf9;
    font-size: 0.875rem;
    line-height: 1.35;
    color: #44403c;
    text-decoration: none;
}

.dub-mobile-nav__grid a:active,
.dub-mobile-nav__list a:active { background: #f5f5f4; }

.dub-mobile-nav__more {
    display: block;
    margin-top: 0.75rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0.625rem;
    background: #0c0a09;
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff;
    text-align: center;
    text-decoration: none;
}

.dub-mobile-nav__cta {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 0.25rem;
}

.dub-mobile-nav__contact-link {
    display: block;
    padding: 0.625rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #57534e;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

html.dub-nav-open { overflow: hidden; }

.dub-nav-dropdown { position: relative; }
.dub-nav-dropdown__trigger { list-style: none; cursor: pointer; }
.dub-nav-dropdown__trigger::-webkit-details-marker { display: none; }

.dub-nav-dropdown__panel {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 0.5rem);
    z-index: 50;
    width: min(calc(100vw - 2rem), 52rem);
    border-radius: 1rem;
    border: 1px solid #e7e5e4;
    background: #fff;
    padding: 1.5rem;
    box-shadow: 0 25px 50px -12px rgb(28 25 23 / 0.18);
}

.dub-nav-dropdown[open] .dub-nav-dropdown__panel { display: block; }
.dub-nav-dropdown__grid { display: grid; gap: 1.5rem; }

@media (min-width: 640px) { .dub-nav-dropdown__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .dub-nav-dropdown__grid { grid-template-columns: repeat(4, 1fr); } }

.dub-browse-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.dub-browse-nav__link {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    border: 1px solid #e7e5e4;
    background: #fff;
    color: #44403c;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s;
}

.dub-browse-nav__link:hover { border-color: #d6d3d1; background: #fafaf9; }
.dub-browse-nav__link.is-active { border-color: #292524; background: #292524; color: #fff; }

.dub-nav-dropdown__list { margin: 0.75rem 0 0; padding: 0; list-style: none; font-size: 0.875rem; }
.dub-nav-dropdown__list li + li { margin-top: 0.375rem; }
.dub-nav-dropdown__list a { display: block; padding: 0.25rem 0.5rem; border-radius: 0.375rem; color: #44403c; text-decoration: none; }
.dub-nav-dropdown__list a:hover { background: #f5f5f4; }
.dub-nav-dropdown__list--scroll { max-height: 13rem; overflow-y: auto; }
.dub-nav-dropdown__more { display: inline-block; margin-top: 0.75rem; font-size: 0.875rem; font-weight: 500; text-decoration: underline; }

@media (min-width: 1200px) {
    .dub-header__nav { display: flex; }
    .dub-header__mobile { display: none; }
    .dub-header__mobile-panel { display: none !important; }
}

@media (min-width: 1200px) and (max-width: 1279px) {
    .dub-header__tagline { display: none; }
}

@media (min-width: 1280px) {
    .dub-header__nav { gap: 1.25rem; font-size: 0.875rem; }
    .dub-header__menu { gap: 1.25rem; }
    .dub-header__actions { margin-left: 1rem; padding-left: 1rem; }
}

.dub-footer { border-top: 1px solid #e7e5e4; background: #fff; padding: 3rem 0; margin-top: auto; }
.dub-footer__grid { display: grid; gap: 2rem; }

@media (min-width: 640px) { .dub-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .dub-footer__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .dub-footer__grid { grid-template-columns: repeat(5, 1fr); } }

.dub-footer__list { margin: 0.75rem 0 0; padding: 0; list-style: none; font-size: 0.875rem; color: #44403c; }
.dub-footer__list li + li { margin-top: 0.5rem; }
.dub-footer__list a { text-decoration: none; color: inherit; }
.dub-footer__list a:hover { color: #0c0a09; }
.dub-footer__copy { margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid #e7e5e4; font-size: 0.875rem; color: #78716c; }

.dub-district-tile { display: block; text-decoration: none; color: inherit; }
.dub-district-tile__visual {
    position: relative;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: flex-end;
    padding: 1rem;
    overflow: hidden;
    background: linear-gradient(135deg, #1c1917 0%, #44403c 55%, rgb(161 98 7 / 0.7) 100%);
}

.dub-district-tile__visual--photo {
    background: #1c1917;
}

.dub-district-tile__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dub-district-tile__visual--photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(12 10 9 / 0.05) 35%, rgb(12 10 9 / 0.82) 100%);
    pointer-events: none;
}

.dub-district-tile__name {
    position: relative;
    z-index: 1;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.25rem;
    color: #fff;
    text-shadow: 0 1px 12px rgb(12 10 9 / 0.45);
}

.dub-area-hero {
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid #e7e5e4;
}

.dub-area-hero__photo {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.dub-project-card__image { aspect-ratio: 4 / 3; background: #1c1917; overflow: hidden; }
.dub-project-card__image img { width: 100%; height: 100%; object-fit: cover; }
.dub-project-card__image--hero { aspect-ratio: 16 / 9; }

.dub-project-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 12rem;
    background: linear-gradient(135deg, #1c1917, #44403c, rgb(161 98 7 / 0.8));
    font-family: ui-serif, Georgia, serif;
    font-size: 2.5rem;
    font-weight: 600;
    color: #fbbf24;
}

.dub-project-row { display: block; }
@media (min-width: 768px) { .dub-project-row { display: grid; grid-template-columns: 240px 1fr; } }

.dub-project-card__media {
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem 0.75rem 0 0;
}

.dub-project-card__media .dub-project-image,
.dub-project-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dub-choice-badge,
.dub-choice-seal {
    --dub-choice-gold-light: #f0d060;
    --dub-choice-gold: #c9a227;
    --dub-choice-gold-dark: #8f7118;
    --dub-choice-ink: #1a1408;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.75rem 0.45rem 0.45rem;
    border-radius: 0.375rem;
    background:
        linear-gradient(145deg, var(--dub-choice-gold-light) 0%, var(--dub-choice-gold) 48%, var(--dub-choice-gold-dark) 100%);
    color: var(--dub-choice-ink);
    box-shadow:
        0 4px 14px rgb(0 0 0 / 0.28),
        inset 0 1px 0 rgb(255 255 255 / 0.42),
        inset 0 -1px 0 rgb(0 0 0 / 0.14);
    border: 1px solid rgb(143 113 24 / 0.55);
    pointer-events: none;
}

.dub-choice-badge__icon,
.dub-choice-seal__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: rgb(26 20 8 / 0.1);
    border: 1px solid rgb(26 20 8 / 0.16);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.25);
}

.dub-choice-badge__icon svg,
.dub-choice-seal__icon svg {
    width: 0.9rem;
    height: 0.9rem;
}

.dub-choice-badge__copy,
.dub-choice-seal__copy {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    line-height: 1.05;
}

.dub-choice-badge__brand,
.dub-choice-seal__brand {
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: none;
    white-space: nowrap;
}

.dub-choice-badge__year,
.dub-choice-seal__year {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    opacity: 0.88;
}

.dub-choice-badge {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    bottom: auto;
    z-index: 2;
}

.dub-choice-badge--carousel {
    top: 1rem;
    left: 1rem;
    z-index: 3;
    padding: 0.55rem 0.9rem 0.55rem 0.55rem;
}

.dub-choice-badge--carousel .dub-choice-badge__icon {
    width: 2rem;
    height: 2rem;
}

.dub-choice-badge--carousel .dub-choice-badge__icon svg {
    width: 1rem;
    height: 1rem;
}

.dub-choice-badge--carousel .dub-choice-badge__brand {
    font-size: 0.75rem;
}

.dub-choice-badge--carousel .dub-choice-badge__year {
    font-size: 0.625rem;
}

.dub-choice-badge--inline {
    position: static;
    display: inline-flex;
    padding: 0.65rem 1rem 0.65rem 0.65rem;
    pointer-events: auto;
}

.dub-choice-badge--inline .dub-choice-badge__icon {
    width: 2.25rem;
    height: 2.25rem;
}

.dub-choice-badge--inline .dub-choice-badge__icon svg {
    width: 1.125rem;
    height: 1.125rem;
}

.dub-choice-badge--inline .dub-choice-badge__brand {
    font-size: 0.9375rem;
}

.dub-choice-badge--inline .dub-choice-badge__year {
    font-size: 0.6875rem;
}

.dub-choice-seal {
    pointer-events: auto;
    padding: 0.6rem 1rem 0.6rem 0.6rem;
    gap: 0.65rem;
}

.dub-choice-seal__icon {
    width: 2.5rem;
    height: 2.5rem;
}

.dub-choice-seal__icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.dub-choice-seal__brand {
    font-size: 1rem;
}

.dub-choice-seal__year {
    font-size: 0.6875rem;
}

.dub-card:has(.dub-choice-badge) {
    box-shadow:
        0 0 0 1px rgb(201 162 39 / 0.22),
        0 8px 24px rgb(12 10 9 / 0.06);
}

.dub-project-row:has(.dub-choice-badge) {
    box-shadow:
        0 0 0 1px rgb(201 162 39 / 0.22),
        0 8px 24px rgb(12 10 9 / 0.06);
}

.dub-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e7e5e4;
}

.dub-pagination__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7.5rem;
    padding: 0.625rem 1rem;
    border-radius: 9999px;
    border: 1px solid #d6d3d1;
    background: #fff;
    color: #292524;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
}

.dub-pagination__btn:hover { border-color: #292524; background: #fafaf9; }
.dub-pagination__btn.is-disabled { opacity: 0.45; pointer-events: none; }

.dub-pagination__status {
    margin: 0;
    color: #57534e;
    font-size: 0.875rem;
    text-align: center;
}

.dub-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.5rem; }
.dub-pill { display: inline-flex; padding: 0.375rem 0.75rem; border-radius: 9999px; border: 1px solid #e7e5e4; background: #fff; font-size: 0.75rem; font-weight: 500; color: #44403c; }

.dub-card--accent {
    border-color: rgb(201 162 39 / 0.35);
    box-shadow: 0 4px 24px rgb(201 162 39 / 0.08);
}

.dub-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dub-badge {
    display: inline-flex;
    padding: 0.375rem 0.875rem;
    border-radius: 9999px;
    border: 1px solid rgb(201 162 39 / 0.35);
    background: rgb(255 255 255 / 0.8);
    font-size: 0.75rem;
    font-weight: 600;
    color: #44403c;
}

.dub-hero-audience {
    max-width: 36rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgb(231 229 228 / 0.9);
}

.dub-hero-audience__title {
    margin: 0;
    font-family: ui-serif, Georgia, serif;
    font-size: 1rem;
    font-weight: 600;
    color: #0c0a09;
}

.dub-hero-audience__list {
    display: grid;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

.dub-hero-audience__list li {
    display: flex;
    gap: 0.625rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #57534e;
}

.dub-hero-audience__list li::before {
    content: '';
    flex-shrink: 0;
    width: 0.375rem;
    height: 0.375rem;
    margin-top: 0.45rem;
    border-radius: 50%;
    background: #c9a227;
}

.dub-stat-band {
    position: relative;
    z-index: 2;
    margin-top: -1.75rem;
    padding-bottom: 2.75rem;
    background: linear-gradient(180deg, transparent 0%, rgb(245 245 244 / 0.45) 55%, #fafaf9 100%);
}

.dub-stat-band__panel {
    position: relative;
    overflow: hidden;
    padding: 1.375rem 1rem 1.5rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgb(231 229 228 / 0.95);
    box-shadow:
        0 10px 40px rgb(28 25 23 / 0.08),
        0 2px 8px rgb(28 25 23 / 0.04),
        inset 0 1px 0 rgb(255 255 255 / 0.8);
}

.dub-stat-band__panel::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #a88620, #c9a227, #e8c547, #c9a227, #a88620);
}

.dub-stat-band__panel::after {
    content: '';
    position: absolute;
    top: -4rem;
    right: -2rem;
    width: 10rem;
    height: 10rem;
    border-radius: 9999px;
    background: radial-gradient(circle, rgb(201 162 39 / 0.12) 0%, transparent 70%);
    pointer-events: none;
}

@media (min-width: 768px) {
    .dub-stat-band {
        margin-top: -2.25rem;
    }

    .dub-stat-band__panel {
        padding: 1.625rem 2rem 1.875rem;
    }
}

.dub-stat-band__eyebrow {
    position: relative;
    z-index: 1;
    margin: 0 0 1.25rem;
    text-align: center;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-stat-band__eyebrow::after {
    content: '';
    display: block;
    width: 3rem;
    height: 1px;
    margin: 0.625rem auto 0;
    background: linear-gradient(90deg, transparent, #c9a227, transparent);
}

.dub-stat-band__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.25rem 1.5rem;
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
    .dub-stat-band__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }

    .dub-stat:not(:last-child) {
        border-right: 1px solid #f5f5f4;
    }
}

.dub-stat {
    text-align: center;
    padding: 0.375rem 0.75rem;
}

.dub-stat__value {
    margin: 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: clamp(1.75rem, 3.5vw, 2.25rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(135deg, #78350f 0%, #b45309 42%, #c9a227 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.dub-stat__link {
    display: inline-block;
    background: linear-gradient(135deg, #78350f 0%, #b45309 42%, #c9a227 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-decoration: none;
    transition: opacity 0.15s;
}

.dub-stat__link:hover {
    opacity: 0.82;
}

.dub-stat__label {
    margin: 0.4rem 0 0;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.4;
    color: #44403c;
}

.dub-quote {
    margin: 0;
    padding-left: 1.25rem;
    border-left: 3px solid #c9a227;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.35;
    color: #0c0a09;
}

.dub-mission-panel {
    padding: 2rem;
    border-radius: 1rem;
    background: linear-gradient(160deg, #0c0a09 0%, #1c1917 100%);
    color: #fafaf9;
}

.dub-mission-panel .dub-h3,
.dub-mission-panel .dub-text { color: #fafaf9; }

.dub-mission-panel .dub-text { color: #d6d3d1; }

.dub-checklist {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dub-checklist li {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: #e7e5e4;
}

.dub-checklist li::before {
    content: '✓';
    flex-shrink: 0;
    font-weight: 700;
    color: #fbbf24;
}

@media (min-width: 1024px) {
    .dub-split--mission { align-items: stretch; }
}

.dub-value-card {
    padding: 1.75rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.dub-value-card:hover {
    border-color: rgb(201 162 39 / 0.45);
    box-shadow: 0 8px 30px rgb(28 25 23 / 0.06);
}

.dub-value-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    border-radius: 9999px;
    background: linear-gradient(135deg, #0c0a09, #44403c);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fbbf24;
}

.dub-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 1rem;
}

@media (min-width: 1024px) {
    .dub-steps { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
}

.dub-step {
    display: flex;
    gap: 1rem;
    padding: 1.5rem;
    background: #fafaf9;
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
}

.dub-step__num {
    flex-shrink: 0;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1;
    color: rgb(201 162 39 / 0.55);
    font-family: ui-serif, Georgia, serif;
}

.dub-benefits {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .dub-benefits { grid-template-columns: repeat(2, 1fr); }
}

.dub-benefit {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
    padding: 1.25rem 1.5rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
    font-size: 0.9375rem;
    color: #44403c;
}

.dub-benefit::before {
    content: '✓';
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9999px;
    background: rgb(201 162 39 / 0.15);
    font-size: 0.75rem;
    font-weight: 700;
    color: #a16207;
}

.dub-intent-tile__link {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #a16207;
}

.dub-dev-trust {
    padding: 2.5rem 0;
    background: #fff;
    border-bottom: 1px solid #e7e5e4;
}

.dub-dev-trust__intro {
    max-width: 36rem;
    margin-inline: auto;
    text-align: center;
}

.dub-dev-trust__logos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 640px) {
    .dub-dev-trust__logos { grid-template-columns: repeat(5, 1fr); gap: 1rem; }
}

.dub-dev-trust__logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.5rem;
    padding: 0.875rem 1rem;
    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;
    background: #fafaf9;
    text-decoration: none;
    transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
}

.dub-dev-trust__logo-link:hover {
    border-color: rgb(201 162 39 / 0.45);
    background: #fff;
    box-shadow: 0 4px 20px rgb(28 25 23 / 0.06);
}

.dub-dev-trust__logo {
    max-height: 2.25rem;
    max-width: 7.5rem;
    width: auto;
    object-fit: contain;
    filter: var(--dub-logo-shadow);
}

.dub-dev-trust__cta {
    margin: 0;
    text-align: center;
}

.dub-trust-band {
    padding: 3.5rem 0;
    background: linear-gradient(180deg, #fff 0%, #fafaf9 100%);
    border-top: 1px solid #e7e5e4;
    border-bottom: 1px solid #e7e5e4;
}

.dub-trust-band__inner {
    display: grid;
    gap: 2rem;
}

@media (min-width: 1024px) {
    .dub-trust-band__inner { grid-template-columns: 1fr 1fr; align-items: start; }
}

.dub-trust-points {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dub-trust-points li {
    display: flex;
    gap: 0.875rem;
    padding: 1rem 0;
    border-bottom: 1px solid #e7e5e4;
    font-size: 0.9375rem;
    color: #44403c;
}

.dub-trust-points li:last-child { border-bottom: none; }

.dub-trust-points li::before {
    content: '•';
    flex-shrink: 0;
    font-weight: 700;
    color: #c9a227;
}

/* Brand equation (Dubai + Plan = DubPlan) */
.dub-brand { padding-top: 2.5rem; }

.dub-brand__equation {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 0.75rem;
    padding: 1.25rem 1.5rem;
    border-radius: 9999px;
    background: linear-gradient(135deg, #0c0a09 0%, #1c1917 100%);
    border: 1px solid rgb(201 162 39 / 0.25);
}

@media (min-width: 640px) {
    .dub-brand__equation { gap: 0.75rem 1rem; padding: 1.5rem 2rem; }
}

.dub-brand__part,
.dub-brand__result {
    font-family: ui-serif, Georgia, serif;
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    font-weight: 500;
    color: #fafaf9;
}

.dub-brand__result { color: #fbbf24; }

.dub-brand__symbol {
    font-size: 1.25rem;
    font-weight: 300;
    color: rgb(251 191 36 / 0.65);
}

@media (min-width: 1024px) {
    .dub-split--brand { align-items: stretch; }
}

/* Off-plan SEO section */
.dub-section-intro--center {
    max-width: 42rem;
    margin-inline: auto;
    text-align: center;
}

.dub-offplan-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.625rem;
}

.dub-offplan-nav__link {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    border: 1px solid #e7e5e4;
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #44403c;
    text-decoration: none;
    transition: border-color 0.15s, color 0.15s, box-shadow 0.15s;
}

.dub-offplan-nav__link:hover {
    border-color: rgb(201 162 39 / 0.55);
    color: #0c0a09;
    box-shadow: 0 4px 16px rgb(201 162 39 / 0.12);
}

.dub-offplan-guides {
    display: grid;
    gap: 1.5rem;
}

.dub-offplan-guide {
    padding: 1.75rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
    box-shadow: 0 4px 24px rgb(28 25 23 / 0.04);
    scroll-margin-top: 5rem;
}

.dub-offplan-guide--scenarios {
    background: linear-gradient(180deg, #fff 0%, #fafaf9 100%);
}

.dub-offplan-guide--checklist {
    border-color: #d6d3d1;
}

.dub-offplan-guide__head .dub-lead {
    font-size: 1rem;
    color: #44403c;
}

/* Section 1: timeline */
.dub-offplan-timeline {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .dub-offplan-timeline {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.875rem;
    }
}

@media (min-width: 768px) {
    .dub-timeline--history {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .dub-timeline--history {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.dub-offplan-timeline__step {
    position: relative;
    padding: 1.125rem 1rem 1rem;
    border-top: 2px solid #c9a227;
    background: #fafaf9;
    border-radius: 0 0 0.75rem 0.75rem;
}

.dub-offplan-timeline__phase {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #b45309;
}

.dub-offplan-timeline__title {
    margin: 0.5rem 0 0;
    font-family: ui-serif, Georgia, serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.35;
    color: #0c0a09;
}

.dub-offplan-note {
    padding: 1.25rem 1.375rem;
    border-radius: 0.875rem;
    background: #f5f5f4;
    border: 1px solid #e7e5e4;
}

.dub-offplan-note__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #0c0a09;
}

/* Section 2: buyer scenarios */
.dub-offplan-scenarios {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .dub-offplan-scenarios {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.dub-offplan-scenario {
    padding: 1.375rem;
    border-radius: 0.875rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    box-shadow: 0 2px 12px rgb(28 25 23 / 0.03);
}

.dub-offplan-scenario__label {
    display: inline-flex;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    background: #0c0a09;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fafaf9;
}

.dub-offplan-scenario__title {
    margin: 0.875rem 0 0;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.35;
    color: #0c0a09;
}

.dub-offplan-pullquote {
    margin: 0;
    padding: 1.5rem 1.375rem;
    border-left: 4px solid #c9a227;
    border-radius: 0 1rem 1rem 0;
    background: linear-gradient(90deg, #fffbeb 0%, #fff 100%);
}

.dub-offplan-pullquote__text {
    margin: 0;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.125rem;
    font-style: italic;
    line-height: 1.5;
    color: #292524;
}

.dub-offplan-pullquote__footer {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: #57534e;
}

/* Section 3: due diligence checklist */
.dub-offplan-checks {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0;
    border: 1px solid #e7e5e4;
    border-radius: 0.875rem;
    overflow: hidden;
}

.dub-offplan-checks__item {
    position: relative;
    display: grid;
    gap: 0.375rem;
    padding: 1.125rem 1.25rem 1.125rem 3rem;
    background: #fff;
    border-top: 1px solid #f5f5f4;
}

.dub-offplan-checks__item:first-child {
    border-top: none;
}

.dub-offplan-checks__item::before {
    content: '';
    position: absolute;
    left: 1.25rem;
    top: 1.375rem;
    width: 0.5625rem;
    height: 0.5625rem;
    border-radius: 9999px;
    background: #c9a227;
    box-shadow: 0 0 0 3px rgb(201 162 39 / 0.22);
}

.dub-offplan-checks__emphasis {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0c0a09;
}

.dub-offplan-checks__detail {
    display: block;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #44403c;
}

.dub-offplan-guide--checklist .dub-text {
    font-size: 1rem;
    line-height: 1.65;
    color: #44403c;
}

.dub-offplan-guide--checklist .dub-lead {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: #292524;
}

.dub-offplan-review .dub-text {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #e7e5e4;
}

.dub-offplan-review {
    padding: 1.375rem;
    border-radius: 0.875rem;
    background: #0c0a09;
    color: #fafaf9;
}

.dub-offplan-review__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #fbbf24;
}

.dub-offplan-consult {
    margin-top: 2.5rem;
}

.dub-offplan-consult__panel {
    display: grid;
    gap: 1.5rem;
    padding: 2rem 1.75rem;
    border-radius: 1rem;
    background:
        linear-gradient(180deg, rgb(255 255 255 / 0.96) 0%, #faf8f3 100%);
    border: 1px solid rgb(201 162 39 / 0.22);
    box-shadow:
        0 16px 48px rgb(201 162 39 / 0.07),
        inset 0 1px 0 rgb(255 255 255 / 0.9);
}

@media (min-width: 768px) {
    .dub-offplan-consult__panel {
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 2.5rem;
        padding: 2.25rem 2.5rem;
    }
}

.dub-offplan-consult__line {
    grid-column: 1 / -1;
    justify-self: start;
    width: 3rem;
    margin-bottom: -0.25rem;
}

.dub-offplan-consult__eyebrow {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #a88620;
}

.dub-offplan-consult__title {
    margin: 0.625rem 0 0;
    font-family: ui-serif, Georgia, serif;
    font-size: clamp(1.375rem, 2.5vw, 1.625rem);
    font-weight: 500;
    line-height: 1.25;
    color: #0c0a09;
}

.dub-offplan-consult__body {
    margin: 0.75rem 0 0;
    max-width: 36rem;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #57534e;
}

.dub-offplan-consult__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.875rem;
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .dub-offplan-consult__actions {
        min-width: 15rem;
        align-items: center;
    }
}

.dub-offplan-consult__link {
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #78716c;
    text-align: center;
    text-decoration: none;
    transition: color 0.15s;
}

.dub-offplan-consult__link:hover {
    color: #a88620;
}

.dub-offplan__grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 768px) {
    .dub-offplan__grid { grid-template-columns: repeat(3, 1fr); }
}

.dub-offplan-card {
    padding: 1.75rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
    box-shadow: 0 4px 24px rgb(28 25 23 / 0.04);
}

.dub-offplan-card--accent {
    background: linear-gradient(160deg, #fffbeb 0%, #fff 55%, #fafaf9 100%);
    border-color: rgb(201 162 39 / 0.4);
    box-shadow: 0 8px 32px rgb(201 162 39 / 0.12);
}

.dub-offplan-card--accent .dub-offplan-card__tag { color: #78350f; }
.dub-offplan-card--accent .dub-offplan-list li { color: #292524; }
.dub-offplan-card--accent .dub-offplan-list li::before { color: #b45309; }
.dub-offplan-card--accent .dub-text { color: #44403c; }

.dub-offplan-card__tag {
    display: block;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.125rem;
    font-weight: 500;
    color: #0c0a09;
}

.dub-offplan-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dub-offplan-list li {
    display: flex;
    gap: 0.625rem;
    margin-top: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #44403c;
}

.dub-offplan-list li::before {
    content: '✓';
    flex-shrink: 0;
    font-weight: 700;
    color: #c9a227;
}

.dub-offplan-faq { max-width: 48rem; margin-inline: auto; }

.dub-offplan-faq__list {
    display: grid;
    gap: 0.75rem;
}

.dub-faq-item {
    padding: 1rem 1.25rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;
}

.dub-faq-item summary {
    cursor: pointer;
    font-weight: 600;
    font-size: 0.9375rem;
    color: #0c0a09;
    list-style: none;
}

.dub-faq-item summary::-webkit-details-marker { display: none; }

.dub-faq-item summary::after {
    content: '+';
    float: right;
    font-weight: 400;
    color: #a8a29e;
}

.dub-faq-item[open] summary::after { content: '−'; }

.dub-faq-item p { margin: 0.75rem 0 0; color: #57534e; }

.dub-offplan__cta { text-align: center; }

.dub-offplan-stat {
    display: inline-flex;
    align-items: center;
    padding: 0.875rem 1.25rem;
    border-radius: 9999px;
    background: linear-gradient(135deg, #0c0a09 0%, #1c1917 100%);
    border: 1px solid rgb(201 162 39 / 0.25);
}

.dub-offplan-stat__text {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.45;
    color: #fafaf9;
}

.dub-offplan-stat__text strong {
    color: #fbbf24;
    font-weight: 700;
}

/* Dubai market snapshot */
.dub-market {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.dub-market__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.dub-market__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
}

.dub-market--photo .dub-market__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgb(250 250 249 / 0.92) 0%, rgb(250 250 249 / 0.97) 45%, #fafaf9 100%);
}

.dub-market > .dub-container {
    position: relative;
    z-index: 1;
}

.dub-market__panel {
    position: relative;
    overflow: hidden;
    padding: 2rem 1.25rem 2.25rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgb(231 229 228 / 0.95);
    box-shadow:
        0 10px 40px rgb(28 25 23 / 0.06),
        0 2px 8px rgb(28 25 23 / 0.03),
        inset 0 1px 0 rgb(255 255 255 / 0.8);
}

.dub-market__panel::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #a88620, #c9a227, #e8c547, #c9a227, #a88620);
}

.dub-market__panel::after {
    content: '';
    position: absolute;
    top: -5rem;
    right: -3rem;
    width: 12rem;
    height: 12rem;
    border-radius: 9999px;
    background: radial-gradient(circle, rgb(201 162 39 / 0.1) 0%, transparent 70%);
    pointer-events: none;
}

@media (min-width: 768px) {
    .dub-market__panel {
        padding: 2.5rem 2.25rem 2.75rem;
    }
}

.dub-market__head {
    position: relative;
    z-index: 1;
    max-width: 44rem;
}

.dub-market__stats {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
    .dub-market__stats {
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }

    .dub-market__stat:not(:last-child) {
        border-right: 1px solid #f5f5f4;
    }
}

.dub-market__stat {
    margin: 0;
    padding: 0.75rem 1rem;
    text-align: center;
}

.dub-market__stat-value {
    margin: 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: clamp(1.375rem, 2.8vw, 1.875rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(135deg, #78350f 0%, #b45309 42%, #c9a227 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.dub-market__stat-label,
.dub-market__stat-context {
    margin: 0;
}

.dub-market__stat-label {
    margin-top: 0.4rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.4;
    color: #44403c;
}

.dub-market__stat-context {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #78716c;
}

.dub-market__drivers {
    position: relative;
    z-index: 1;
}

.dub-market__driver {
    height: 100%;
    padding: 1.5rem;
    border-radius: 0.875rem;
    background: #fafaf9;
    border: 1px solid #e7e5e4;
}

.dub-market__driver-title {
    margin: 0;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    color: #0c0a09;
}

.dub-market__driver-source {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #a8a29e;
}

.dub-market__takeaways {
    position: relative;
    z-index: 1;
    padding: 1.75rem 1.5rem;
    border-radius: 0.875rem;
    background: linear-gradient(160deg, #0c0a09 0%, #1c1917 100%);
    color: #fafaf9;
}

.dub-market__takeaways .dub-h3 {
    color: #fafaf9;
}

.dub-checklist--light li {
    color: #e7e5e4;
}

.dub-market__sources {
    position: relative;
    z-index: 1;
    padding-top: 0.25rem;
    border-top: 1px solid #f5f5f4;
}

.dub-market__sources-title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-market__sources-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

.dub-market__updated {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #a8a29e;
}

.dub-link--external::after {
    content: ' ↗';
    font-size: 0.75em;
    opacity: 0.65;
}

/* Contact section */
.dub-section--contact {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(135deg, #0c0a09 0%, #1c1917 55%, #292524 100%);
    border-top: 1px solid rgb(201 162 39 / 0.25);
    color: #fafaf9;
}

.dub-section--contact > .dub-container {
    position: relative;
    z-index: 1;
}

.dub-section--contact__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.dub-section--contact__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    opacity: 1;
    transform: scale(1.04);
    filter: saturate(1) contrast(1.08);
}

.dub-section--contact-photo .dub-section--contact__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, rgb(12 10 9 / 0.78) 0%, rgb(28 25 23 / 0.52) 44%, rgb(41 37 36 / 0.18) 100%),
        linear-gradient(180deg, rgb(12 10 9 / 0.35) 0%, rgb(28 25 23 / 0.62) 100%);
}

@media (max-width: 639px) {
    .dub-section--contact__bg img {
        object-position: center 32%;
    }

    .dub-section--contact-photo .dub-section--contact__bg::after {
        background:
            linear-gradient(180deg, rgb(12 10 9 / 0.78) 0%, rgb(28 25 23 / 0.58) 55%, rgb(41 37 36 / 0.42) 100%);
    }
}

.dub-section--contact .dub-eyebrow,
.dub-section--contact .dub-h2,
.dub-section--contact .dub-text {
    color: #fafaf9;
}

.dub-section--contact .dub-text {
    color: #d6d3d1;
}

.dub-clarity-chips {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.625rem;
}

@media (min-width: 640px) {
    .dub-clarity-chips { grid-template-columns: 1fr; }
}

.dub-clarity-chip {
    display: flex;
    gap: 0.625rem;
    align-items: flex-start;
    padding: 0.75rem 1rem;
    background: rgb(255 255 255 / 0.06);
    border: 1px solid rgb(255 255 255 / 0.12);
    border-radius: 0.625rem;
    font-size: 0.875rem;
    color: #fafaf9;
}

.dub-clarity-chip::before {
    content: '✓';
    flex-shrink: 0;
    font-weight: 700;
    color: #c9a227;
}

.dub-project-geo__grid {
    display: grid;
    gap: 1rem;
    margin: 0;
}

@media (min-width: 640px) {
    .dub-project-geo__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
    .dub-project-geo__grid { grid-template-columns: repeat(3, 1fr); }
}

.dub-project-geo__item {
    padding: 1rem 1.25rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;
}

.dub-project-geo__label {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-project-geo__value {
    margin: 0.35rem 0 0;
    font-size: 0.9375rem;
    color: #0c0a09;
}

.dub-feature-card, .dub-step-card {
    padding: 1.25rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
}

.dub-feature-card__bar { width: 2rem; height: 3px; background: #c9a227; margin-bottom: 0.75rem; }

.dub-intent-tile {
    display: block;
    padding: 1.25rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
    text-decoration: none;
    color: inherit;
}

.dub-intent-tile:hover { border-color: rgb(201 162 39 / 0.4); }

.dub-list { margin: 1rem 0 0; padding: 0; list-style: none; }
.dub-list li { display: flex; gap: 0.75rem; margin-top: 0.75rem; color: #57534e; }
.dub-list li::before { content: ''; flex-shrink: 0; width: 6px; height: 6px; margin-top: 0.5rem; border-radius: 50%; background: #c9a227; }

.dub-carousel { margin-bottom: 0.5rem; }

.dub-carousel__viewport {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid #e7e5e4;
    background: #1c1917;
    box-shadow: 0 8px 30px rgb(28 25 23 / 0.08);
}

.dub-carousel__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.dub-carousel__track::-webkit-scrollbar { display: none; }

.dub-carousel__track:focus-visible {
    outline: 2px solid #c9a227;
    outline-offset: -2px;
}

.dub-carousel__slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    margin: 0;
}

.dub-carousel__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    max-height: min(62vw, 24rem);
    object-fit: cover;
    background: #1c1917;
}

@media (min-width: 1024px) {
    .dub-carousel__image {
        aspect-ratio: 16 / 9;
        max-height: 22rem;
    }
}

.dub-carousel__caption {
    margin: 0;
    padding: 0.75rem 1rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #57534e;
    background: #fff;
    border-top: 1px solid #e7e5e4;
}

.dub-carousel__nav {
    position: absolute;
    top: calc(50% - 1.25rem);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: none;
    border-radius: 9999px;
    background: rgb(255 255 255 / 0.94);
    color: #0c0a09;
    font-size: 1.125rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 16px rgb(28 25 23 / 0.18);
    transition: opacity 0.15s, transform 0.15s;
}

.dub-carousel__nav:hover:not(:disabled) { transform: scale(1.05); }
.dub-carousel__nav:disabled { opacity: 0.35; cursor: not-allowed; }
.dub-carousel__nav--prev { left: 0.75rem; }
.dub-carousel__nav--next { right: 0.75rem; }

@media (max-width: 639px) {
    .dub-carousel__nav {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1rem;
    }

    .dub-carousel__nav--prev { left: 0.5rem; }
    .dub-carousel__nav--next { right: 0.5rem; }
}

.dub-carousel__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.875rem;
}

.dub-carousel__dots {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.dub-carousel__dot {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: #d6d3d1;
    cursor: pointer;
    transition: width 0.2s, background 0.2s;
}

.dub-carousel__dot[aria-selected='true'] {
    width: 1.375rem;
    background: #0c0a09;
}

.dub-carousel__counter {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #78716c;
    white-space: nowrap;
}

.dub-crumb { font-size: 0.875rem; color: #78716c; padding: 1rem 0 0; }
.dub-crumb a { text-decoration: none; color: inherit; }

.dub-faq { margin-top: 1rem; border: 1px solid #e7e5e4; border-radius: 1rem; background: #fff; padding: 1rem; }
.dub-faq + .dub-faq { margin-top: 0.75rem; }
.dub-faq summary { cursor: pointer; font-weight: 500; }
.dub-faq p { margin: 0.75rem 0 0; font-size: 0.875rem; color: #57534e; }

.dub-map { overflow: hidden; border-radius: 1rem; border: 1px solid #e7e5e4; background: #fff; margin-top: 2rem; }
.dub-map__visual { aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #e7e5e4, #d6d3d1); font-family: ui-serif, Georgia, serif; }
.dub-map__body { padding: 1rem; }

.dub-modal { position: fixed; inset: 0; z-index: 60; display: flex; align-items: flex-end; justify-content: center; padding: 1rem; }
.dub-modal[hidden] { display: none !important; }

@media (max-width: 639px) {
    .dub-modal {
        align-items: center;
        justify-content: center;
        min-height: 100dvh;
        padding: max(0.75rem, env(safe-area-inset-top, 0.75rem)) 0.75rem max(0.75rem, env(safe-area-inset-bottom, 0.75rem));
    }

    .dub-modal__panel--advisor {
        width: 100%;
        max-width: 24rem;
        max-height: calc(100dvh - 1.5rem);
        margin: 0 auto;
        display: flex;
        flex-direction: column;
    }

    .dub-modal__layout {
        max-height: calc(100dvh - 1.5rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .dub-modal-advisor__profile {
        text-align: left;
    }

    .dub-modal__form .dub-form-panel__head,
    .dub-modal__form .dub-form-panel__trust {
        text-align: left;
    }

    .dub-modal__form .dub-form-panel__line {
        margin-left: 0;
        margin-right: auto;
    }
}

@media (min-width: 640px) { .dub-modal { align-items: center; } }
.dub-modal__backdrop { position: absolute; inset: 0; background: rgb(12 10 9 / 0.55); }
.dub-modal__panel { position: relative; z-index: 1; width: 100%; max-width: 28rem; padding: 0; background: transparent; border: none; box-shadow: none; }
.dub-modal__panel--advisor { max-width: 36rem; }
.dub-modal__layout {
    display: grid;
    gap: 0;
    border-radius: 1.25rem;
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #fafaf9 100%);
    box-shadow:
        0 1px 2px rgb(28 25 23 / 0.08),
        0 16px 48px rgb(12 10 9 / 0.18),
        0 0 0 1px rgb(201 162 39 / 0.2);
}
.dub-modal__form .dub-form-panel {
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}
.dub-modal__form .dub-form-panel::before { display: none; }
.dub-modal__close { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 3; width: 2.5rem; height: 2.5rem; border: none; border-radius: 9999px; background: rgb(255 255 255 / 0.92); font-size: 1.5rem; cursor: pointer; color: #0c0a09; box-shadow: 0 1px 4px rgb(12 10 9 / 0.12); }

.dub-modal-advisor {
    padding: 1.25rem 1.5rem 1rem;
    background: linear-gradient(135deg, #0c0a09 0%, #1c1917 60%, #292524 100%);
    border-bottom: 1px solid rgb(201 162 39 / 0.25);
}

.dub-modal-advisor__profile {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "avatar status"
        "avatar name"
        "avatar role";
    column-gap: 1rem;
    align-items: center;
}

.dub-modal-advisor__avatar-wrap {
    position: relative;
    grid-area: avatar;
    width: 5.5rem;
    height: 5.5rem;
}

.dub-modal-advisor__avatar {
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 9999px;
    object-fit: cover;
    border: 2px solid rgb(201 162 39 / 0.55);
    box-shadow: 0 8px 24px rgb(0 0 0 / 0.35);
}

.dub-modal-advisor__avatar--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #d4b03a, #a88620);
    color: #0c0a09;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.75rem;
    font-weight: 600;
}

.dub-modal-advisor__online {
    position: absolute;
    right: 0.2rem;
    bottom: 0.2rem;
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background: #22c55e;
    border: 2px solid #0c0a09;
    box-shadow: 0 0 0 0 rgb(34 197 94 / 0.65);
    animation: dub-online-pulse 2s ease-out infinite;
}

@keyframes dub-online-pulse {
    0% { box-shadow: 0 0 0 0 rgb(34 197 94 / 0.55); }
    70% { box-shadow: 0 0 0 10px rgb(34 197 94 / 0); }
    100% { box-shadow: 0 0 0 0 rgb(34 197 94 / 0); }
}

.dub-modal-advisor__status {
    grid-area: status;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #86efac;
}

.dub-modal-advisor__status-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 9999px;
    background: #22c55e;
    animation: dub-online-pulse 2s ease-out infinite;
}

.dub-modal-advisor__name {
    grid-area: name;
    margin: 0.15rem 0 0;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.2;
    color: #fafaf9;
}

.dub-modal-advisor__role {
    grid-area: role;
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    line-height: 1.4;
    color: #d6d3d1;
}

.dub-modal__form .dub-form-panel--modal {
    padding: 1.25rem 1.5rem 1.5rem;
}

.dub-bubble {
    position: fixed;
    bottom: 1.25rem;
    right: 1rem;
    z-index: 50;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 3rem;
    padding: 0.75rem 1rem;
    border: none;
    border-radius: 9999px;
    background: #0c0a09;
    color: #fff;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 10px 25px rgb(28 25 23 / 0.2);
}

.dub-bubble.is-hidden { opacity: 0; pointer-events: none; transform: translateY(1rem); }
.dub-bubble__label { display: none; }
@media (min-width: 640px) { .dub-bubble__label { display: inline; } }

.dub-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    padding: 0.75rem;
    border-top: 1px solid #e7e5e4;
    background: rgb(255 255 255 / 0.95);
}

.dub-sticky-cta { transition: opacity 0.2s, transform 0.2s; }
.dub-sticky-cta.is-hidden { opacity: 0; pointer-events: none; transform: translateY(100%); }
.dub-bubble { transition: opacity 0.2s, transform 0.2s; }
@media (min-width: 1024px) { .dub-sticky-cta { display: none; } }

.dub-center { text-align: center; max-width: 48rem; margin: 0 auto; }
.dub-narrow { max-width: 42rem; margin: 0 auto; }
.dub-narrow--sm { max-width: 36rem; margin: 0 auto; }
.dub-radio-card { display: flex; align-items: center; gap: 1rem; padding: 1rem; cursor: pointer; }
.dub-actions--flush { margin-top: 0; }
.dub-spacer-top { margin-top: 0.75rem; }
.dub-spacer-top-lg { margin-top: 1.5rem; }
.dub-spacer-top-xl { margin-top: 2rem; }
.dub-page-bottom { padding-bottom: 6rem; }
.dub-developer { display: flex; align-items: center; gap: 0.75rem; margin-top: 1rem; flex-wrap: wrap; }
.dub-developer img {
    height: 2rem;
    width: auto;
    max-width: 7rem;
    object-fit: contain;
    padding: 0.5rem 0.875rem;
    border-radius: 0.625rem;
    background: #f5f5f4;
    border: 1px solid #e7e5e4;
    box-sizing: content-box;
    filter: var(--dub-logo-shadow);
}

.dub-developer-tile { display: block; text-decoration: none; color: inherit; height: 100%; }

.dub-developer-tile__head {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 7rem;
    padding: 1.25rem 1.5rem;
    background: #f5f5f4;
    border-bottom: 1px solid #e7e5e4;
}

.dub-developer-tile__logo {
    max-height: 3rem;
    max-width: 10rem;
    width: auto;
    object-fit: contain;
    filter: var(--dub-logo-shadow);
}

.dub-developer-tile__monogram {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 9999px;
    background: #0c0a09;
    color: #c9a227;
    font-weight: 600;
}
.dub-developer-tile__segment { margin-top: 0.75rem; }

.dub-developer-hero {
    display: grid;
    gap: 1.5rem;
    padding: 1.5rem;
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
    background: #fff;
}
@media (min-width: 768px) {
    .dub-developer-hero { grid-template-columns: 12rem 1fr; align-items: start; }
}
.dub-developer-hero__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 6rem;
    padding: 1.25rem 1.5rem;
    border-radius: 0.875rem;
    background: #f5f5f4;
    border: 1px solid #e7e5e4;
}

.dub-developer-hero__logo {
    max-height: 4rem;
    max-width: 100%;
    object-fit: contain;
    filter: var(--dub-logo-shadow);
}
.dub-developer-hero__monogram {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 9999px;
    background: #0c0a09;
    color: #c9a227;
    font-size: 1.25rem;
    font-weight: 600;
}

.dub-facts {
    margin: 0;
    display: grid;
    gap: 0.75rem;
}
.dub-facts__row {
    display: grid;
    gap: 0.25rem;
    padding: 0.875rem 1rem;
    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;
    background: #fff;
}
@media (min-width: 640px) {
    .dub-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.dub-facts__row dt { font-size: 0.8125rem; font-weight: 600; color: #78716c; }
.dub-facts__row dd { margin: 0; color: #0c0a09; }

.dub-key-info__panel {
    border: 1px solid #e7e5e4;
    border-radius: 1rem;
    background: #fff;
    overflow: hidden;
}

.dub-key-info__grid {
    margin: 0;
    display: grid;
    gap: 0;
}

@media (min-width: 640px) {
    .dub-key-info__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.dub-key-info__item {
    padding: 1rem 1.125rem;
    border-bottom: 1px solid #f5f5f4;
}

@media (min-width: 640px) {
    .dub-key-info__item:nth-child(odd) { border-right: 1px solid #f5f5f4; }
    .dub-key-info__item:nth-last-child(-n+2) { border-bottom: none; }
}

.dub-key-info__item dt {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-key-info__item dd {
    margin: 0.35rem 0 0;
    font-size: 1rem;
    line-height: 1.45;
    color: #0c0a09;
}

.dub-key-info__stats,
.dub-key-info__external {
    padding: 1.125rem 1.25rem;
}

.dub-key-info__stats--border,
.dub-key-info__external--border {
    border-top: 1px solid #e7e5e4;
}

.dub-key-info__stat-list {
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

.dub-key-info__stat-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f5f5f4;
}

.dub-key-info__stat-row:last-child { border-bottom: none; padding-bottom: 0; }
.dub-key-info__stat-row:first-child { padding-top: 0; }

.dub-key-info__stat-label {
    flex: 1;
    font-size: 0.875rem;
    color: #57534e;
}

.dub-key-info__stat-value {
    flex: 1;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0c0a09;
    text-align: right;
}

.dub-external-link {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-top: 0.75rem;
    padding: 0.875rem 1rem;
    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;
    background: #fafaf9;
    text-decoration: none;
    color: #0c0a09;
}

.dub-external-link:hover { border-color: rgb(201 162 39 / 0.45); background: #fff; }

.dub-external-link__label {
    font-size: 0.9375rem;
    font-weight: 600;
    word-break: break-word;
}

.dub-external-link__hint {
    font-size: 0.75rem;
    color: #78716c;
}

.dub-highlight-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .dub-highlight-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.dub-highlight-list__item {
    padding: 1rem 1.125rem;
    border: 1px solid #e7e5e4;
    border-radius: 0.875rem;
    background: #fff;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #44403c;
}

.dub-highlight-list__item::before {
    content: '';
    display: block;
    width: 1.5rem;
    height: 3px;
    margin-bottom: 0.75rem;
    border-radius: 9999px;
    background: #c9a227;
}

.dub-award-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
}

.dub-award-list__item {
    padding: 0.5rem 0.875rem;
    border: 1px solid rgb(201 162 39 / 0.35);
    border-radius: 9999px;
    background: rgb(201 162 39 / 0.08);
    font-size: 0.875rem;
    color: #44403c;
}

.dub-developer-tile__facts,
.dub-developer-tile__highlights {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dub-developer-tile__facts li,
.dub-developer-tile__highlights li {
    position: relative;
    padding-left: 0.875rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #57534e;
}

.dub-developer-tile__facts li + li,
.dub-developer-tile__highlights li + li { margin-top: 0.35rem; }

.dub-developer-tile__facts li::before,
.dub-developer-tile__highlights li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 9999px;
    background: #c9a227;
}

.dub-developer-tile__highlights li { color: #44403c; }

.dub-developer-tile__count {
    margin-top: 1rem;
    padding-top: 0.875rem;
    border-top: 1px solid #f5f5f4;
}

.dub-stat-card {
    padding: 1.25rem;
    border: 1px solid #e7e5e4;
    border-radius: 0.875rem;
    background: #fff;
}
.dub-stat-card__value { margin: 0; font-family: ui-serif, Georgia, serif; font-size: 1.125rem; color: #0c0a09; }
.dub-stat-card__label { margin: 0.5rem 0 0; font-size: 0.8125rem; color: #78716c; }

.dub-bar { height: 3px; width: 2.5rem; background: #c9a227; margin-bottom: 1rem; }

/* Lead capture form panels */
.dub-form-panel {
    position: relative;
    padding: 1.5rem;
    border: 1px solid rgb(201 162 39 / 0.35);
    border-radius: 1.25rem;
    background: linear-gradient(180deg, #fff 0%, #fafaf9 100%);
    box-shadow:
        0 1px 2px rgb(28 25 23 / 0.05),
        0 8px 32px rgb(201 162 39 / 0.12),
        0 24px 48px rgb(12 10 9 / 0.06);
    overflow: hidden;
}

.dub-form-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #a88620, #c9a227, #e8c547, #c9a227, #a88620);
}

.dub-form-panel__ornament {
    position: absolute;
    top: -3rem;
    right: -3rem;
    width: 8rem;
    height: 8rem;
    border-radius: 9999px;
    background: radial-gradient(circle, rgb(201 162 39 / 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.dub-form-panel__head {
    margin-bottom: 1.25rem;
}

.dub-form-panel__eyebrow {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-form-panel__line {
    margin-top: 0.75rem;
}

.dub-form-panel__title {
    margin: 0.75rem 0 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 500;
    line-height: 1.25;
    color: #0c0a09;
}

.dub-form-panel__subline {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #57534e;
}

.dub-form-panel__body {
    position: relative;
    z-index: 1;
}

.dub-form-panel__trust {
    margin: 1rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #78716c;
    text-align: center;
}

.dub-form-panel--hero {
    padding: 1.75rem;
}

.dub-form-panel--contact,
.dub-form-panel--project {
    box-shadow:
        0 1px 2px rgb(28 25 23 / 0.08),
        0 12px 40px rgb(201 162 39 / 0.18),
        0 32px 64px rgb(12 10 9 / 0.12);
}

.dub-form-panel--inline {
    padding: 1.25rem;
}

.dub-form-panel--modal {
    padding: 2rem 1.5rem 1.5rem;
}

.dub-form-panel--project {
    max-width: 32rem;
    margin: 0 auto;
}

.dub-form-panel.is-highlighted {
    animation: dub-form-panel-pulse 1.5s ease-out;
}

@keyframes dub-form-panel-pulse {
    0% {
        box-shadow:
            0 0 0 0 rgb(201 162 39 / 0.5),
            0 8px 32px rgb(201 162 39 / 0.12);
    }

    70% {
        box-shadow:
            0 0 0 12px rgb(201 162 39 / 0),
            0 8px 32px rgb(201 162 39 / 0.12);
    }

    100% {
        box-shadow:
            0 0 0 0 rgb(201 162 39 / 0),
            0 8px 32px rgb(201 162 39 / 0.12);
    }
}

/* Project offer conversion section */
.dub-offer-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 3rem 0;
    background: linear-gradient(135deg, #0c0a09 0%, #1c1917 55%, #292524 100%);
    border-top: 1px solid rgb(201 162 39 / 0.25);
    border-bottom: 1px solid rgb(201 162 39 / 0.25);
}

@media (min-width: 1024px) {
    .dub-offer-section { padding: 4rem 0; }
}

.dub-offer-section__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.dub-offer-section__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    opacity: 1;
    transform: scale(1.04);
    filter: saturate(0.92) contrast(1.06);
}

.dub-offer-section--photo .dub-offer-section__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, rgb(12 10 9 / 0.82) 0%, rgb(28 25 23 / 0.58) 44%, rgb(41 37 36 / 0.24) 100%),
        linear-gradient(180deg, rgb(12 10 9 / 0.4) 0%, rgb(28 25 23 / 0.68) 100%);
}

@media (max-width: 639px) {
    .dub-offer-section__bg img {
        object-position: center 32%;
    }

    .dub-offer-section--photo .dub-offer-section__bg::after {
        background:
            linear-gradient(180deg, rgb(12 10 9 / 0.82) 0%, rgb(28 25 23 / 0.62) 55%, rgb(41 37 36 / 0.48) 100%);
    }
}

.dub-offer-section__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 2rem;
}

.dub-offer-hooks {
    display: grid;
    gap: 0.625rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 640px) {
    .dub-offer-hooks { grid-template-columns: repeat(3, 1fr); }
}

.dub-offer-hook {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem 1rem;
    border: 1px solid rgb(201 162 39 / 0.35);
    border-radius: 9999px;
    background: rgb(255 255 255 / 0.06);
    font-size: 0.875rem;
    font-weight: 600;
    color: #fafaf9;
}

.dub-offer-hook::before {
    content: '✓';
    flex-shrink: 0;
    font-weight: 700;
    color: #c9a227;
}

.dub-offer-section__copy {
    text-align: center;
    max-width: 40rem;
    margin: 0 auto;
}

.dub-offer-section__eyebrow {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #c9a227;
}

.dub-offer-section__line {
    margin: 0.75rem auto 0;
}

.dub-offer-section__title {
    margin: 1rem 0 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: clamp(1.5rem, 3.5vw, 2rem);
    font-weight: 500;
    line-height: 1.2;
    color: #fafaf9;
}

.dub-offer-section__body {
    margin: 0.75rem 0 0;
    font-size: 1rem;
    line-height: 1.55;
    color: #d6d3d1;
}

.dub-offer-section__form {
    margin-top: 0.5rem;
}

.dub-offer-section .dub-form-panel__trust {
    color: #a8a29e;
}

/* Lead thank you page */
.dub-thank-you {
    padding: 3rem 0 4rem;
    background: linear-gradient(135deg, #0c0a09 0%, #1c1917 55%, #292524 100%);
    border-top: 1px solid rgb(201 162 39 / 0.25);
    border-bottom: 1px solid rgb(201 162 39 / 0.25);
    min-height: calc(100vh - 12rem);
}

@media (min-width: 1024px) {
    .dub-thank-you { padding: 5rem 0 6rem; }
}

.dub-thank-you__inner {
    max-width: 40rem;
    margin: 0 auto;
    text-align: center;
}

.dub-thank-you__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    margin: 0 auto;
    border-radius: 9999px;
    border: 1px solid rgb(201 162 39 / 0.45);
    background: rgb(201 162 39 / 0.12);
    box-shadow: 0 0 32px rgb(201 162 39 / 0.18);
}

.dub-thank-you__icon {
    font-size: 1.75rem;
    font-weight: 700;
    color: #e8c547;
    line-height: 1;
}

.dub-thank-you__eyebrow {
    margin: 1.5rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #c9a227;
}

.dub-thank-you__line {
    margin: 0.75rem auto 0;
}

.dub-thank-you__title {
    margin: 1rem 0 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 500;
    line-height: 1.15;
    color: #fafaf9;
}

.dub-thank-you__lead,
.dub-thank-you__project,
.dub-thank-you__closing {
    margin: 1rem 0 0;
    font-size: 1rem;
    line-height: 1.6;
    color: #d6d3d1;
}

.dub-thank-you__project {
    padding: 0.875rem 1rem;
    border: 1px solid rgb(201 162 39 / 0.35);
    border-radius: 0.875rem;
    background: rgb(255 255 255 / 0.05);
    color: #fafaf9;
}

.dub-thank-you__steps {
    margin-top: 2rem;
    padding: 1.5rem;
    border: 1px solid rgb(255 255 255 / 0.1);
    border-radius: 1rem;
    background: rgb(255 255 255 / 0.04);
    text-align: left;
}

.dub-thank-you__steps-title {
    margin: 0;
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
    font-size: 1.25rem;
    font-weight: 500;
    color: #fafaf9;
}

.dub-thank-you__steps-list {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
}

.dub-thank-you__step {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #e7e5e4;
}

.dub-thank-you__step::before {
    content: counter(step);
    counter-increment: step;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9999px;
    background: rgb(201 162 39 / 0.18);
    border: 1px solid rgb(201 162 39 / 0.45);
    font-size: 0.75rem;
    font-weight: 700;
    color: #e8c547;
}

.dub-thank-you__steps-list {
    counter-reset: step;
}

.dub-thank-you__closing {
    margin-top: 1.5rem;
    font-weight: 600;
    color: #fafaf9;
}

.dub-thank-you__home {
    margin-top: 2rem;
    color: #fafaf9;
    border-color: rgb(255 255 255 / 0.25);
}

.dub-thank-you__home:hover {
    background: rgb(255 255 255 / 0.08);
    color: #fafaf9;
}

/* About page */
.dub-about-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(4rem, 8vw, 6rem) 0 clamp(5rem, 9vw, 7rem);
    background: linear-gradient(135deg, #1c1917 0%, #292524 45%, #44403c 100%);
    color: #fafaf9;
}

.dub-about-hero--photo .dub-about-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.dub-about-hero--photo .dub-about-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
}

.dub-about-hero--photo .dub-about-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, rgb(12 10 9 / 0.88) 0%, rgb(28 25 23 / 0.72) 42%, rgb(41 37 36 / 0.45) 100%);
}

.dub-about-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 44rem;
}

.dub-about-hero .dub-eyebrow,
.dub-about-hero .dub-h1,
.dub-about-hero__lead {
    color: #fafaf9;
}

.dub-about-hero__lead {
    font-size: clamp(1.0625rem, 2vw, 1.25rem);
    line-height: 1.65;
    color: #d6d3d1;
}

.dub-about-hero .dub-btn--ghost {
    color: #fafaf9;
    border-color: rgb(255 255 255 / 0.28);
}

.dub-stat-band--about {
    margin-top: -3rem;
    padding-bottom: 0;
}

.dub-about-contrast {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.dub-about-contrast__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.18;
}

.dub-about-contrast__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dub-about-contrast > .dub-container {
    position: relative;
    z-index: 1;
}

.dub-about-contrast__intro {
    max-width: 46rem;
}

.dub-about-contrast__grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 900px) {
    .dub-about-contrast__grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
        align-items: stretch;
    }
}

.dub-about-contrast__card {
    padding: 1.75rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid #e7e5e4;
}

.dub-about-contrast__card--them {
    background: #fafaf9;
}

.dub-about-contrast__card--us {
    background: linear-gradient(145deg, #1c1917 0%, #292524 100%);
    border-color: rgb(201 162 39 / 0.35);
    color: #fafaf9;
}

.dub-about-contrast__card-label {
    margin: 0 0 1.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-about-contrast__card--us .dub-about-contrast__card-label {
    color: #e8c547;
}

.dub-about-contrast__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.875rem;
}

.dub-about-contrast__list li {
    position: relative;
    padding-left: 1.375rem;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: #44403c;
}

.dub-about-contrast__list li::before {
    content: '×';
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: #a8a29e;
}

.dub-about-contrast__list--us li {
    color: #e7e5e4;
}

.dub-about-contrast__list--us li::before {
    content: '✓';
    color: #c9a227;
}

.dub-about-contrast__quote {
    margin: 0 auto;
    max-width: 36rem;
    text-align: center;
    padding-top: 0.5rem;
}

.dub-about-contrast__quote p {
    margin: 0;
    font-family: ui-serif, Georgia, serif;
    font-size: clamp(1.125rem, 2.2vw, 1.375rem);
    line-height: 1.5;
    color: #292524;
}

.dub-about-why {
    padding-top: clamp(4rem, 7vw, 5.5rem);
    padding-bottom: clamp(4rem, 7vw, 5.5rem);
}

.dub-about-why__grid {
    display: grid;
    gap: 2.5rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .dub-about-why__grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
        gap: clamp(2rem, 4vw, 4rem);
        align-items: center;
    }
}

.dub-about-why__copy {
    max-width: none;
}

.dub-about-why__copy .dub-h2 {
    max-width: 16ch;
    font-size: clamp(2rem, 4vw, 2.75rem);
    line-height: 1.12;
}

.dub-about-why__prose .dub-lead,
.dub-about-why__prose .dub-text,
.dub-about-why__closing {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: #44403c;
}

.dub-about-why__prose .dub-lead {
    font-size: 1.125rem;
    color: #292524;
}

.dub-about-why__prose strong,
.dub-about-why__closing strong,
.dub-about-why__gain-item strong {
    font-weight: 650;
    color: #1c1917;
}

.dub-about-why__gain {
    padding: 1.5rem 1.375rem;
    border-radius: 0.875rem;
    background: linear-gradient(135deg, #fafaf9 0%, #f5f5f4 100%);
    border: 1px solid #e7e5e4;
    box-shadow: 0 8px 30px rgb(12 10 9 / 0.04);
}

.dub-about-why__gain-heading {
    margin: 0 0 1rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #b45309;
}

.dub-about-why__gain-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 1rem;
}

.dub-about-why__gain-item {
    display: grid;
    gap: 0.375rem;
    padding-left: 1rem;
    border-left: 2px solid #c9a227;
}

.dub-about-why__gain-item strong {
    display: block;
    font-size: 1rem;
    line-height: 1.4;
}

.dub-about-why__gain-item span {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #57534e;
}

.dub-about-why__quote {
    margin: 0;
    padding: 1.25rem 0 0 1.25rem;
    border-left: 3px solid #c9a227;
}

.dub-about-why__quote p {
    margin: 0;
    font-family: ui-serif, Georgia, serif;
    font-size: clamp(1.25rem, 2.5vw, 1.4375rem);
    line-height: 1.45;
    color: #1c1917;
}

.dub-about-why__visual {
    width: 100%;
}

.dub-about-why__figure {
    position: relative;
    margin: 0;
}

.dub-about-why__photo {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 1rem;
    box-shadow:
        0 24px 60px rgb(12 10 9 / 0.14),
        0 4px 16px rgb(12 10 9 / 0.08);
}

.dub-about-why__photo--fallback {
    background: linear-gradient(145deg, #e7e5e4 0%, #d6d3d1 55%, #a8a29e 100%);
}

.dub-about-why__stats {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
}

.dub-about-why__stat {
    padding: 0.75rem 0.625rem;
    text-align: center;
    background: rgb(255 255 255 / 0.94);
    backdrop-filter: blur(8px);
    border: 1px solid rgb(255 255 255 / 0.8);
    border-radius: 0.625rem;
    box-shadow: 0 8px 24px rgb(12 10 9 / 0.12);
}

.dub-about-why__stat-value {
    margin: 0;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.1;
    color: #92400e;
}

.dub-about-why__stat-label {
    margin: 0.35rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.3;
    color: #57534e;
}

@media (max-width: 1023px) {
    .dub-about-why__visual {
        order: -1;
        max-width: 28rem;
        margin-inline: auto;
    }

    .dub-about-why__copy .dub-h2 {
        max-width: none;
    }
}

.dub-about-standards {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #0c0a09;
    color: #fafaf9;
}

.dub-about-standards__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.dub-about-standards__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.35;
}

.dub-about-standards__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(12 10 9 / 0.82) 0%, rgb(12 10 9 / 0.94) 100%);
}

.dub-about-standards > .dub-container {
    position: relative;
    z-index: 1;
}

.dub-about-standards__head {
    max-width: 40rem;
}

.dub-about-standards .dub-eyebrow,
.dub-about-standards .dub-h2 {
    color: #fafaf9;
}

.dub-about-standards__subline {
    margin: 0;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: #d6d3d1;
}

.dub-about-standards__note {
    margin: 0;
    max-width: 36rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #a8a29e;
}

.dub-about-standards__list {
    display: grid;
    gap: 1rem;
}

@media (min-width: 900px) {
    .dub-about-standards__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.125rem 1.5rem;
    }
}

.dub-about-standard {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.125rem;
    align-items: start;
    padding: 1.5rem 1.375rem;
    background: rgb(255 255 255 / 0.04);
    border: 1px solid rgb(201 162 39 / 0.18);
    border-radius: 0.875rem;
    transition: border-color 0.15s, background 0.15s;
}

.dub-about-standard:hover {
    background: rgb(255 255 255 / 0.06);
    border-color: rgb(201 162 39 / 0.35);
}

.dub-about-standard__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 9999px;
    background: linear-gradient(145deg, rgb(201 162 39 / 0.22) 0%, rgb(201 162 39 / 0.08) 100%);
    border: 1px solid rgb(232 197 71 / 0.55);
    box-shadow:
        0 0 0 1px rgb(12 10 9 / 0.4) inset,
        0 4px 14px rgb(201 162 39 / 0.15);
    font-family: ui-serif, Georgia, serif;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #e8c547;
}

.dub-about-standard__content {
    min-width: 0;
}

.dub-about-standard__label {
    margin: 0;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.1875rem;
    font-weight: 500;
    line-height: 1.35;
    color: #fafaf9;
}

.dub-about-standard__detail {
    margin: 0.625rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #a8a29e;
}

.dub-about-gain {
    display: grid;
    gap: 0;
    border-top: 1px solid #e7e5e4;
}

@media (min-width: 768px) {
    .dub-about-gain {
        grid-template-columns: repeat(2, 1fr);
    }
}

.dub-about-gain__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.25rem;
    padding: 1.75rem 0;
    border-bottom: 1px solid #e7e5e4;
}

@media (min-width: 768px) {
    .dub-about-gain__item:nth-child(odd) {
        padding-right: 2rem;
    }

    .dub-about-gain__item:nth-child(even) {
        padding-left: 2rem;
        border-left: 1px solid #e7e5e4;
    }
}

.dub-about-gain__index {
    font-family: ui-serif, Georgia, serif;
    font-size: 2rem;
    line-height: 1;
    color: #c9a227;
    opacity: 0.85;
}

.dub-about-clients__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.4375rem 0.875rem;
    border-radius: 9999px;
    background: #fff;
    border: 1px solid rgb(201 162 39 / 0.35);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #78716c;
}

.dub-about-clients__badge::before {
    content: '♥';
    font-size: 0.75rem;
    color: #c9a227;
}

.dub-about-clients__grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 900px) {
    .dub-about-clients__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
}

.dub-about-clients__card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.75rem 1.5rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.875rem;
    box-shadow: 0 8px 28px rgb(12 10 9 / 0.05);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.dub-about-clients__card:hover {
    border-color: rgb(201 162 39 / 0.4);
    box-shadow: 0 12px 36px rgb(201 162 39 / 0.1);
}

.dub-about-clients__title {
    margin: 0;
    padding-bottom: 0.875rem;
    border-bottom: 1px solid rgb(201 162 39 / 0.22);
    font-family: ui-serif, Georgia, serif;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.35;
    color: #1c1917;
}

.dub-about-clients__quote {
    margin: 0;
    flex: 1;
}

.dub-about-clients__quote p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.65;
    font-style: italic;
    color: #44403c;
}

.dub-about-clients__quote p::before {
    content: '\201C';
    margin-right: 0.125rem;
    font-style: normal;
    font-family: ui-serif, Georgia, serif;
    font-size: 1.375rem;
    color: #c9a227;
    line-height: 0;
}

.dub-about-clients__detail {
    margin: 0;
    padding-top: 0.875rem;
    border-top: 1px solid #f5f5f4;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #78716c;
}

.dub-about-clients__thanks {
    max-width: 36rem;
    margin-inline: auto;
    text-align: center;
}

.dub-about-clients__thanks p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #57534e;
}

.dub-about-office {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.dub-about-office__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.dub-about-office__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dub-about-office__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(250 250 249 / 0.96) 0%, rgb(250 250 249 / 0.88) 55%, rgb(250 250 249 / 0.72) 100%);
}

.dub-about-office > .dub-container {
    position: relative;
    z-index: 1;
}

.dub-about-office__grid {
    display: grid;
    gap: 2rem;
    align-items: center;
}

@media (min-width: 900px) {
    .dub-about-office__grid {
        grid-template-columns: 1.1fr 0.9fr;
        gap: 3rem;
    }
}

.dub-about-office__copy {
    max-width: 34rem;
}

.dub-about-office__card {
    padding: 2rem 1.75rem;
    background: #fff;
    border: 1px solid rgb(201 162 39 / 0.25);
    border-radius: 1rem;
    box-shadow: 0 20px 50px rgb(12 10 9 / 0.1);
}

.dub-about-global {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.dub-about-global__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.14;
}

.dub-about-global__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dub-about-global > .dub-container {
    position: relative;
    z-index: 1;
}

.dub-about-experts {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .dub-about-experts {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1100px) {
    .dub-about-experts {
        grid-template-columns: repeat(3, 1fr);
    }
}

.dub-about-expert {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.25rem 1.125rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.875rem;
    box-shadow: 0 4px 20px rgb(12 10 9 / 0.04);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.dub-about-expert:hover {
    border-color: rgb(201 162 39 / 0.45);
    box-shadow: 0 8px 28px rgb(12 10 9 / 0.08);
}

.dub-about-expert__flag {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 9999px;
    background: #fafaf9;
    border: 1px solid #e7e5e4;
    font-size: 1.375rem;
    line-height: 1;
}

.dub-about-expert__name {
    margin: 0;
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.35;
    color: #1c1917;
}

.dub-about-expert__bio {
    margin: 0.375rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #57534e;
}

.dub-about-faq__inner {
    max-width: 44rem;
    margin-inline: auto;
}

.dub-about-faq__list {
    display: grid;
    gap: 0.75rem;
}

.dub-about-faq__item {
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.625rem;
    padding: 0.875rem 1.125rem;
}

.dub-about-faq__item summary {
    cursor: pointer;
    font-weight: 600;
    color: #1c1917;
}

.dub-about-faq__item p {
    color: #57534e;
}

.dub-about-contact.dub-section--contact-photo .dub-section--contact__bg img {
    object-position: center 30%;
}

/* Contact page */
.dub-contact-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(3.5rem, 7vw, 5.5rem) 0 clamp(4rem, 8vw, 6rem);
    background: linear-gradient(135deg, #1c1917 0%, #292524 50%, #44403c 100%);
    color: #fafaf9;
}

.dub-contact-hero--photo .dub-contact-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.dub-contact-hero--photo .dub-contact-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
}

.dub-contact-hero--photo .dub-contact-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, rgb(12 10 9 / 0.9) 0%, rgb(28 25 23 / 0.78) 45%, rgb(41 37 36 / 0.55) 100%);
}

.dub-contact-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 42rem;
}

.dub-contact-hero .dub-eyebrow,
.dub-contact-hero .dub-h1,
.dub-contact-hero__lead {
    color: #fafaf9;
}

.dub-contact-hero__lead {
    font-size: clamp(1.0625rem, 2vw, 1.1875rem);
    line-height: 1.65;
    color: rgb(250 250 249 / 0.92);
}

.dub-contact-main {
    padding-block: clamp(3rem, 6vw, 4.5rem);
}

.dub-contact-main__grid {
    display: grid;
    gap: 2.5rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .dub-contact-main__grid {
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 26rem);
        gap: 3.5rem;
    }

    .dub-contact-main__form {
        position: sticky;
        top: 5.5rem;
    }
}

.dub-contact-office {
    padding: 1.75rem 1.5rem;
    background: #fff;
    border: 1px solid rgb(201 162 39 / 0.22);
    border-radius: 0.875rem;
    box-shadow: 0 8px 32px rgb(12 10 9 / 0.06);
}

.dub-contact-channels__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.875rem;
}

.dub-contact-channels__item {
    display: grid;
    gap: 0.25rem;
    padding: 0.875rem 1rem;
    background: #fafaf9;
    border: 1px solid #e7e5e4;
    border-radius: 0.625rem;
}

.dub-contact-channels__item strong {
    font-size: 0.9375rem;
    color: #1c1917;
}

.dub-contact-channels__item span {
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #57534e;
}

.dub-contact-steps__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 1rem;
}

.dub-contact-steps__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.125rem 1rem;
    background: #fff;
    border: 1px solid rgb(201 162 39 / 0.18);
    border-radius: 0.75rem;
    box-shadow: 0 4px 16px rgb(12 10 9 / 0.04);
}

.dub-contact-steps__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    background: linear-gradient(145deg, rgb(201 162 39 / 0.16) 0%, rgb(201 162 39 / 0.06) 100%);
    border: 1px solid rgb(201 162 39 / 0.45);
    font-family: ui-serif, Georgia, serif;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #a67c00;
}

.dub-contact-steps__item strong {
    display: block;
    font-size: 0.9375rem;
    color: #1c1917;
}

.dub-contact-steps__item p {
    margin: 0.375rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #57534e;
}

.dub-clarity-chip--light {
    background: #fafaf9;
    border-color: #e7e5e4;
    color: #44403c;
}

.dub-contact-experts .dub-about-expert {
    background: #fff;
}

.dub-contact-faq__inner {
    max-width: 44rem;
    margin-inline: auto;
}

.dub-contact-faq__list {
    display: grid;
    gap: 0.75rem;
}

.dub-contact-faq__item {
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.625rem;
    padding: 0.875rem 1.125rem;
}

.dub-contact-faq__item summary {
    cursor: pointer;
    font-weight: 600;
    color: #1c1917;
}

.dub-contact-faq__item p {
    color: #57534e;
}

.dub-contact-reassurance__inner {
    max-width: 40rem;
    margin-inline: auto;
    text-align: center;
}

.dub-contact-reassurance .dub-actions {
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 639px) {
    .dub-contact-main__form .dub-form-panel--contact {
        order: -1;
    }

    .dub-contact-main__grid {
        display: flex;
        flex-direction: column;
    }

    .dub-contact-main__form {
        order: -1;
    }
}

/* Survey (SMS qualification) */
.dub-survey-body {
    background: #fafaf9;
    min-height: 100vh;
}

.dub-survey-header {
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid #e7e5e4;
    background: #fff;
}

.dub-survey-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    max-width: 36rem;
    margin: 0 auto;
}

.dub-survey-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #1c1917;
    text-decoration: none;
    flex-shrink: 0;
}

.dub-survey-header__logo {
    display: block;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.375rem;
}

.dub-survey-header__name {
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.dub-survey-header__trust {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.375rem 0.625rem;
    margin: 0;
    padding: 0;
    list-style: none;
    min-width: 0;
}

.dub-survey-header__trust-item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: #57534e;
    white-space: nowrap;
}

.dub-survey-header__trust-item::before {
    content: "✓";
    flex-shrink: 0;
    font-size: 0.5625rem;
    font-weight: 900;
    color: #a67c00;
}

.dub-survey-main {
    padding: 1.5rem 1rem 3rem;
}

.dub-survey--project {
    padding-top: 0.25rem;
}

.dub-survey-body:has(.dub-survey--project) .dub-survey-main {
    padding-top: 1rem;
    padding-bottom: 1.5rem;
}

.dub-survey__inner {
    max-width: 28rem;
    margin-inline: auto;
}

.dub-survey__eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #78716c;
    margin: 0 0 0.75rem;
}

.dub-survey__title {
    font-size: clamp(1.625rem, 5vw, 2rem);
    line-height: 1.15;
    font-weight: 600;
    color: #1c1917;
    margin: 0;
}

.dub-survey__title--step {
    font-size: clamp(1.375rem, 4.5vw, 1.75rem);
    margin-bottom: 1.5rem;
}

.dub-survey__lead {
    margin: 1rem 0 0;
    font-size: 1.0625rem;
    line-height: 1.55;
    color: #57534e;
}

.dub-survey__step-label {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    color: #78716c;
}

.dub-survey-benefits {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0 0;
    display: grid;
    gap: 0.625rem;
}

.dub-survey-benefits li {
    padding: 0.75rem 1rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.625rem;
    font-size: 0.9375rem;
    color: #44403c;
}

.dub-survey-benefits li::before {
    content: "✓ ";
    color: #a67c00;
    font-weight: 700;
}

.dub-survey--project .dub-survey__title {
    font-size: clamp(1.25rem, 4vw, 1.5rem);
    line-height: 1.2;
}

.dub-survey__title--award {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dub-survey__title-icon {
    display: inline-flex;
    flex-shrink: 0;
    width: 1.375rem;
    height: 1.375rem;
    color: #a67c00;
}

.dub-survey--project .dub-survey__lead {
    margin-top: 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.45;
}

.dub-survey--project .dub-survey__lead strong {
    color: #1c1917;
    font-weight: 700;
}

.dub-survey-project-pill {
    display: inline-block;
    margin: 0 0 1rem;
    padding: 0.375rem 0.875rem;
    background: #1c1917;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
}

.dub-survey-project-compact {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 1rem;
    padding: 0.625rem;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;
}

.dub-survey-project-compact__thumb {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 0.5rem;
    object-fit: cover;
    flex-shrink: 0;
}

.dub-survey-project-compact__thumb--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1c1917 0%, #44403c 55%, #a16207 100%);
    font-size: 1rem;
    font-weight: 700;
    color: #fbbf24;
}

.dub-survey-project-compact__body {
    min-width: 0;
    text-align: left;
}

.dub-survey-project-compact__name {
    margin: 0;
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 700;
    color: #1c1917;
}

.dub-survey-project-compact__meta {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    line-height: 1.35;
    color: #78716c;
}

.dub-survey-project-compact__price {
    margin: 0.375rem 0 0;
    font-size: 0.875rem;
    line-height: 1.3;
    font-weight: 700;
    color: #15803d;
}

.dub-survey-project-outcome {
    margin: 0.875rem 0 0.5rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #44403c;
    text-align: left;
}

.dub-survey-badge-row--compact {
    margin-top: 0.875rem;
}

.dub-survey--project .dub-survey-badge {
    min-height: 2rem;
    padding: 0.3125rem 0.4375rem;
    font-size: 0.625rem;
}

.dub-survey-benefits--compact {
    margin-top: 0;
    gap: 0.4375rem;
}

.dub-survey-benefits--compact li {
    padding: 0.625rem 0.875rem 0.625rem 2.375rem;
}

.dub-survey-benefits--compact .dub-survey-benefits__title {
    font-size: 0.875rem;
}

.dub-survey-benefits--compact .dub-survey-benefits__text {
    font-size: 0.75rem;
}

.dub-survey-badge-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 1.25rem 0 0;
}

.dub-survey-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3125rem;
    min-height: 2.375rem;
    padding: 0.4375rem 0.5rem;
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #d6b56a;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    color: #78350f;
    box-shadow: 0 1px 3px rgb(120 53 15 / 12%);
}

.dub-survey-badge::before {
    content: "✓";
    flex-shrink: 0;
    font-size: 0.625rem;
    font-weight: 900;
    color: #a67c00;
}

.dub-survey-benefits--project {
    margin-top: 1rem;
}

.dub-survey-benefits--project li {
    display: grid;
    gap: 0.1875rem;
    padding: 0.875rem 1rem 0.875rem 2.75rem;
    position: relative;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;
}

.dub-survey-benefits--project li::before {
    content: "✓";
    position: absolute;
    left: 0.875rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.375rem;
    height: 1.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fef9ec;
    border: 1px solid #e8d5a3;
    border-radius: 999px;
    font-size: 0.6875rem;
    color: #a67c00;
    font-weight: 800;
}

.dub-survey-benefits__title {
    display: block;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1c1917;
    line-height: 1.3;
}

.dub-survey-benefits__text {
    display: block;
    font-size: 0.8125rem;
    color: #78716c;
    line-height: 1.4;
}

.dub-survey-trust {
    margin: 1.25rem 0 0;
    padding: 0.625rem 0.875rem;
    background: #fafaf9;
    border: 1px solid #e7e5e4;
    border-radius: 0.625rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #57534e;
    text-align: center;
}

.dub-survey-trust--cta-foot {
    margin: 0.75rem 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #78716c;
}

@media (max-width: 420px) {
    .dub-survey-badge-row {
        grid-template-columns: 1fr;
    }

    .dub-survey-badge {
        font-size: 0.75rem;
        min-height: 2.5rem;
    }
}

.dub-survey-slider {
    margin-top: 1.5rem;
}

.dub-survey-slider__heading {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #44403c;
}

.dub-survey-slider__viewport {
    position: relative;
}

.dub-survey-slider__track {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0 2rem 0.5rem;
}

.dub-survey-slider__track::-webkit-scrollbar {
    display: none;
}

.dub-survey-slider__track:focus-visible {
    outline: 2px solid #c9a227;
    outline-offset: 2px;
    border-radius: 0.625rem;
}

.dub-survey-slider__nav {
    position: absolute;
    top: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-top: -1rem;
    border: 1px solid #e7e5e4;
    border-radius: 999px;
    background: #fff;
    color: #44403c;
    box-shadow: 0 2px 8px rgb(28 25 23 / 0.08);
    cursor: pointer;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.dub-survey-slider__nav:hover:not(:disabled) {
    transform: scale(1.05);
}

.dub-survey-slider__nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.dub-survey-slider__nav--prev {
    left: 0;
}

.dub-survey-slider__nav--next {
    right: 0;
}

.dub-survey-slider__trust {
    margin: 0.875rem 0 0;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #78716c;
    text-align: center;
}

.dub-survey-slider__card {
    flex: 0 0 38%;
    min-width: 7.5rem;
    scroll-snap-align: start;
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.625rem;
    overflow: hidden;
}

.dub-survey-slider__name {
    margin: 0;
    padding: 0.5rem 0.625rem 0.75rem;
    font-size: 0.75rem;
    line-height: 1.35;
    color: #44403c;
}

.dub-survey__cta {
    margin-top: 2rem;
}

.dub-survey--project .dub-survey__cta {
    margin-top: 1.25rem;
}

.dub-survey__btn {
    width: 100%;
    min-height: 3.25rem;
    font-size: 1.0625rem;
}

.dub-survey__btn--hero {
    min-height: 3.75rem;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.dub-btn--lg {
    min-height: 3.25rem;
    padding: 0.875rem 1.25rem;
    font-size: 1.0625rem;
}

.dub-survey-progress {
    height: 0.375rem;
    background: #e7e5e4;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.dub-survey-progress__bar {
    height: 100%;
    background: #a67c00;
    border-radius: 999px;
    transition: width 0.2s ease;
}

.dub-survey-options {
    display: grid;
    gap: 0.75rem;
}

.dub-survey-step-hint {
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: #78716c;
    text-align: center;
}

.dub-survey-option {
    display: block;
    cursor: pointer;
}

.dub-survey-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.dub-survey-option__label {
    display: block;
    padding: 1.125rem 1.25rem;
    background: #fff;
    border: 2px solid #e7e5e4;
    border-radius: 0.75rem;
    font-size: 1.0625rem;
    line-height: 1.35;
    color: #1c1917;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.dub-survey-option input:checked + .dub-survey-option__label,
.dub-survey-option input:focus-visible + .dub-survey-option__label {
    border-color: #a67c00;
    background: #fffbeb;
}

.dub-survey-results {
    display: grid;
    gap: 1rem;
    margin: 1.5rem 0 2rem;
}

.dub-survey-results__card {
    background: #fff;
    border: 1px solid #e7e5e4;
    border-radius: 0.75rem;
    overflow: hidden;
}

.dub-survey-results__body {
    padding: 1rem 1.125rem 1.25rem;
}

.dub-survey--complete .dub-survey__inner {
    max-width: 26rem;
}

.dub-survey-complete__hero {
    text-align: center;
}

.dub-survey-complete__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1;
}

.dub-survey-complete__intro {
    margin-top: 0.75rem;
}

.dub-survey-complete__primary {
    margin-top: 2rem;
    padding: 1.25rem 1.125rem 1.375rem;
    border: 1px solid #e7e5e4;
    border-left: 3px solid #a67c00;
    border-radius: 0.75rem;
    background: #fff;
}

.dub-survey-complete__eyebrow {
    margin: 0 0 0.625rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #78716c;
}

.dub-survey-complete__message {
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
    color: #44403c;
}

.dub-survey-complete__guidance {
    margin: 1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid #f5f5f4;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.5;
    color: #1c1917;
}

.dub-survey-complete__secondary {
    margin-top: 1.25rem;
    padding: 1.125rem 1rem 1.25rem;
    border-radius: 0.75rem;
    background: #f5f5f4;
    text-align: center;
}

.dub-survey-complete__secondary-text {
    margin: 0 0 1rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #57534e;
}

.dub-survey-complete__featured-link {
    width: 100%;
    min-height: 2.75rem;
    font-size: 0.9375rem;
}

@media (min-width: 640px) {
    .dub-survey-slider__card {
        flex-basis: 30%;
    }
}
