:root {
    --tdh-ink: #172033;
    --tdh-muted: #667085;
    --tdh-line: #e6e8ec;
    --tdh-soft: #f7f8fa;
    --tdh-soft-blue: #f2f7ff;
    --tdh-blue: #3267e3;
    --tdh-blue-dark: #204db8;
    --tdh-yellow: #ffd86b;
    --tdh-orange: #ff9a56;
    --tdh-green: #159b74;
    --tdh-red: #d64646;
    --tdh-purple: #7468e8;
    --tdh-shadow: 0 16px 42px rgba(31, 42, 68, .08);
    --tdh-radius: 18px;
}

html { scroll-behavior: smooth; }
body {
    color: var(--tdh-ink);
    background: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
a { color: var(--tdh-blue); }
a:hover { color: var(--tdh-blue-dark); }

.tdh-site-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--tdh-line);
    backdrop-filter: blur(14px);
    z-index: 1035;
}
.tdh-site-header .navbar { min-height: 72px; padding: .65rem 0; }
.tdh-brand { display: inline-flex; align-items: center; gap: .75rem; margin-right: 2rem; }
.tdh-brand img { width: 168px; height: auto; object-fit: contain; }
.tdh-brand-separator { width: 1px; height: 26px; background: #d8dce3; }
.tdh-brand-label { font-size: .95rem; font-weight: 800; letter-spacing: .03em; color: #26344e; }
.navbar-nav .nav-link {
    color: #29364d;
    font-weight: 650;
    border-radius: 10px;
    padding: .65rem .8rem !important;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active { color: var(--tdh-blue); background: #f3f6fc; }
.navbar-toggler { border: 1px solid var(--tdh-line); box-shadow: none !important; }
.tdh-dropdown-menu {
    border: 1px solid var(--tdh-line);
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(29, 40, 66, .15);
    padding: .55rem;
    min-width: 290px;
}
.tdh-dropdown-wide { min-width: 330px; }
.tdh-dropdown-menu .dropdown-item {
    border-radius: 9px;
    padding: .58rem .75rem;
    color: #344054;
    font-size: .93rem;
}
.tdh-dropdown-menu .dropdown-item:hover,
.tdh-dropdown-menu .dropdown-item:focus { background: #f1f5fb; color: var(--tdh-blue); }
.tdh-dropdown-lead { display: flex; flex-direction: column; gap: .15rem; }
.tdh-dropdown-lead small { color: var(--tdh-muted); font-size: .76rem; }
.dropdown-submenu { position: relative; }
.dropdown-submenu > .dropdown-menu {
    top: -.55rem;
    left: calc(100% + .35rem);
    margin-left: 0;
}
.tdh-submenu { min-width: 210px; border: 1px solid var(--tdh-line); border-radius: 14px; box-shadow: 0 16px 42px rgba(29,40,66,.15); padding: .5rem; }
.tdh-submenu-use { min-width: 270px; }

.tdh-main { min-height: 65vh; padding-bottom: 5rem; }
.tdh-breadcrumbs { padding: 1.15rem 0 .75rem; }
.tdh-breadcrumbs .breadcrumb { font-size: .86rem; color: var(--tdh-muted); }
.tdh-breadcrumbs .breadcrumb-item + .breadcrumb-item::before { color: #a6adbb; }
.tdh-breadcrumbs a { color: #52627b; text-decoration: none; }
.tdh-breadcrumbs a:hover { color: var(--tdh-blue); }

.tdh-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid #e5e8ed;
    border-radius: 24px;
    padding: clamp(2rem, 4vw, 3.8rem);
    background:
        radial-gradient(circle at 92% 8%, rgba(255,216,107,.42), transparent 28%),
        radial-gradient(circle at 2% 95%, rgba(50,103,227,.12), transparent 34%),
        linear-gradient(135deg, #fffdf8 0%, #f7f9ff 58%, #fff 100%);
    box-shadow: 0 20px 60px rgba(31,42,68,.06);
}
.tdh-hero::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border: 1px dashed rgba(50,103,227,.2);
    border-radius: 50%;
    right: 10%;
    bottom: -110px;
}
.tdh-kicker,
.tdh-section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--tdh-blue);
    text-transform: uppercase;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .09em;
    margin-bottom: .75rem;
}
.tdh-kicker::before,
.tdh-section-eyebrow::before { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 4px; }
.tdh-hero h1 { max-width: 850px; font-size: clamp(2rem, 4.1vw, 4rem); line-height: 1.06; letter-spacing: -.045em; margin-bottom: 1.2rem; font-weight: 820; }
.tdh-hero-lead { max-width: 790px; font-size: clamp(1.04rem, 1.55vw, 1.25rem); color: #58667c; line-height: 1.7; margin-bottom: 1.3rem; }
.tdh-tags { display: flex; flex-wrap: wrap; gap: .5rem; }
.tdh-tag {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .28rem .7rem;
    border: 1px solid #dfe4ec;
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: #4c596d;
    font-size: .79rem;
    font-weight: 700;
}
.tdh-hero-visual { position: relative; display: inline-flex; width: min(100%, 330px); }
.tdh-hero-visual img {
    width: 100%;
    height: auto;
    max-height: 270px;
    object-fit: contain;
    border-radius: 20px;
    filter: drop-shadow(0 18px 25px rgba(31,42,68,.15));
}
.tdh-btn-primary,
.tdh-btn-light {
    border-radius: 11px;
    padding: .72rem 1rem;
    font-weight: 750;
    box-shadow: none !important;
}
.tdh-btn-primary { background: var(--tdh-blue); color: #fff; border: 1px solid var(--tdh-blue); }
.tdh-btn-primary:hover { background: var(--tdh-blue-dark); color: #fff; border-color: var(--tdh-blue-dark); }
.tdh-btn-light { background: #fff; color: #344054; border: 1px solid #dfe4ec; }
.tdh-btn-light:hover { background: #f6f8fb; color: var(--tdh-blue); border-color: #ccd5e2; }

.tdh-section { padding-top: 4.6rem; scroll-margin-top: 95px; }
.tdh-section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.6rem; }
.tdh-section-head h2,
.tdh-content-section h2 { font-size: clamp(1.55rem, 2.5vw, 2.35rem); letter-spacing: -.035em; font-weight: 810; margin: 0 0 .65rem; }
.tdh-section-head p { color: var(--tdh-muted); max-width: 820px; line-height: 1.72; margin: 0; }
.tdh-content-section { padding: 0 0 3.7rem; scroll-margin-top: 96px; }
.tdh-content-section > p { color: #4f5e72; line-height: 1.82; font-size: 1.02rem; }
.tdh-content-section h3 { font-size: 1.08rem; font-weight: 760; }
.tdh-muted { color: var(--tdh-muted); }

.tdh-link-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.25rem;
    border: 1px solid var(--tdh-line);
    border-radius: 15px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.tdh-link-card:hover { color: inherit; transform: translateY(-3px); border-color: #cbd6ea; box-shadow: var(--tdh-shadow); }
.tdh-link-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.tdh-link-card-icon { width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: #eef4ff; color: var(--tdh-blue); font-size: 1.15rem; }
.tdh-link-card h3 { font-size: 1.02rem; font-weight: 780; margin-bottom: .45rem; }
.tdh-link-card p { color: var(--tdh-muted); font-size: .91rem; line-height: 1.55; margin: 0; }

.tdh-split-panel {
    border: 1px solid var(--tdh-line);
    border-radius: 22px;
    background: #f8fafc;
    padding: clamp(1.4rem, 3vw, 2.5rem);
}
.tdh-method-list { border-top: 1px solid var(--tdh-line); }
.tdh-method-row {
    display: grid;
    grid-template-columns: 46px minmax(180px, 1fr) 2fr 24px;
    align-items: center;
    gap: 1rem;
    padding: 1rem .25rem;
    border-bottom: 1px solid var(--tdh-line);
    color: inherit;
    text-decoration: none;
}
.tdh-method-row:hover { color: inherit; background: #fafbfc; }
.tdh-method-icon { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; background: #eef4ff; color: var(--tdh-blue); }
.tdh-method-row strong { display: block; font-size: .96rem; }
.tdh-method-row span { color: var(--tdh-muted); font-size: .9rem; line-height: 1.5; }

.tdh-info-card {
    padding: 1.25rem;
    border: 1px solid var(--tdh-line);
    border-radius: 14px;
    background: #fff;
}
.tdh-info-card > i { color: var(--tdh-blue); font-size: 1.3rem; display: inline-block; margin-bottom: .8rem; }
.tdh-info-card h3 { font-size: 1rem; margin-bottom: .45rem; }
.tdh-info-card p { color: var(--tdh-muted); line-height: 1.6; margin: 0; font-size: .92rem; }

.tdh-feature-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .72rem; }
.tdh-feature-list li { display: flex; align-items: flex-start; gap: .7rem; color: #48566a; line-height: 1.55; }
.tdh-feature-list i { width: 24px; height: 24px; flex: 0 0 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: #eaf7f2; color: var(--tdh-green); font-size: .85rem; margin-top: .02rem; }

.tdh-note,
.tdh-doc-link,
.tdh-empty-samples {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.15rem 1.25rem;
    border-radius: 14px;
    border: 1px solid var(--tdh-line);
}
.tdh-note-icon,
.tdh-doc-link > i,
.tdh-empty-samples > i { width: 42px; height: 42px; flex: 0 0 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; font-size: 1.2rem; }
.tdh-note strong,
.tdh-doc-link strong,
.tdh-empty-samples strong { display: block; margin-bottom: .25rem; }
.tdh-note p,
.tdh-doc-link p,
.tdh-empty-samples p { margin: 0; color: var(--tdh-muted); line-height: 1.6; font-size: .91rem; }
.tdh-note-blue { background: #f2f7ff; border-color: #d7e6ff; }
.tdh-note-blue .tdh-note-icon { background: #dceaff; color: var(--tdh-blue); }
.tdh-note-warning { background: #fff9e9; border-color: #f6df9d; }
.tdh-note-warning .tdh-note-icon { background: #ffedbd; color: #946a00; }
.tdh-doc-link { background: #f8fafc; }
.tdh-doc-link > i { background: #ecebff; color: var(--tdh-purple); }
.tdh-doc-link a { display: inline-flex; gap: .35rem; margin-top: .55rem; font-weight: 750; text-decoration: none; }

.tdh-table-wrap { border: 1px solid var(--tdh-line); border-radius: 16px; overflow: hidden; background: #fff; }
.tdh-price-table thead th,
.tdh-license-table thead th { background: #f7f8fa; color: #667085; font-size: .76rem; text-transform: uppercase; letter-spacing: .055em; border-bottom: 1px solid var(--tdh-line); padding: .88rem 1rem; white-space: nowrap; }
.tdh-price-table tbody td,
.tdh-license-table tbody td { padding: 1rem; border-color: #edf0f3; color: #48566a; font-size: .92rem; }
.tdh-price-table tbody tr:last-child td,
.tdh-license-table tbody tr:last-child td { border-bottom: 0; }
.tdh-price-table tbody tr:hover { background: #fbfcfe; }
.tdh-num { white-space: nowrap; color: #1f2d45 !important; font-weight: 680; }
.tdh-mini-badge { display: inline-flex; padding: .2rem .45rem; margin-left: .4rem; border-radius: 999px; background: #fff1c2; color: #805b00; font-size: .68rem; font-weight: 800; vertical-align: middle; }

.tdh-toc { position: sticky; top: 94px; border: 1px solid var(--tdh-line); border-radius: 14px; padding: 1rem; background: #fff; }
.tdh-toc-title { color: #667085; font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; margin-bottom: .6rem; }
.tdh-toc nav { display: grid; gap: .12rem; }
.tdh-toc a { color: #516078; text-decoration: none; padding: .48rem .55rem; border-radius: 8px; font-size: .88rem; }
.tdh-toc a:hover { color: var(--tdh-blue); background: #f2f6fc; }

.tdh-faq { display: grid; gap: .65rem; }
.tdh-faq-item { border: 1px solid var(--tdh-line); border-radius: 13px; background: #fff; overflow: hidden; }
.tdh-faq-item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; font-weight: 730; }
.tdh-faq-item summary::-webkit-details-marker { display: none; }
.tdh-faq-item summary i { transition: transform .2s ease; color: var(--tdh-blue); }
.tdh-faq-item[open] summary { background: #fafbfc; }
.tdh-faq-item[open] summary i { transform: rotate(45deg); }
.tdh-faq-answer { padding: 0 1.1rem 1.1rem; color: var(--tdh-muted); line-height: 1.7; }
.tdh-faq-answer p { margin: .35rem 0 0; }

.tdh-sample-card { border: 1px solid var(--tdh-line); border-radius: 15px; padding: 1.2rem; background: #fff; }
.tdh-sample-card-head { display: flex; align-items: flex-start; gap: .9rem; }
.tdh-sample-icon { width: 42px; height: 42px; flex: 0 0 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: #fff6d8; color: #9b6a00; }
.tdh-sample-card h3 { font-size: 1rem; margin: .15rem 0 .35rem; }
.tdh-sample-card p { color: var(--tdh-muted); font-size: .89rem; line-height: 1.55; margin: 0; }
.tdh-sample-files { display: grid; gap: .5rem; margin: 1rem 0; }
.tdh-sample-file { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .8rem; border: 1px solid var(--tdh-line); border-radius: 10px; color: inherit; text-decoration: none; background: #fafbfc; }
.tdh-sample-file:hover { color: var(--tdh-blue); border-color: #cdd9ec; }
.tdh-sample-file span { min-width: 0; }
.tdh-sample-file strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .87rem; }
.tdh-sample-file small { color: var(--tdh-muted); font-size: .74rem; }
.tdh-sample-doc { font-size: .82rem; font-weight: 730; text-decoration: none; }
.tdh-empty-samples { background: #f8fafc; }
.tdh-empty-samples > i { background: #e9eef7; color: #5d6c82; }

.tdh-license-allow { padding: 1.3rem; border: 1px solid #bfe6d7; border-radius: 16px; background: #f4fbf8; }
.tdh-license-forbidden { padding: 1.3rem 1.4rem; border: 1px solid #f0bfc0; border-radius: 16px; background: #fff7f7; }
.tdh-license-forbidden ol { margin: 0; padding-left: 1.35rem; display: grid; gap: .85rem; color: #5a4748; line-height: 1.65; }
.tdh-license-box { height: 100%; padding: 1.2rem; border-radius: 14px; }
.tdh-license-box h3 { font-size: 1rem; }
.tdh-license-box p { margin: 0; color: #5d6470; line-height: 1.62; }
.tdh-license-box-limited { border: 1px solid #f0d88e; background: #fffaf0; }
.tdh-license-box-deny { border: 1px solid #efc0c0; background: #fff7f7; }
.tdh-status { display: inline-flex; padding: .28rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 780; white-space: nowrap; }
.tdh-status-ok { color: #0b6b4c; background: #e4f7ef; }
.tdh-status-limited { color: #8a6200; background: #fff1c7; }
.tdh-status-deny { color: #a32f35; background: #fde4e5; }

.tdh-profile-card { border: 1px solid var(--tdh-line); border-radius: 14px; padding: 1.2rem; background: #fff; }
.tdh-profile-card h3 { font-size: 1.02rem; }
.tdh-profile-card p { color: var(--tdh-muted); line-height: 1.62; margin: 0; font-size: .91rem; }
.tdh-step-list { counter-reset: tdh-step; display: grid; gap: .8rem; }
.tdh-step { counter-increment: tdh-step; display: flex; align-items: flex-start; gap: .85rem; padding: .9rem 0; border-bottom: 1px solid var(--tdh-line); }
.tdh-step:last-child { border-bottom: 0; }
.tdh-step::before { content: counter(tdh-step); width: 30px; height: 30px; flex: 0 0 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: #eaf1ff; color: var(--tdh-blue); font-weight: 800; font-size: .83rem; }

.tdh-footer { background: #182235; color: #dbe2ee; padding: 3.7rem 0 2rem; }
.tdh-footer-brand { display: flex; align-items: center; gap: .65rem; margin-bottom: 1rem; }
.tdh-footer-brand img { filter: brightness(0) invert(1); width: 160px; height: auto; }
.tdh-footer-brand span { font-weight: 800; letter-spacing: .04em; }
.tdh-footer h3 { color: #fff; font-size: .92rem; margin-bottom: .9rem; }
.tdh-footer a { display: block; color: #d9e1ed; text-decoration: none; margin-bottom: .45rem; font-size: .88rem; }
.tdh-footer a:hover { color: #fff; }
.tdh-footer p { color: #adb9cb; line-height: 1.6; font-size: .86rem; }
.tdh-footer hr { border-color: rgba(255,255,255,.13); margin: 2.2rem 0; }
.tdh-footer-legal p { font-size: .78rem; margin-bottom: .7rem; }
.tdh-footer .col-lg-4 p a { display: inline; }

@media (min-width: 992px) {
    .dropdown-submenu:hover > .dropdown-menu { display: block; }
}

@media (max-width: 991.98px) {
    .tdh-site-header .navbar-collapse { padding: .8rem 0 1rem; max-height: calc(100vh - 80px); overflow-y: auto; }
    .tdh-dropdown-menu { box-shadow: none; border: 0; padding-left: .6rem; min-width: 0; }
    .dropdown-submenu > .dropdown-menu { position: static; margin: .2rem 0 .5rem .8rem; box-shadow: none; border-left: 2px solid #e3e8f1; border-top: 0; border-right: 0; border-bottom: 0; border-radius: 0; }
    .tdh-hero { padding: 2rem; }
    .tdh-hero-visual { margin-top: 1rem; width: 260px; }
    .tdh-toc { position: static; margin-bottom: 1.6rem; }
}

@media (max-width: 767.98px) {
    .tdh-main { padding-bottom: 3rem; }
    .tdh-brand img { width: 146px; }
    .tdh-brand-label { font-size: .82rem; }
    .tdh-hero { border-radius: 18px; padding: 1.55rem; }
    .tdh-hero h1 { font-size: 2.05rem; }
    .tdh-hero-lead { font-size: 1rem; }
    .tdh-hero-visual { width: 220px; }
    .tdh-section { padding-top: 3.3rem; }
    .tdh-section-head { align-items: flex-start; flex-direction: column; gap: .8rem; }
    .tdh-method-row { grid-template-columns: 42px 1fr 20px; gap: .75rem; }
    .tdh-method-row > span { grid-column: 2 / -1; }
    .tdh-price-table,
    .tdh-price-table thead,
    .tdh-price-table tbody,
    .tdh-price-table tr,
    .tdh-price-table th,
    .tdh-price-table td,
    .tdh-license-table,
    .tdh-license-table thead,
    .tdh-license-table tbody,
    .tdh-license-table tr,
    .tdh-license-table th,
    .tdh-license-table td { display: block; width: 100%; }
    .tdh-price-table thead,
    .tdh-license-table thead { display: none; }
    .tdh-price-table tbody tr,
    .tdh-license-table tbody tr { padding: .85rem 1rem; border-bottom: 1px solid var(--tdh-line); }
    .tdh-price-table tbody tr:last-child,
    .tdh-license-table tbody tr:last-child { border-bottom: 0; }
    .tdh-price-table tbody td,
    .tdh-license-table tbody td { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .38rem 0; border: 0; text-align: right; }
    .tdh-price-table tbody td::before,
    .tdh-license-table tbody td::before { content: attr(data-label); flex: 0 0 40%; color: #667085; text-align: left; font-size: .75rem; font-weight: 750; }
    .tdh-num { white-space: normal; }
    .tdh-note,
    .tdh-doc-link,
    .tdh-empty-samples { padding: 1rem; }
}


/* Pricing, profile and contact components */
.tdh-pricing-accordion { display: grid; gap: .8rem; }
.tdh-pricing-accordion .accordion-item { border: 1px solid var(--tdh-line); border-radius: 15px !important; overflow: hidden; box-shadow: 0 6px 22px rgba(34,45,66,.04); }
.tdh-pricing-accordion .accordion-button { padding: 1.15rem 1.25rem; background: #fff; box-shadow: none; color: var(--tdh-ink); }
.tdh-pricing-accordion .accordion-button:not(.collapsed) { background: #f7f9fd; color: var(--tdh-ink); }
.tdh-pricing-accordion .accordion-button span { display: grid; gap: .2rem; }
.tdh-pricing-accordion .accordion-button small { color: var(--tdh-muted); font-weight: 450; line-height: 1.45; }
.tdh-pricing-accordion .accordion-body { padding: 1.2rem; background: #fff; }
.tdh-profile-line { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--tdh-line); color: #5b6678; font-size: .86rem; line-height: 1.55; }
.tdh-contact-box { border: 1px solid var(--tdh-line); border-radius: 18px; padding: 1.5rem; background: linear-gradient(145deg,#fff,#f7f9fd); box-shadow: 0 14px 35px rgba(42,55,78,.07); }
.tdh-contact-box a { display: flex; align-items: center; gap: .65rem; color: var(--tdh-blue); text-decoration: none; font-weight: 700; padding: .7rem 0; border-bottom: 1px solid var(--tdh-line); }
.tdh-contact-box a:last-child { border-bottom: 0; }
.tdh-contact-box p { color: var(--tdh-muted); font-size: .86rem; margin: .75rem 0; }
