/* LiftDraw brand and interface. Loaded after the original stylesheet so existing drawing styles remain available. */
:root {
    --ld-bg:#070e16;
    --ld-surface:#0c1722;
    --ld-surface-2:#101f2d;
    --ld-border:#223342;
    --ld-text:#f2f6f9;
    --ld-muted:#9baeba;
    --ld-blue:#21a8ef;
    --ld-cyan:#68caff;
    --ld-radius:12px;
    --ld-width:1240px;
    --background:var(--ld-bg);
    --text-primary:var(--ld-text);
    --text-secondary:var(--ld-muted);
}

html {
    scroll-padding-top:100px;
}

body.ld-site {
    font-family:"Segoe UI",Arial,Helvetica,sans-serif;
    background:var(--ld-bg);
    color:var(--ld-text);
    font-size:15px;
    line-height:1.6;
    overflow-wrap:break-word;
}

body.ld-site:has(dialog[open]) {
    overflow:hidden;
}

.ld-site button,.ld-site input,.ld-site select {
    font-family:inherit;
    font-size:inherit;
}

.ld-site button,.ld-site a {
    -webkit-tap-highlight-color:transparent;
}

.ld-site button {
    line-height:1.4;
}

.ld-site a {
    text-decoration:none;
}

.ld-site h1,.ld-site h2,.ld-site h3 {
    line-height:1.13;
    letter-spacing:-.04em;
}

.ld-site img {
    max-width:100%;
    display:block;
}

.ld-site figure {
    margin:0;
}

.ld-site [hidden] {
    display:none!important;
}

.ld-site :focus-visible {
    outline:2px solid var(--ld-cyan);
    outline-offset:5px;
}

.ld-site main:focus {
    outline:none;
}

.ld-container {
    width:min(var(--ld-width),calc(100% - 96px));
    margin-inline:auto;
}

.ld-icon {
    flex-shrink:0;
    display:inline-block;
    vertical-align:middle;
}

.ld-sr-only {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
}

.ld-skip-link {
    position:fixed;
    top:-100px;
    left:24px;
    padding:12px 22px;
    background:var(--ld-blue);
    color:#fff;
    z-index:2000;
    border-radius:8px;
}

.ld-skip-link:focus {
    top:12px;
}

.ld-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-size:10px;
    font-weight:650;
    letter-spacing:.23em;
    color:var(--ld-cyan);
    line-height:1.6;
    text-transform:uppercase;
}

.ld-blue-line {
    width:30px;
    height:2px;
    background:var(--ld-blue);
    display:inline-block;
}

.ld-muted-heading {
    color:#8da4b4;
}

.ld-button,.ld-site .account-primary {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    min-height:50px;
    padding:13px 22px;
    border:1px solid #138fce;
    border-radius:7px;
    background:linear-gradient(120deg,#0d8bcf,#099edb);
    color:#fff;
    font-size:13px;
    font-weight:650;
    line-height:1.4;
    box-shadow:0 5px 20px #008bd016;
    cursor:pointer;
    transition:background .18s,border-color .18s,transform .18s;
}

.ld-button:hover,.ld-site .account-primary:hover {
    background:#11a1e4;
    border-color:#3cb9fa;
    transform:translateY(-1px);
    color:#fff;
}

.ld-button .ld-icon,.account-primary .ld-icon {
    width:18px;
    height:18px;
}

.ld-button-outline {
    background:#0b182180;
    border-color:#405260;
    box-shadow:none;
    color:#e1eaf0;
}

.ld-button-outline:hover {
    background:#132839;
    border-color:#5f8aa5;
}

.ld-button-small {
    min-height:40px;
    padding:10px 15px;
    font-size:12px;
    gap:13px;
}

.ld-text-link {
    appearance:none;
    border:0;
    background:none;
    padding:0;
    color:var(--ld-cyan);
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    text-decoration:none;
    line-height:1.5;
}

.ld-text-link .ld-icon {
    width:18px;
    height:18px;
}

.ld-text-link:hover {
    color:#a3e0ff;
}

.ld-icon-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    color:#b9cbd8;
    border:1px solid var(--ld-border);
    width:40px;
    height:40px;
    border-radius:7px;
    cursor:pointer;
    padding:8px;
}

.ld-icon-button:hover {
    background:#1a2e40;
    color:#fff;
}

.ld-icon-button .ld-icon {
    width:20px;
    height:20px;
}

/* Header */
.ld-header {
    position:sticky;
    top:0;
    z-index:100;
    background:#080f18ed;
    border-bottom:1px solid #24374780;
    backdrop-filter:blur(18px);
}

.ld-header-inner {
    width:min(1392px,calc(100% - 64px));
    height:82px;
    margin-inline:auto;
    display:flex;
    align-items:center;
    gap:32px;
}

.ld-brand {
    flex-shrink:0;
    display:block;
}

.ld-brand img {
    width:190px;
    height:auto;
}

.ld-nav {
    display:flex;
    align-items:center;
    gap:28px;
    margin-left:auto;
}

.ld-nav>a {
    font-size:12px;
    font-weight:500;
    color:#bdc8d0;
    white-space:nowrap;
    position:relative;
    transition:color .15s;
}

.ld-nav>a:hover,.ld-nav>a.is-current {
    color:#64c8ff;
}

.ld-nav>a.is-current:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    height:2px;
    bottom:-29px;
    background:var(--ld-blue);
}

.ld-header-actions {
    display:flex;
    align-items:center;
    gap:20px;
    margin-left:12px;
    flex-shrink:0;
}

.ld-header-login {
    font-size:12px;
    font-weight:600;
    color:#e0e9ef;
    display:flex;
    gap:9px;
    align-items:center;
    white-space:nowrap;
}

.ld-header-login:hover {
    color:var(--ld-cyan);
}

.ld-header-login .ld-icon {
    width:17px;
    height:17px;
}

.ld-logout-form {
    margin:0;
    display:flex;
}

.ld-menu-toggle,.ld-nav-mobile-actions {
    display:none;
}

/* Home hero */
.ld-hero {
    min-height:666px;
    position:relative;
    overflow:hidden;
    border-bottom:1px solid #20313e;
}

.ld-hero-image {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    position:absolute;
    inset:0;
}

.ld-hero-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#070e16e6 0%,#070e16b0 35%,#070e160c 69%),linear-gradient(0deg,#070e16 0%,#070e1600 25%);
}

.ld-hero-inner {
    position:relative;
    min-height:666px;
    padding-top:72px;
    padding-bottom:94px;
}

.ld-hero-copy {
    max-width:580px;
}

.ld-hero-copy>.ld-eyebrow {
    color:#bfd3e0;
    font-size:10px;
    letter-spacing:.22em;
}

.ld-hero h1 {
    font-size:clamp(68px,7.2vw,103px);
    line-height:1.02;
    font-weight:700;
    letter-spacing:-.05em;
    margin:23px 0 23px;
}

.ld-hero h1 span {
    color:#32aff0;
}

.ld-hero-lead {
    font-size:21px;
    line-height:1.48;
    letter-spacing:-.02em;
    font-weight:400;
    margin:0 0 15px;
    color:#e0e9ef;
}

.ld-hero-description {
    max-width:400px;
    font-size:14px;
    color:#94a9b9;
    line-height:1.8;
    margin:0 0 25px;
}

.ld-standards {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin:-8px 0 24px;
    color:#70c9f5;
}

.ld-standards .ld-icon {
    width:17px;
    height:17px;
    margin-right:3px;
}

.ld-standards>span {
    font-family:Consolas,monospace;
    font-size:10px;
    letter-spacing:.02em;
    padding:5px 8px;
    border:1px solid #32566e;
    background:#0b1d2a9c;
    border-radius:4px;
}

.ld-hero-buttons {
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
}

.ld-hero-platform {
    display:flex;
    align-items:center;
    gap:8px;
    color:#869aaa;
    font-size:10px;
    margin-top:22px;
}

.ld-hero-platform .ld-icon {
    width:14px;
    height:14px;
}

.ld-hero-caption {
    position:absolute;
    right:0;
    bottom:102px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:19px 29px 19px 21px;
    background:#091520ac;
    border:1px solid #879faf55;
    border-radius:4px;
    backdrop-filter:blur(9px);
    min-width:290px;
}

.ld-hero-caption strong {
    display:block;
    font-size:15px;
    font-weight:600;
    color:#f1f6fb;
}

.ld-hero-caption div>span {
    display:block;
    color:#afbdc8;
    font-size:11px;
    margin-top:2px;
}

.ld-caption-dot {
    width:6px;
    height:6px;
    background:#39b7ff;
    border-radius:50%;
    box-shadow:0 0 10px #0af8;
}

.ld-caption-corner {
    position:absolute;
    right:-1px;
    top:-1px;
    width:17px;
    height:17px;
    border-top:2px solid #40b5ff;
    border-right:2px solid #40b5ff;
}

.ld-hero-scroll {
    position:absolute;
    bottom:22px;
    left:0;
    display:flex;
    gap:18px;
    align-items:center;
    color:#8198a9;
    font-size:9px;
    letter-spacing:.16em;
}

.ld-hero-scroll>span:last-child {
    font-size:19px;
    line-height:1;
    color:#afc1ce;
}

.ld-proof-strip {
    background:#0a131d;
    border-bottom:1px solid #1c2c39;
}

.ld-proof-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    padding:30px 0;
}

.ld-proof-grid>div {
    display:flex;
    gap:16px;
    padding:0 28px;
    border-right:1px solid #23313e;
    align-items:center;
}

.ld-proof-grid>div:first-child {
    padding-left:0;
}

.ld-proof-grid>div:last-child {
    border:0;
    padding-right:0;
}

.ld-proof-grid .ld-icon {
    color:#69bde9;
    width:25px;
    height:25px;
}

.ld-proof-grid strong {
    display:block;
    font-size:13px;
    font-weight:600;
    line-height:1.7;
    color:#e4ecf2;
}

.ld-proof-grid span {
    font-size:11px;
    color:#889dab;
    white-space:nowrap;
}

/* Product sections */
.ld-section {
    padding:90px 0;
    scroll-margin-top:4px;
}

.ld-section-heading {
    display:flex;
    justify-content:space-between;
    gap:60px;
    align-items:flex-end;
    margin-bottom:36px;
}

.ld-section-heading h2,.ld-detail-header h2,.ld-output-copy h2,.ld-faq-grid h2 {
    font-size:clamp(32px,3.7vw,48px);
    font-weight:600;
    margin:16px 0 0;
    line-height:1.12;
}

.ld-section-heading>p {
    margin:0;
    max-width:416px;
    font-size:14px;
    line-height:1.85;
    color:#a4b5c0;
}

.ld-module-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.ld-module-card {
    display:flex;
    flex-direction:column;
    background:#0c1722;
    border:1px solid #253744;
    border-radius:10px;
    overflow:hidden;
    transition:transform .18s,border-color .18s;
}

.ld-module-card:hover {
    border-color:#51809d;
    transform:translateY(-4px);
}

.ld-module-cover {
    height:238px;
    position:relative;
    overflow:hidden;
    border-bottom:1px solid #273744;
    background:#0a1724;
}

.ld-module-cover>img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    opacity:1;
    transition:transform .3s;
}

.ld-cover-cad>img {
    object-position:center;
    opacity:1;
}

.ld-cover-cabin>img {
    object-position:center;
    opacity:1;
}

.ld-module-cover:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#091623a6,transparent 50%);
}

.ld-module-card:hover .ld-module-cover>img {
    transform:scale(1.035);
}

.ld-cover-number {
    position:absolute;
    top:18px;
    left:21px;
    z-index:1;
    font-family:Consolas,monospace;
    color:#dbecf8b3;
    font-size:11px;
    background:#06121bbd;
    padding:4px 8px;
    border:1px solid #738b9c42;
    border-radius:4px;
}

.ld-cover-icon {
    position:absolute;
    bottom:19px;
    left:23px;
    z-index:1;
    background:#0d253ce6;
    border:1px solid #37a2e166;
    color:#69c6fb;
    width:44px;
    height:44px;
    border-radius:8px;
    display:grid;
    place-items:center;
}

.ld-cover-icon .ld-icon {
    width:26px;
    height:26px;
}

.ld-module-body {
    display:flex;
    flex-direction:column;
    flex:1;
    padding:27px 25px 25px;
}

.ld-module-body>.ld-eyebrow {
    font-size:9px;
    letter-spacing:.13em;
    color:#7a9ab1;
}

.ld-module-body h3 {
    font-size:28px;
    font-weight:600;
    margin:10px 0 13px;
    color:#f2f6fa;
}

.ld-module-body p {
    font-size:13px;
    line-height:1.8;
    color:#a3b3c0;
    min-height:70px;
    margin:0 0 20px;
}

.ld-tags {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:22px;
}

.ld-tags>span {
    border:1px solid #273b49;
    border-radius:5px;
    background:#101e2b;
    color:#91abba;
    font-size:10px;
    padding:4px 7px;
}

.ld-module-body .ld-tags {
    margin-top:auto;
}

.ld-module-body .ld-text-link {
    width:100%;
    justify-content:space-between;
    padding-top:17px;
    border-top:1px solid #253542;
}

.ld-details-section {
    background:#0a141e;
    border-block:1px solid #213240;
}

.ld-detail-header {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:28px;
    margin-bottom:40px;
}

.ld-detail-header h2 {
    font-size:39px;
}

.ld-module-tabs {
    display:flex;
    border:1px solid #334b5c;
    border-radius:7px;
    padding:4px;
    gap:2px;
    background:#080f18;
}

.ld-module-tabs button {
    border:0;
    border-radius:4px;
    background:none;
    color:#8ea5b6;
    padding:11px 18px;
    font-size:12px;
    white-space:nowrap;
    cursor:pointer;
}

.ld-module-tabs button[aria-selected=true] {
    background:#143450;
    color:#82d4ff;
    box-shadow:inset 0 0 0 1px #2e5875;
}

.ld-module-tabs button:hover {
    color:#d6eefb;
}

.ld-detail-panel {
    display:grid;
    grid-template-columns:.94fr 1.06fr;
    align-items:center;
    gap:64px;
    min-height:458px;
}

.ld-detail-copy {
    max-width:440px;
}

.ld-detail-index {
    display:block;
    color:#7694ac;
    font-family:Consolas,monospace;
    font-size:11px;
    letter-spacing:.08em;
}

.ld-detail-copy h3 {
    font-size:35px;
    font-weight:550;
    line-height:1.17;
    margin:19px 0;
}

.ld-detail-copy h3>span {
    color:#8ca4b6;
}

.ld-detail-copy>p {
    color:#a4b6c3;
    font-size:13px;
    line-height:1.85;
    margin-bottom:25px;
}

.ld-check-list {
    list-style:none;
    padding:0;
    margin:0 0 24px;
    display:grid;
    gap:12px;
}

.ld-check-list li {
    display:flex;
    align-items:center;
    gap:11px;
    font-size:12px;
    color:#c3d1dc;
    line-height:1.5;
}

.ld-check-list .ld-icon {
    width:17px;
    height:17px;
    color:#40b5f5;
}

.ld-detail-note {
    display:block;
    max-width:370px;
    margin-top:11px;
    font-size:10px;
    color:#7790a3;
    line-height:1.6;
}

.ld-detail-visual {
    height:458px;
    background:#0b1825;
    border:1px solid #355165;
    border-radius:9px;
    overflow:hidden;
    position:relative;
}

.ld-detail-visual img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.ld-detail-project img {
    object-position:center;
}

.ld-detail-visual figcaption {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:13px 18px;
    background:#061422dc;
    backdrop-filter:blur(10px);
    color:#bed1df;
    font-size:10px;
    letter-spacing:.04em;
    border-top:1px solid #4d748b40;
}

.ld-workflow-grid {
    list-style:none;
    margin:12px 0 46px;
    padding:0;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:24px;
}

.ld-workflow-grid li {
    position:relative;
    padding-top:14px;
    border-top:1px solid #385269;
}

.ld-step-number {
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:11px;
    font-family:Consolas,monospace;
    color:#6f8fa7;
    margin-bottom:24px;
}

.ld-step-number span {
    font-family:Arial;
    font-size:18px;
    color:#355f7c;
}

.ld-workflow-grid .ld-icon {
    width:27px;
    height:27px;
    color:#52b5ee;
    margin-bottom:17px;
}

.ld-workflow-grid h3 {
    font-size:15px;
    letter-spacing:-.015em;
    font-weight:550;
    margin:0 0 10px;
}

.ld-workflow-grid p {
    font-size:12px;
    color:#8ea6b7;
    line-height:1.7;
    margin:0;
    max-width:195px;
}

.ld-workspace-preview {
    border:1px solid #39536a;
    background:#0a141e;
    border-radius:9px;
    box-shadow:0 24px 60px #0006;
    overflow:hidden;
    width:min(1110px,100%);
    margin-inline:auto;
}

.ld-preview-bar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#0f1d2b;
    padding:14px 20px;
    border-bottom:1px solid #304455;
    font-size:9px;
    color:#7490a5;
    letter-spacing:.12em;
}

.ld-preview-bar>div {
    display:flex;
    align-items:center;
    gap:5px;
}

.ld-preview-bar strong {
    color:#b7cbd8;
    font-size:11px;
    letter-spacing:0;
    font-weight:550;
    margin-left:13px;
}

.ld-window-dot {
    width:6px;
    height:6px;
    border-radius:50%;
    background:#547189;
}

.ld-preview-bar .ld-window-dot:first-child {
    background:#779aac;
}

.ld-workspace-preview>img {
    width:100%;
    height:auto;
}

.ld-preview-caption {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:16px 20px;
    background:#101c28;
    border-top:1px solid #283d4d;
    color:#8da6b7;
    font-size:11px;
}

.ld-preview-caption>span {
    display:flex;
    align-items:center;
    gap:10px;
}

.ld-preview-caption .ld-icon {
    width:15px;
    height:15px;
}

.ld-output-section {
    background:#eef3f6;
    color:#122b40;
}

.ld-output-grid {
    display:grid;
    grid-template-columns:1fr .82fr;
    gap:86px;
    align-items:center;
}

.ld-output-copy .ld-eyebrow {
    color:#1977ad;
}

.ld-output-copy h2 {
    margin-top:19px;
    color:#101f2d;
    font-size:46px;
}

.ld-output-copy h2>span {
    color:#6d8597;
}

.ld-output-copy>p {
    max-width:460px;
    font-size:14px;
    line-height:1.85;
    color:#577083;
    margin:24px 0 27px;
}

.ld-output-item {
    display:flex;
    align-items:center;
    gap:17px;
    padding:17px 0;
    border-top:1px solid #ccd8e0;
}

.ld-output-item h3 {
    font-size:16px;
    font-weight:600;
    letter-spacing:-.02em;
    margin:0 0 4px;
}

.ld-output-item p {
    font-size:12px;
    color:#637e90;
    margin:0;
    line-height:1.65;
    max-width:375px;
}

.ld-file-badge {
    flex-shrink:0;
    width:46px;
    height:51px;
    display:grid;
    place-items:center;
    border-radius:6px;
    font-size:10px;
    font-weight:700;
    border:1px solid #98c2dc;
    color:#1179bc;
    background:#e1eff7;
}

.ld-file-pdf {
    background:#f4e7e7;
    border-color:#dfb4b4;
    color:#b55555;
}

.ld-file-report {
    background:#e5ebef;
    border-color:#afc0cc;
    color:#3c5e76;
}

.ld-output-copy>.ld-text-link {
    margin-top:22px;
    color:#126c9e;
}

.ld-output-copy>.ld-text-link:hover {
    color:#1499dd;
}

.ld-output-visual {
    position:relative;
    border:1px solid #c5d6e2;
    border-radius:9px;
    overflow:hidden;
    box-shadow:0 20px 60px #233c4f1a;
    background:#e5edf2;
}

.ld-output-visual img {
    width:100%;
    height:auto;
}

.ld-output-visual figcaption {
    background:#dae4eb;
    padding:12px 19px;
    color:#556f82;
    font-size:10px;
    border-top:1px solid #ccdbe6;
}

.ld-image-open {
    position:absolute;
    top:17px;
    right:17px;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid #86a6ba;
    background:#ffffffc4;
    border-radius:6px;
    color:#153c5a;
    cursor:pointer;
}

.ld-image-open .ld-icon {
    width:18px;
    height:18px;
}

.ld-gallery-section {
    padding-bottom:70px;
}

.ld-count {
    font-size:10px;
    display:inline-grid;
    place-items:center;
    width:21px;
    height:21px;
    border-radius:4px;
    background:#1c3449;
    color:#9dc8e2;
}

.ld-gallery-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.ld-gallery-grid>button {
    cursor:pointer;
    text-align:left;
    display:block;
    overflow:hidden;
    border:1px solid #304454;
    border-radius:8px;
    background:#0c1926;
    padding:0;
    color:#c5d7e4;
    transition:border-color .2s,transform .2s;
}

.ld-gallery-grid>button:hover {
    border-color:#6ca6ce;
    transform:translateY(-3px);
}

.ld-gallery-grid img {
    height:310px;
    width:100%;
    object-fit:cover;
    object-position:center;
}

.ld-gallery-grid button>span {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    font-size:11px;
    padding:15px 14px;
    background:#0d1b27;
    line-height:1.3;
}

.ld-gallery-grid .ld-icon {
    width:14px;
    height:14px;
    color:#6fb2d8;
}

.ld-faq-section {
    border-top:1px solid #223341;
    padding-top:68px;
}

.ld-faq-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:80px;
}

.ld-faq-grid h2 {
    font-size:40px;
}

.ld-faq-grid>div>p {
    color:#8ea6b7;
    font-size:13px;
    max-width:310px;
    margin-top:24px;
}

.ld-faq-list details {
    border-bottom:1px solid #2e4252;
}

.ld-faq-list details:first-child {
    border-top:1px solid #2e4252;
}

.ld-faq-list summary {
    padding:23px 0;
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    font-size:14px;
    color:#d6e3ec;
    font-weight:550;
}

.ld-faq-list summary::-webkit-details-marker {
    display:none;
}

.ld-faq-list summary>span {
    font-size:21px;
    font-weight:300;
    color:#71b9e2;
    transition:transform .16s;
}

.ld-faq-list details[open] summary>span {
    transform:rotate(45deg);
}

.ld-faq-list p {
    font-size:13px;
    line-height:1.9;
    color:#90a6b7;
    margin:0 30px 23px 0;
}

.ld-gallery-dialog {
    width:min(990px,calc(100% - 32px));
    max-height:calc(100dvh - 32px);
    padding:0;
    background:#0b1824;
    border:1px solid #48708c;
    color:#e0edf7;
    border-radius:12px;
    box-shadow:0 20px 100px #000a;
}

.ld-gallery-dialog::backdrop {
    background:#010911dd;
    backdrop-filter:blur(8px);
}

.ld-gallery-dialog-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:16px 24px;
    border-bottom:1px solid #2c465c;
}

.ld-gallery-dialog-head h2 {
    margin:0;
    font-size:17px;
    letter-spacing:-.01em;
    font-weight:600;
}

.ld-gallery-dialog-head span {
    display:block;
    color:#75a6c7;
    font-size:11px;
    margin-bottom:3px;
}

.ld-gallery-dialog-body {
    height:min(710px,calc(100dvh - 160px));
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    padding:18px;
}

.ld-gallery-dialog-body>img {
    max-width:calc(100% - 128px);
    height:100%;
    width:auto;
    object-fit:contain;
    min-width:0;
}

.ld-gallery-dialog-body .ld-icon-button {
    flex-shrink:0;
}

.ld-gallery-previous .ld-icon {
    transform:rotate(180deg);
}

.ld-gallery-dialog-hint {
    text-align:center;
    font-size:10px;
    color:#7493aa;
    margin:0 0 16px;
}

/* Footer */
.ld-contact {
    padding:56px 0;
    background:linear-gradient(115deg,#0d2941,#102030 68%,#122636);
    border-block:1px solid #2c536d;
}

.ld-contact-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}

.ld-contact h2 {
    font-size:35px;
    font-weight:550;
    margin:12px 0 15px;
    letter-spacing:-.035em;
}

.ld-contact p {
    font-size:13px;
    color:#96b0c3;
    max-width:520px;
    margin:0;
}

.ld-contact-actions {
    display:flex;
    align-items:center;
    gap:14px;
    flex-direction:column;
    flex-shrink:0;
}

.ld-footer {
    background:#060d14;
    padding:48px 0 0;
}

.ld-footer-grid {
    display:grid;
    grid-template-columns:1.4fr repeat(3,1fr);
    gap:55px;
    padding-bottom:42px;
}

.ld-footer-brand img {
    width:190px;
    height:auto;
}

.ld-footer-brand p {
    font-size:15px;
    color:#cad9e4;
    margin:13px 0;
    line-height:1.6;
}

.ld-footer-platform {
    font-size:10px;
    color:#6f899c;
    line-height:1.9;
    display:block;
}

.ld-footer-grid h3 {
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
    margin:15px 0 20px;
    color:#cbd9e3;
}

.ld-footer-grid>div>a {
    display:block;
    color:#849bab;
    font-size:12px;
    line-height:1.7;
    margin-bottom:12px;
    width:fit-content;
}

.ld-footer-grid>div>a:hover {
    color:#6bccff;
}

.ld-footer-bottom {
    border-top:1px solid #22313d;
    padding:22px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    font-size:10px;
    color:#708b9e;
}

.ld-footer-bottom>a {
    color:#8da5b7;
}

.ld-footer-compact {
    padding:0;
}

.ld-footer-compact .ld-footer-bottom {
    border-top:0;
}

.ld-footer-compact .ld-footer-bottom>span:last-child {
    display:none;
}

/* Authentication */
.ld-auth-shell {
    padding:42px 32px;
    background:radial-gradient(ellipse at 20% 30%,#15364a55,transparent 60%),#07101a;
    min-height:calc(100vh - 140px);
    display:flex;
    align-items:center;
    justify-content:center;
}

.ld-auth-grid {
    width:min(1080px,100%);
    display:grid;
    grid-template-columns:1fr 1.12fr;
    min-height:640px;
    border:1px solid #2d4558;
    border-radius:12px;
    overflow:hidden;
    background:#0c1824;
    box-shadow:0 22px 90px #0005;
}

.ld-auth-visual {
    position:relative;
    overflow:hidden;
    min-height:640px;
    border-right:1px solid #324a5c;
    background:#081521;
}

.ld-auth-visual-image {
    position:absolute;
    inset:0;
    height:100%;
    width:100%;
    object-fit:cover;
    object-position:68% center;
    opacity:.85;
}

.ld-auth-visual-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#051323 2%,#051323dd 25%,#07152255 65%,#071422b0);
}

.ld-auth-visual-brand {
    position:absolute;
    top:36px;
    left:34px;
}

.ld-auth-visual-brand img {
    width:174px;
    height:auto;
}

.ld-auth-visual-copy {
    position:absolute;
    left:38px;
    right:30px;
    bottom:104px;
}

.ld-auth-visual-copy .ld-eyebrow {
    color:#9db9cd;
    font-size:9px;
    letter-spacing:.15em;
}

.ld-auth-visual-copy h2 {
    font-size:59px;
    font-weight:650;
    line-height:1.03;
    letter-spacing:-.045em;
    margin:18px 0;
}

.ld-auth-visual-copy h2 span {
    color:#46b9f8;
}

.ld-auth-visual-copy p {
    color:#afc5d5;
    line-height:1.6;
    font-size:15px;
    margin:16px 0 22px;
}

.ld-auth-modules {
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}

.ld-auth-modules span {
    color:#a8c7dc;
    border:1px solid #5387a255;
    background:#1833466b;
    font-size:9px;
    padding:5px 8px;
    border-radius:4px;
}

.ld-auth-visual-foot {
    position:absolute;
    bottom:32px;
    left:38px;
    right:30px;
    font-size:10px;
    color:#7e9fb9;
    display:flex;
    gap:10px;
    align-items:center;
    padding-top:22px;
    border-top:1px solid #607f9333;
}

.ld-auth-visual-foot .ld-icon {
    width:18px;
    height:18px;
}

.ld-auth-form-panel {
    padding:28px 48px 30px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-width:0;
}

.ld-auth-back {
    color:#849dad;
    font-size:11px;
    display:inline-flex;
    width:fit-content;
    gap:10px;
    margin-bottom:25px;
}

.ld-auth-back:hover {
    color:#6ecaff;
}

.ld-auth-form-inner {
    width:100%;
    max-width:410px;
    margin:auto;
}

.ld-auth-form-inner>h1 {
    font-size:32px;
    font-weight:550;
    line-height:1.15;
    margin:14px 0;
}

.ld-auth-form-inner>p {
    color:#94adbf;
    font-size:13px;
    line-height:1.8;
    margin:0;
}

.ld-site .account-kicker {
    font-size:9px;
    letter-spacing:.17em;
    color:#53b9f4;
    font-weight:600;
    line-height:1.7;
    margin-bottom:10px;
}

.ld-site .account-form {
    gap:17px;
    margin-top:27px;
}

.ld-site .account-form label {
    font-size:12px;
    color:#bed0de;
    font-weight:500;
    margin-bottom:7px;
}

.ld-site .account-form input:not([type=checkbox]):not([type=hidden]),.ld-site .account-form select {
    width:100%;
    min-height:46px;
    border:1px solid #385266;
    background:#09131e;
    color:#e8f1f7;
    border-radius:6px;
    padding:11px 13px;
    box-shadow:none;
    outline:none;
    font-size:13px;
    transition:border-color .18s,box-shadow .18s;
}

.ld-site .account-form input:not([type=checkbox]):focus,.ld-site .account-form select:focus {
    border-color:#27acf0;
    box-shadow:0 0 0 3px #22a6eb18;
}

.ld-site .account-form input::placeholder {
    color:#5f7b90;
    opacity:1;
}

.ld-site .account-form select {
    color-scheme:dark;
}

.ld-site .account-form input[type=checkbox] {
    appearance:auto;
    width:15px;
    height:15px;
    min-height:0;
    accent-color:#139dde;
    box-shadow:none;
    margin:0;
    flex-shrink:0;
}

.ld-site .account-form label:has(>input[type=checkbox]) {
    display:flex;
    align-items:center;
    gap:10px;
}

.ld-site .password-input-wrap {
    position:relative;
    display:block;
}

.ld-site .password-input-wrap input {
    padding-right:46px!important;
}

.ld-site .password-toggle {
    transform:none;
    border:0;
    background:none;
    position:absolute;
    top:0;
    right:0;
    height:46px;
    width:44px;
    padding:0;
    display:grid;
    place-items:center;
    color:#819fb5;
    cursor:pointer;
}

.ld-site .password-toggle .ld-icon {
    width:18px;
    height:18px;
}

.ld-site .password-toggle[aria-pressed=true] {
    color:#4bbffc;
}

.ld-site .login-options {
    display:flex;
    gap:16px;
    justify-content:space-between;
    align-items:center;
    margin:2px 0;
}

.ld-site .remember-check {
    margin:0!important;
    cursor:pointer;
    font-size:11px!important;
    color:#a3b9ca!important;
}

.ld-site .login-hint {
    font-size:9px;
    color:#668599;
    text-align:right;
}

.ld-site .account-footer {
    font-size:12px;
    margin-top:25px;
    text-align:center;
    color:#809dae;
}

.ld-site .account-footer a {
    color:#63c3f6;
    margin-left:4px;
}

.ld-auth-safe {
    border-top:1px solid #2a3f51;
    padding-top:21px;
    margin-top:27px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#668599;
    font-size:10px;
}

.ld-auth-safe .ld-icon {
    width:13px;
    height:13px;
}

.ld-site .form-error:empty,.ld-site .validation-summary-valid {
    display:none;
}

.ld-site .form-error,.ld-site .validation-summary-errors {
    font-size:12px;
    line-height:1.6;
    color:#ffabb6;
    background:#5b22353b;
    border:1px solid #ae5b6c66;
    padding:12px 14px;
    border-radius:6px;
}

.ld-site .form-error ul,.ld-site .validation-summary-errors ul {
    margin:0;
    padding-left:16px;
}

.ld-site .field-validation-error {
    display:block;
    color:#ffa4b2;
    font-size:11px;
    margin-top:5px;
}

.ld-site .input-validation-error {
    border-color:#c6687c!important;
}

.ld-register-shell .ld-auth-grid {
    grid-template-columns:.78fr 1.22fr;
    min-height:770px;
    width:min(1160px,100%);
}

.ld-register-shell .ld-auth-form-panel {
    padding:24px 42px 32px;
}

.ld-register-shell .ld-auth-form-inner {
    max-width:540px;
}

.ld-register-shell .account-form {
    gap:14px;
    margin-top:22px;
}

.ld-register-shell .account-form .form-grid {
    gap:15px;
}

.ld-register-shell .ld-auth-visual-copy h2 {
    font-size:58px;
}

.ld-register-shell .ld-auth-form-inner>h1 {
    font-size:31px;
}

.ld-register-shell .account-footer {
    margin-top:18px;
}

.ld-site .notice {
    font-size:12px;
    border:1px solid #30495b;
    color:#bdd3e3;
    background:#132736;
    border-radius:7px;
    line-height:1.7;
    padding:12px 15px;
    margin:16px 0;
}

.ld-site .notice.success {
    color:#91dcb9;
    background:#14392c66;
    border-color:#2b725655;
}

.ld-site .notice.error {
    color:#ffa5b3;
    background:#58253366;
    border-color:#9a4b5e77;
}

/* Pricing and checkout */
.ld-pricing-section {
    padding:65px 0 68px;
    background:radial-gradient(ellipse at 50% 0%,#143b552e,transparent 60%),#07101a;
}

.ld-page-heading {
    text-align:center;
    margin-bottom:44px;
}

.ld-page-heading h1 {
    font-size:51px;
    line-height:1.08;
    font-weight:550;
    letter-spacing:-.04em;
    margin:19px 0 20px;
}

.ld-page-heading h1 span {
    color:#72c9f7;
}

.ld-page-heading p {
    font-size:14px;
    line-height:1.8;
    color:#92abbd;
    margin:0 0 22px;
}

.ld-pricing-info {
    display:inline-block;
    padding:6px 12px;
    border:1px solid #2e4a60;
    background:#10273c77;
    border-radius:5px;
    color:#829fb4;
    font-size:10px;
}

.ld-pricing-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.ld-plan {
    border:1px solid #2d4355;
    border-radius:10px;
    background:linear-gradient(135deg,#101f2c,#0b1722);
    padding:25px 22px;
    min-width:0;
    position:relative;
}

.ld-plan-featured {
    background:linear-gradient(135deg,#133451,#0d1f31);
    border-color:#249de0;
    box-shadow:0 8px 40px #178ac817;
}

.ld-plan-label {
    font-size:12px;
    font-weight:500;
    color:#a7bccb;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.ld-plan-label>span {
    font-size:8px;
    padding:4px 6px;
    background:#0e4b7466;
    color:#5ec6ff;
    border-radius:4px;
    border:1px solid #2c84b766;
    letter-spacing:.03em;
}

.ld-plan-seats {
    display:flex;
    align-items:baseline;
    gap:10px;
    padding:24px 0 10px;
}

.ld-plan-seats strong {
    font-size:54px;
    line-height:1;
    font-weight:500;
    letter-spacing:-.05em;
    color:#f4f8fc;
}

.ld-plan-seats>span {
    font-size:12px;
    color:#8fa8ba;
}

.ld-plan-description {
    font-size:12px;
    color:#87a0b3;
    line-height:1.75;
    min-height:62px;
    margin:6px 0 21px;
}

.ld-plan>.ld-button {
    width:100%;
    min-height:44px;
    justify-content:space-between;
    padding:11px 14px;
    font-size:12px;
}

.ld-plan-divider {
    border-top:1px solid #31485a;
    margin:24px 0 20px;
}

.ld-plan .ld-check-list {
    gap:14px;
    margin-bottom:2px;
}

.ld-plan .ld-check-list li {
    font-size:11px;
    align-items:flex-start;
    gap:8px;
}

.ld-plan .ld-check-list .ld-icon {
    width:14px;
    height:14px;
    margin-top:2px;
}

.ld-pricing-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    border:1px solid #2b4355;
    background:#0d1c29;
    border-radius:9px;
    padding:25px 28px;
    margin-top:24px;
}

.ld-pricing-bottom>div {
    display:flex;
    gap:18px;
    align-items:center;
}

.ld-pricing-bottom>div>.ld-icon {
    width:28px;
    height:28px;
    color:#5bb6e8;
}

.ld-pricing-bottom strong {
    display:block;
    font-size:14px;
    font-weight:550;
    margin-bottom:5px;
}

.ld-pricing-bottom small {
    display:block;
    max-width:640px;
    color:#86a2b7;
    font-size:11px;
    line-height:1.7;
}

.ld-pricing-bottom .ld-text-link {
    white-space:nowrap;
    font-size:11px;
}

.ld-pricing-test-note {
    text-align:center;
    font-size:10px;
    color:#6e889b;
    margin:22px 0 0;
}

.ld-site .account-shell,.ld-site .account-page {
    background:radial-gradient(ellipse at 30% 20%,#153b5935,transparent 60%),#07101a;
    min-height:calc(100vh - 135px);
    padding:50px 32px 60px;
}

.ld-site .account-card {
    background:#0e1d2a;
    border:1px solid #30485c;
    border-radius:10px;
    box-shadow:0 18px 55px #0003;
    padding:32px;
    width:min(560px,100%);
    color:#eef4f8;
}

.ld-site .account-card h1 {
    font-size:30px;
    font-weight:550;
    line-height:1.2;
    letter-spacing:-.035em;
}

.ld-site .account-card h2 {
    font-size:23px;
    font-weight:550;
    line-height:1.2;
    letter-spacing:-.02em;
}

.ld-site .account-card>p {
    font-size:13px;
    color:#8faabe;
    line-height:1.8;
}

.ld-site .account-primary {
    min-height:45px;
    width:100%;
    padding:12px 17px;
}

.ld-site .account-primary.compact {
    width:auto;
    font-size:12px;
    white-space:nowrap;
    min-height:40px;
}

.ld-site .form-grid.two {
    grid-template-columns:1fr 1fr;
}

.ld-site .account-card-wide {
    width:min(820px,100%);
}

.ld-checkout-heading {
    margin-bottom:28px;
}

.ld-checkout-heading h1 {
    font-size:38px;
    font-weight:550;
    margin:12px 0;
}

.ld-checkout-heading>p {
    font-size:13px;
    color:#92aabd;
    margin:0;
}

.ld-site .checkout-grid {
    width:100%;
    grid-template-columns:1.1fr .9fr;
    gap:24px;
}

.ld-site .checkout-grid .account-card {
    width:100%;
    margin:0;
}

.ld-site .checkout-summary-row {
    font-size:12px;
    border-color:#2b4051;
    padding:16px 0;
    align-items:center;
}

.ld-site .checkout-summary-row strong {
    font-size:12px;
    font-weight:550;
    max-width:240px;
    text-align:right;
}

.ld-site .checkout-price-hidden {
    border:1px solid #2a475f;
    background:#142d4266;
    border-radius:7px;
    padding:14px 16px;
    margin-top:22px;
    font-size:12px;
}

.ld-site .checkout-price-hidden span {
    font-size:11px;
}

.ld-order-seats {
    display:flex;
    align-items:center;
    gap:12px;
    margin:28px 0 15px;
}

.ld-order-seats>.ld-icon {
    width:31px;
    height:31px;
    color:#6cb5df;
}

.ld-order-seats strong {
    font-weight:550;
    font-size:42px;
    line-height:1;
    letter-spacing:-.05em;
}

.ld-order-seats span {
    font-size:12px;
    color:#8da6b9;
}

.ld-checkout-test {
    display:flex;
    gap:10px;
    align-items:center;
    font-size:12px;
    border:1px solid #35786277;
    background:#16443355;
    color:#98d5b8;
    padding:13px 14px;
    border-radius:7px;
    margin:25px 0;
}

.ld-checkout-test .ld-icon {
    width:17px;
    height:17px;
}

.ld-site .back-link,.ld-site .account-secondary {
    color:#68b7e6;
    font-size:12px;
    display:inline-block;
    margin-top:17px;
}

.ld-site .account-secondary {
    margin:0;
    text-align:center;
    padding:10px;
    border:1px solid #2e4d66;
    border-radius:6px;
    background:#12273b;
}

/* Customer and admin workspaces */
.ld-workspace {
    display:grid;
    grid-template-columns:235px minmax(0,1fr);
    max-width:1600px;
    margin:0 auto;
    min-height:calc(100vh - 132px);
}

.ld-workspace-sidebar {
    position:sticky;
    top:83px;
    height:calc(100dvh - 83px);
    min-height:550px;
    border-right:1px solid #293c4b;
    background:#0a1520;
    display:flex;
    flex-direction:column;
    padding:29px 18px 20px;
}

.ld-sidebar-heading {
    padding:0 13px 22px;
    margin-bottom:7px;
    border-bottom:1px solid #263c4c;
}

.ld-sidebar-heading .ld-eyebrow {
    font-size:8px;
    color:#6c8fa8;
    letter-spacing:.13em;
}

.ld-sidebar-heading strong {
    display:block;
    margin-top:10px;
    font-size:14px;
    font-weight:550;
    line-height:1.5;
    color:#c5d9e8;
}

.ld-sidebar-nav {
    display:grid;
    gap:6px;
}

.ld-sidebar-nav a {
    display:flex;
    gap:12px;
    align-items:center;
    padding:12px 13px;
    color:#8cabc1;
    border:1px solid transparent;
    border-radius:6px;
    font-size:12px;
}

.ld-sidebar-nav a>.ld-icon {
    width:19px;
    height:19px;
    color:#7699b4;
}

.ld-sidebar-nav a.is-active {
    background:#0d3656;
    color:#87d2ff;
    border-color:#1d5b8280;
}

.ld-sidebar-nav a.is-active .ld-icon {
    color:#65c9ff;
}

.ld-sidebar-nav a:hover {
    background:#12283b;
    color:#c7e5fb;
}

.ld-sidebar-product {
    margin:32px 7px 20px;
    padding:19px;
    border:1px solid #2b4a61;
    border-radius:8px;
    background:linear-gradient(135deg,#102c41,#0b1926);
}

.ld-sidebar-product img {
    width:25px;
    height:28px;
    margin-bottom:12px;
}

.ld-sidebar-product strong {
    font-size:15px;
    line-height:1.4;
    font-weight:500;
    color:#cae0ef;
    display:block;
    letter-spacing:-.03em;
}

.ld-sidebar-product a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#76bdeb;
    font-size:10px;
    margin-top:18px;
    gap:10px;
}

.ld-sidebar-product .ld-icon {
    width:14px;
    height:14px;
}

.ld-sidebar-user {
    margin-top:auto;
    display:flex;
    align-items:center;
    gap:10px;
    border-top:1px solid #2a3e50;
    padding-top:20px;
    padding-inline:7px;
}

.ld-avatar {
    width:34px;
    height:34px;
    border-radius:8px;
    background:#183c56;
    border:1px solid #376986;
    color:#8fd0f6;
    display:grid;
    place-items:center;
    font-size:13px;
    font-weight:550;
    flex-shrink:0;
}

.ld-sidebar-user>div {
    min-width:0;
}

.ld-sidebar-user strong {
    display:block;
    font-size:11px;
    font-weight:550;
    color:#bdd2e2;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ld-sidebar-user small {
    display:block;
    font-size:9px;
    color:#65869e;
    margin-top:2px;
}

.ld-workspace-main {
    background:#080f18;
    min-width:0;
}

.ld-site .portal-shell {
    min-height:calc(100vh - 140px);
    padding:30px 36px 56px;
    background:none;
}

.ld-panel-topbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:30px;
    font-size:10px;
    color:#6c8ca5;
}

.ld-panel-topbar>span>span {
    padding:0 8px;
    color:#47647c;
}

.ld-panel-topbar .ld-text-link {
    font-size:10px;
    color:#6f96b2;
}

.ld-panel-topbar .ld-icon {
    width:13px;
    height:13px;
}

.ld-site .portal-subnav {
    display:none;
}

.ld-site .portal-heading {
    gap:24px;
    align-items:center;
    margin-bottom:26px;
}

.ld-site .portal-heading h1 {
    font-size:30px;
    font-weight:550;
    letter-spacing:-.035em;
    margin:0 0 9px;
    line-height:1.2;
    color:#e7f1f8;
}

.ld-site .portal-heading .account-kicker {
    display:block;
    margin-bottom:8px;
}

.ld-site .portal-heading p {
    font-size:12px;
    line-height:1.7;
    color:#7f9bb1;
    max-width:660px;
}

.ld-site .portal-stats,.ld-site .dashboard-stats {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:22px;
}

.ld-site .portal-stats article,.ld-site .dashboard-stat {
    background:linear-gradient(135deg,#122330,#0d1a27);
    border:1px solid #2b4255;
    border-radius:8px;
    padding:20px 18px;
    min-width:0;
}

.ld-site .portal-stats article:first-child,.ld-site .dashboard-stat:first-child {
    border-color:#26668d;
    background:linear-gradient(130deg,#103550,#102131);
}

.ld-site .portal-stats span,.ld-site .dashboard-stat>span {
    color:#729ab5;
    font-size:8px;
    font-weight:550;
    letter-spacing:.15em;
    display:block;
}

.ld-site .portal-stats strong,.ld-site .dashboard-stat strong {
    display:block;
    color:#e1eff7;
    font-size:21px;
    font-weight:500;
    letter-spacing:-.04em;
    margin:10px 0 5px;
    line-height:1.3;
}

.ld-site .portal-stats small,.ld-site .dashboard-stat small {
    color:#6f93ac;
    font-size:10px;
}

.ld-site .portal-action-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:24px;
}

.ld-site .portal-action-card {
    display:flex;
    gap:12px;
    align-items:center;
    background:#0e1d2b;
    border:1px solid #2c4457;
    border-radius:8px;
    padding:20px 17px;
    min-width:0;
}

.ld-site .portal-action-card:hover {
    background:#142a3e;
    border-color:#4c88b0;
}

.ld-site .portal-action-icon {
    width:35px;
    height:35px;
    min-width:35px;
    border-radius:7px;
    background:#11344f;
    color:#5ac2ff;
    display:grid;
    place-items:center;
    font-size:18px;
}

.ld-site .portal-action-icon .ld-icon {
    width:20px;
    height:20px;
}

.ld-site .portal-action-card strong {
    display:block;
    font-size:12px;
    font-weight:550;
    color:#c9ddea;
    margin-bottom:5px;
}

.ld-site .portal-action-card small {
    display:block;
    font-size:10px;
    color:#7697b0;
    line-height:1.7;
}

.ld-site .portal-action-card b {
    color:#68acd6;
    font-size:15px;
    font-weight:400;
    margin-left:auto;
}

.ld-site .portal-card {
    border:1px solid #2d4455;
    border-radius:9px;
    background:#0e1b28;
    box-shadow:0 4px 18px #0001;
    overflow:hidden;
    padding:0;
}

.ld-site .portal-card-head {
    padding:23px 23px 17px;
    gap:24px;
    align-items:center;
}

.ld-site .portal-card-head h2 {
    font-size:17px;
    font-weight:550;
    letter-spacing:-.025em;
    margin:0 0 7px;
    color:#d2e5f3;
    line-height:1.4;
}

.ld-site .portal-card-head p {
    font-size:11px;
    color:#7194ae;
    line-height:1.7;
    margin:0;
    max-width:640px;
}

.ld-site .portal-table {
    min-width:650px;
}

.ld-site .portal-table th {
    padding:13px 22px;
    color:#7597b0;
    background:#101f2d;
    font-size:8px;
    font-weight:550;
    letter-spacing:.07em;
    border-color:#294254;
    white-space:nowrap;
}

.ld-site .portal-table td {
    padding:17px 22px;
    border-color:#1e3344;
    color:#a7c3d7;
    font-size:11px;
    line-height:1.6;
    vertical-align:middle;
}

.ld-site .portal-table tbody tr:last-child td {
    border-bottom:0;
}

.ld-site .portal-table tbody tr:hover td {
    background:#132b3d55;
}

.ld-site .portal-table td strong {
    font-weight:550;
    font-size:11px;
    color:#c4ddeb;
}

.ld-site .portal-table td:first-child span,.ld-site .table-subtext {
    font-size:10px;
    color:#648da8;
}

.ld-site .status-pill {
    background:#113f3255;
    color:#8bd3b0;
    border:1px solid #2e715d55;
    border-radius:5px;
    padding:3px 7px;
    font-size:9px;
    white-space:nowrap;
}

.ld-site .status-pill.muted {
    background:#213a4f4a;
    color:#7e9fb8;
    border-color:#42617b44;
}

.ld-site .owner-badge {
    padding:4px 8px;
    color:#84bce6;
    background:#133a5880;
    font-size:9px;
    border:1px solid #32698f66;
    border-radius:5px;
    white-space:nowrap;
}

.ld-site .portal-text-link {
    font-size:11px;
    color:#68b9ea;
    white-space:nowrap;
}

.ld-site .secondary-button,.ld-site .danger-button {
    min-height:32px;
    box-shadow:none;
    font-size:10px;
    padding:7px 10px;
    border-radius:5px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1.5;
    font-weight:550;
    white-space:nowrap;
    cursor:pointer;
}

.ld-site .secondary-button {
    background:#14334a88;
    color:#8bbfe3;
    border:1px solid #35668a66;
}

.ld-site .danger-button {
    color:#e594a5;
    background:#50233466;
    border:1px solid #81465680;
}

.ld-site .secondary-button:hover {
    background:#17405e;
    color:#bce5ff;
    border-color:#467ea2;
}

.ld-site .danger-button:hover {
    background:#673042;
    color:#ffbbc8;
    border-color:#ad6074;
}

.ld-site .user-row-actions {
    gap:7px;
}

.ld-site .portal-actions-cell {
    white-space:nowrap;
}

.ld-site .user-row-actions form {
    margin:0;
}

.ld-site .empty-license {
    background:linear-gradient(130deg,#102f48,#0f1d2b);
    border:1px solid #315a76;
    border-radius:10px;
    padding:54px 28px;
}

.ld-site .empty-license h2 {
    font-size:25px;
    font-weight:550;
    line-height:1.3;
    letter-spacing:-.03em;
}

.ld-site .empty-license p {
    font-size:12px;
    color:#8caac0;
    margin:14px 0 24px;
}

.ld-site .license-grid {
    gap:20px;
    grid-template-columns:1fr 1fr;
}

.ld-site .license-form,.ld-site .license-card-body {
    padding:6px 23px 24px;
}

.ld-site .license-form>label {
    font-size:12px;
    color:#a7c6dd;
}

.ld-site .license-form .field-help {
    font-size:10px;
    line-height:1.8;
    color:#6f93ad;
}

.ld-site .seat-stepper {
    gap:10px;
    margin:10px 0 15px;
    display:grid;
    grid-template-columns:42px 1fr 42px;
    align-items:center;
}

.ld-site .seat-stepper button {
    width:42px;
    height:42px;
    background:#122e43;
    border:1px solid #335d7b;
    color:#74bcf0;
    border-radius:5px;
    font-size:20px;
}

.ld-site .seat-stepper input {
    background:#081726;
    color:#b9dcf3;
    border:1px solid #3d6785;
    border-radius:5px;
    padding:10px;
    width:100%;
    height:42px;
    text-align:center;
    font-size:14px;
}

.ld-site .package-switch-grid {
    gap:10px;
}

.ld-site .package-switch {
    padding:13px 15px;
    border-color:#335a76;
    background:#0a1a29;
    border-radius:6px;
}

.ld-site .package-switch strong {
    font-size:12px;
    font-weight:550;
    color:#b9d8ed;
}

.ld-site .package-switch span {
    font-size:9px;
    color:#6c91ac;
    line-height:1.6;
}

.ld-site .package-switch.current {
    background:#133b3455;
    border-color:#35826d88;
}

.ld-site .package-switch:disabled {
    opacity:.75;
}

.ld-site .company-summary>div {
    font-size:12px;
    border-color:#2e485c;
    align-items:center;
}

.ld-site .company-summary strong {
    font-weight:550;
    color:#bfd9ec;
    text-align:right;
}

.ld-site .future-feature {
    font-size:12px;
    background:#14324c55;
    border:1px solid #2e5a7a;
    border-radius:6px;
    color:#82a5c2;
    padding:16px;
}

.ld-site .portal-inline-note {
    font-size:11px;
    color:#7d9db4;
    margin-top:20px;
    background:#102c414a;
    border:1px solid #2a4b6444;
    padding:14px 18px;
    border-radius:6px;
}

.ld-site .portal-inline-note a {
    color:#67b9ee;
}

.ld-site .portal-card-message {
    font-size:12px;
    color:#7496b0;
    padding:14px 23px 24px;
}

.ld-site .portal-form-card {
    max-width:610px;
    width:100%;
    margin:0;
}

.ld-workspace .account-page,.ld-workspace .account-shell {
    min-height:calc(100vh - 145px);
    background:none;
    padding:43px 36px;
}

.ld-site .blocked-badge {
    background:#62243455;
    color:#e49baa;
    border:1px solid #944d5e66;
    font-size:9px;
    border-radius:5px;
}

.ld-site .history-user-link {
    font-size:11px;
    color:#bdddf1;
    font-weight:550;
}

.ld-site .history-filter {
    font-size:10px;
    border-radius:5px;
    background:#14314b66;
    color:#92badd;
    border-color:#2e5e8380;
    padding:6px 10px;
}

.ld-site .history-filter.active {
    background:#136192;
    color:#c6ecff;
    border-color:#2388c2;
}

.ld-site .history-date strong,.ld-site .history-event,.ld-site .history-main-text {
    font-size:11px;
    color:#bbd6ea;
    font-weight:550;
}

.ld-site .history-date span,.ld-site .history-note,.ld-site .history-actor,.ld-site .history-version {
    font-size:10px;
    color:#6f97b4;
}

.ld-site .history-table {
    min-width:840px;
}

.ld-table-search input {
    width:220px;
    background:#081521;
    border:1px solid #34556e;
    border-radius:6px;
    padding:9px 12px;
    font-size:11px!important;
    color:#bed8eb;
    outline:none;
    line-height:1.4;
}

.ld-table-search input:focus {
    border-color:#2b9ddc;
}

.ld-table-search input::placeholder {
    color:#6487a3;
}

.ld-table-search {
    flex-shrink:0;
}

.ld-table-empty {
    padding:18px 22px;
    color:#8dabc0;
    font-size:12px;
    margin:0;
}

.ld-info-page {
    padding:70px 0;
    background:radial-gradient(at 20% 10%,#1b455626,transparent 65%);
}

.ld-info-container {
    max-width:820px;
}

.ld-info-container>h1 {
    font-size:43px;
    font-weight:550;
    margin:17px 0;
}

.ld-info-lead {
    font-size:14px;
    color:#8faaba;
    max-width:620px;
    line-height:1.8;
}

.ld-info-card {
    border:1px solid #2b475c;
    background:#0e1e2b;
    border-radius:10px;
    padding:32px 36px;
    margin-top:33px;
}

.ld-info-card>h2 {
    font-size:21px;
    font-weight:550;
    margin:24px 0 10px;
}

.ld-info-card>h2:first-child {
    margin-top:0;
}

.ld-info-card>p {
    font-size:13px;
    line-height:1.9;
    color:#91b0c6;
}

.ld-info-card .ld-button {
    margin-top:17px;
}

.ld-error-reference {
    display:grid;
    gap:6px;
    font-size:11px;
    background:#0b1723;
    border:1px solid #304b61;
    border-radius:6px;
    padding:16px;
    margin:24px 0;
    color:#749db9;
}

.ld-error-reference code {
    font-size:11px;
    overflow-wrap:anywhere;
    color:#b2d6ef;
}

/* Preserve the existing web drawing behavior, align its frame with the new site. */
.ld-site .shaft-designer {
    margin-top:0;
    min-height:calc(100vh - 83px);
    grid-template-columns:310px minmax(0,1fr);
}

.ld-site .shaft-settings {
    background:#0d1d2c;
    padding:30px 25px;
    border-color:#2d4b61;
}

.ld-site .settings-header h1 {
    font-size:25px;
    font-weight:550;
    letter-spacing:-.03em;
}

.ld-site .settings-header p {
    font-size:12px;
    line-height:1.7;
}

.ld-site .shaft-settings .form-section h2 {
    font-size:14px;
    font-weight:550;
    letter-spacing:-.01em;
}

.ld-site .shaft-settings .field {
    font-size:12px;
}

.ld-site .drawing-area {
    background:#e9eff4;
}

.ld-site .drawing-toolbar {
    background:#f6f9fb;
}

.ld-site .drawing-toolbar h2 {
    color:#1b3a53;
    letter-spacing:-.02em;
    font-size:17px;
}


.ld-site .danger-button.admin-confirm-button {
    width:100%;
    min-height:44px;
    padding:12px 16px;
    font-size:13px;
}

/* Responsive behavior */
@media(min-width:1601px) {
    .ld-workspace {
        border-inline:1px solid #243a4e;
    }
    .ld-workspace-main {
        min-height:calc(100vh - 140px);
    }
}

@media(max-width:1240px) {
    .ld-header-inner {
        gap:22px;
    }
    .ld-nav {
        gap:20px;
    }
    .ld-header-actions {
        gap:15px;
        margin-left:0;
    }
    .ld-brand img {
        width:176px;
    }
    .ld-container {
        width:calc(100% - 72px);
    }
    .ld-proof-grid>div {
        padding:0 20px;
    }
    .ld-proof-grid strong {
        font-size:12px;
    }
    .ld-proof-grid span {
        font-size:10px;
    }
    .ld-detail-panel {
        gap:42px;
    }
    .ld-pricing-grid {
        gap:12px;
    }
    .ld-plan {
        padding:22px 18px;
    }
    .ld-plan-label>span {
        font-size:7px;
        padding:4px;
    }
    .ld-site .portal-shell {
        padding-inline:26px;
    }
    .ld-site .portal-action-grid {
        grid-template-columns:1fr;
    }
    .ld-site .portal-action-card {
        padding:14px 18px;
    }
    .ld-site .portal-action-icon {
        width:33px;
        height:33px;
        min-width:33px;
    }
    .ld-site .portal-action-card small {
        font-size:10px;
    }
    .ld-site .portal-stats strong,.ld-site .dashboard-stat strong {
        font-size:19px;
    }
    .ld-site .portal-table th,.ld-site .portal-table td {
        padding-inline:17px;
    }
    .ld-sidebar-product {
        margin-top:25px;
    }
    .ld-gallery-grid img {
        height:275px;
    }
    .ld-output-grid {
        gap:55px;
    }
    .ld-footer-grid {
        gap:38px;
    }
}

@media(max-width:1060px) {
    .ld-header-inner {
        width:calc(100% - 44px);
        height:74px;
        gap:18px;
    }
    .ld-nav {
        display:none;
        position:absolute;
        left:0;
        right:0;
        top:74px;
        background:#0a1724f7;
        border-bottom:1px solid #3b5a70;
        backdrop-filter:blur(20px);
        padding:24px 32px;
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        margin:0;
    }
    .ld-nav.is-open {
        display:flex;
    }
    .ld-nav>a {
        padding:13px 0;
        width:100%;
        border-bottom:1px solid #253e5080;
        font-size:13px;
    }
    .ld-nav>a.is-current:after {
        display:none;
    }
    .ld-nav-mobile-actions {
        display:flex;
        gap:24px;
        margin-top:20px;
        font-size:12px;
        color:#7fc5ed;
    }
    .ld-header-actions {
        margin-left:auto;
        gap:14px;
    }
    .ld-menu-toggle {
        display:inline-flex;
        width:36px;
        height:36px;
    }
    .ld-brand img {
        width:176px;
    }
    .ld-hero-inner,.ld-hero {
        min-height:630px;
    }
    .ld-hero-copy {
        max-width:510px;
    }
    .ld-hero h1 {
        font-size:84px;
    }
    .ld-hero-lead {
        font-size:19px;
    }
    .ld-hero-caption {
        min-width:245px;
        right:-8px;
        bottom:75px;
        padding:15px;
    }
    .ld-hero-caption strong {
        font-size:13px;
    }
    .ld-proof-grid {
        grid-template-columns:repeat(2,1fr);
        gap:28px 0;
    }
    .ld-proof-grid>div:nth-child(3) {
        padding-left:0;
    }
    .ld-proof-grid>div:nth-child(2) {
        border:0;
    }
    .ld-proof-grid strong {
        font-size:13px;
    }
    .ld-proof-grid span {
        font-size:11px;
    }
    .ld-section {
        padding:70px 0;
    }
    .ld-section-heading {
        gap:36px;
    }
    .ld-section-heading>p {
        max-width:365px;
        font-size:13px;
    }
    .ld-module-grid {
        gap:16px;
    }
    .ld-module-cover {
        height:205px;
    }
    .ld-module-body {
        padding:22px 19px;
    }
    .ld-module-body p {
        min-height:96px;
    }
    .ld-module-body .ld-eyebrow {
        font-size:8px;
        letter-spacing:.1em;
    }
    .ld-detail-header h2 {
        font-size:33px;
    }
    .ld-module-tabs button {
        padding:10px 13px;
        font-size:11px;
    }
    .ld-detail-panel {
        gap:35px;
        grid-template-columns:1fr 1fr;
    }
    .ld-detail-copy h3 {
        font-size:30px;
    }
    .ld-detail-visual {
        height:420px;
    }
    .ld-workflow-grid {
        gap:19px;
    }
    .ld-workflow-grid h3 {
        font-size:13px;
    }
    .ld-workflow-grid p {
        font-size:11px;
    }
    .ld-faq-grid {
        gap:45px;
    }
    .ld-output-copy h2 {
        font-size:39px;
    }
    .ld-output-grid {
        gap:40px;
    }
    .ld-gallery-grid {
        gap:13px;
    }
    .ld-gallery-grid img {
        height:240px;
    }
    .ld-gallery-grid button>span {
        font-size:9px;
        padding:13px 11px;
    }
    .ld-workspace {
        display:block;
    }
    .ld-workspace-sidebar {
        display:none;
    }
    .ld-site .portal-shell {
        padding:27px 36px 50px;
    }
    .ld-site .portal-subnav {
        display:flex;
        flex-wrap:nowrap;
        overflow-x:auto;
        gap:23px;
        margin-bottom:24px;
        border-bottom:1px solid #2b4559;
        scrollbar-width:thin;
        scrollbar-color:#33506c transparent;
    }
    .ld-site .portal-subnav a {
        font-size:11px;
        white-space:nowrap;
        padding-bottom:13px;
        color:#6e96b2;
    }
    .ld-site .portal-subnav a.active {
        color:#71c4fb;
    }
    .ld-panel-topbar {
        margin-bottom:22px;
    }
    .ld-site .portal-action-grid {
        grid-template-columns:repeat(3,1fr);
    }
    .ld-site .portal-action-card {
        padding:17px 15px;
    }
    .ld-site .portal-stats strong {
        font-size:22px;
    }
    .ld-site .license-grid {
        grid-template-columns:1fr 1fr;
    }
    .ld-auth-grid {
        grid-template-columns:.9fr 1.1fr;
    }
    .ld-auth-form-panel {
        padding-inline:35px;
    }
    .ld-auth-visual-copy {
        left:30px;
    }
    .ld-auth-visual-copy h2 {
        font-size:52px;
    }
    .ld-auth-visual-brand {
        left:27px;
    }
    .ld-register-shell .ld-auth-grid {
        grid-template-columns:.75fr 1.25fr;
    }
    .ld-register-shell .ld-auth-form-panel {
        padding-inline:30px;
    }
    .ld-register-shell .ld-auth-visual-copy h2 {
        font-size:47px;
    }
    .ld-pricing-grid {
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }
    .ld-plan {
        padding:26px;
    }
    .ld-plan-description {
        min-height:44px;
    }
    .ld-plan-label>span {
        font-size:9px;
    }
    .ld-plan .ld-check-list li {
        font-size:12px;
    }
    .ld-pricing-bottom {
        align-items:flex-start;
        flex-direction:column;
        gap:20px;
    }
    .ld-footer-grid {
        gap:28px;
        grid-template-columns:1.2fr repeat(3,1fr);
    }
}

@media(max-width:760px) {
    html {
        scroll-padding-top:90px;
    }
    .ld-container {
        width:calc(100% - 40px);
    }
    .ld-header-inner {
        width:calc(100% - 32px);
        height:67px;
        gap:12px;
    }
    .ld-brand img {
        width:148px;
    }
    .ld-header-actions {
        gap:12px;
    }
    .ld-header-actions .ld-button-small {
        display:none;
    }
    .ld-header-login {
        font-size:11px;
    }
    .ld-header-login .ld-icon {
        width:16px;
        height:16px;
    }
    .ld-menu-toggle {
        width:34px;
        height:34px;
    }
    .ld-nav {
        top:67px;
        padding:20px 25px;
    }
    .ld-hero-inner,.ld-hero {
        min-height:653px;
    }
    .ld-hero-inner {
        padding-top:53px;
        padding-bottom:70px;
    }
    .ld-hero-image {
        object-position:61% center;
        opacity:.65;
    }
    .ld-hero-shade {
        background:linear-gradient(90deg,#070e16e8 0%,#070e16bd 50%,#070e1644 100%),linear-gradient(0deg,#070e16 0%,transparent 30%);
    }
    .ld-hero-copy {
        max-width:480px;
    }
    .ld-hero-copy>.ld-eyebrow {
        font-size:8px;
        letter-spacing:.2em;
    }
    .ld-hero h1 {
        font-size:76px;
        margin:22px 0;
        line-height:1.02;
    }
    .ld-hero-lead {
        font-size:19px;
    }
    .ld-hero-description {
        font-size:13px;
        max-width:350px;
    }
    .ld-hero-caption {
        display:none;
    }
    .ld-hero-buttons {
        gap:10px;
    }
    .ld-hero-buttons .ld-button {
        min-height:47px;
        font-size:12px;
        padding:12px 17px;
        gap:10px;
    }
    .ld-hero-platform {
        font-size:9px;
        max-width:330px;
        line-height:1.7;
    }
    .ld-hero-scroll {
        bottom:24px;
        font-size:8px;
    }
    .ld-proof-grid {
        padding:25px 0;
        gap:24px 0;
    }
    .ld-proof-grid>div {
        padding:0 12px;
        gap:12px;
    }
    .ld-proof-grid .ld-icon {
        width:21px;
        height:21px;
    }
    .ld-proof-grid strong {
        font-size:11px;
    }
    .ld-proof-grid span {
        font-size:9px;
        white-space:normal;
    }
    .ld-section {
        padding:58px 0;
    }
    .ld-section-heading {
        display:block;
        margin-bottom:28px;
    }
    .ld-section-heading h2 {
        font-size:37px;
    }
    .ld-section-heading>p {
        margin-top:21px;
        max-width:470px;
        font-size:13px;
    }
    .ld-module-grid {
        grid-template-columns:1fr;
        gap:22px;
    }
    .ld-module-cover {
        height:250px;
    }
    .ld-module-cover>img {
        object-position:center;
    }
    .ld-cover-cad>img {
        object-position:center;
    }
    .ld-cover-cabin>img {
        object-position:center;
    }
    .ld-module-body {
        padding:25px;
    }
    .ld-module-body h3 {
        font-size:28px;
    }
    .ld-module-body .ld-eyebrow {
        font-size:9px;
    }
    .ld-module-body p {
        min-height:0;
        font-size:13px;
        max-width:500px;
        margin-bottom:20px;
    }
    .ld-detail-header {
        display:block;
        margin-bottom:26px;
    }
    .ld-detail-header h2 {
        font-size:33px;
    }
    .ld-module-tabs {
        width:fit-content;
        margin-top:26px;
        max-width:100%;
    }
    .ld-module-tabs button {
        font-size:11px;
        padding:10px 13px;
    }
    .ld-detail-panel {
        grid-template-columns:1fr;
        gap:30px;
    }
    .ld-detail-copy {
        max-width:100%;
    }
    .ld-detail-copy h3 {
        font-size:29px;
    }
    .ld-detail-visual {
        height:385px;
    }
    .ld-workflow-grid {
        grid-template-columns:1fr 1fr;
        gap:25px;
        margin-bottom:33px;
    }
    .ld-workflow-grid li {
        padding-top:12px;
    }
    .ld-step-number {
        margin-bottom:17px;
    }
    .ld-workflow-grid h3 {
        font-size:14px;
    }
    .ld-workflow-grid p {
        font-size:12px;
    }
    .ld-workflow-grid .ld-icon {
        margin-bottom:15px;
    }
    .ld-workflow-grid li:last-child {
        grid-column:1/-1;
    }
    .ld-workflow-grid li:last-child p {
        max-width:350px;
    }
    .ld-preview-bar {
        padding:10px 12px;
        font-size:7px;
    }
    .ld-preview-bar strong {
        font-size:9px;
    }
    .ld-preview-caption {
        padding:12px;
        font-size:9px;
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .ld-preview-caption .ld-text-link {
        font-size:10px;
    }
    .ld-output-grid {
        grid-template-columns:1fr;
        gap:32px;
    }
    .ld-output-copy h2 {
        font-size:37px;
    }
    .ld-output-copy>p {
        font-size:13px;
    }
    .ld-output-visual {
        width:min(450px,100%);
        margin-inline:auto!important;
    }
    .ld-gallery-section .ld-section-heading>.ld-button {
        margin-top:23px;
        font-size:11px;
    }
    .ld-gallery-grid {
        grid-template-columns:1fr 1fr;
        gap:14px;
    }
    .ld-gallery-grid img {
        height:240px;
    }
    .ld-gallery-grid button>span {
        font-size:10px;
    }
    .ld-faq-grid {
        grid-template-columns:1fr;
        gap:28px;
    }
    .ld-faq-grid h2 {
        font-size:35px;
    }
    .ld-faq-grid>div>p {
        max-width:400px;
        margin-top:18px;
    }
    .ld-faq-list summary {
        font-size:13px;
        padding:20px 0;
    }
    .ld-faq-list p {
        font-size:12px;
        margin-right:10px;
    }
    .ld-contact {
        padding:37px 0;
    }
    .ld-contact-inner {
        flex-direction:column;
        align-items:flex-start;
        gap:25px;
    }
    .ld-contact h2 {
        font-size:30px;
    }
    .ld-contact p {
        font-size:12px;
    }
    .ld-contact-actions {
        align-items:flex-start;
        gap:16px;
    }
    .ld-footer {
        padding-top:35px;
    }
    .ld-footer-grid {
        grid-template-columns:1fr 1fr;
        gap:20px 30px;
        padding-bottom:24px;
    }
    .ld-footer-grid>div:first-child {
        grid-column:1/-1;
    }
    .ld-footer-brand p {
        font-size:14px;
    }
    .ld-footer-brand img {
        width:175px;
    }
    .ld-footer-grid>div>a {
        font-size:11px;
    }
    .ld-footer-grid h3 {
        margin-top:12px;
    }
    .ld-footer-bottom {
        flex-wrap:wrap;
        font-size:9px;
        gap:12px;
        padding:18px 0;
    }
    .ld-footer-bottom>span:last-child {
        display:none;
    }
    .ld-footer-compact {
        padding:0;
    }
    .ld-auth-shell {
        padding:26px 20px;
        min-height:calc(100vh - 125px);
    }
    .ld-auth-grid,.ld-register-shell .ld-auth-grid {
        display:block;
        width:min(580px,100%);
        min-height:0;
    }
    .ld-auth-visual {
        display:none;
    }
    .ld-auth-form-panel,.ld-register-shell .ld-auth-form-panel {
        padding:26px 28px 30px;
        min-height:540px;
    }
    .ld-auth-form-inner {
        max-width:100%;
    }
    .ld-auth-form-inner>h1,.ld-register-shell .ld-auth-form-inner>h1 {
        font-size:29px;
    }
    .ld-auth-back {
        margin-bottom:36px;
    }
    .ld-auth-form-inner>p {
        font-size:12px;
    }
    .ld-auth-safe {
        font-size:9px;
    }
    .ld-register-shell .ld-auth-form-panel {
        min-height:0;
    }
    .ld-register-shell .form-grid.two {
        gap:14px;
    }
    .ld-register-shell .account-form {
        margin-top:25px;
    }
    .ld-site .account-shell,.ld-site .account-page {
        padding:32px 20px;
        min-height:calc(100vh - 123px);
    }
    .ld-site .account-card {
        padding:27px 24px;
    }
    .ld-site .account-card h1 {
        font-size:27px;
    }
    .ld-site .account-card h2 {
        font-size:23px;
    }
    .ld-site .account-form {
        gap:17px;
    }
    .ld-pricing-section {
        padding:46px 0;
    }
    .ld-page-heading h1 {
        font-size:39px;
        margin:18px 0;
    }
    .ld-page-heading p {
        font-size:12px;
    }
    .ld-pricing-grid {
        gap:15px;
    }
    .ld-plan {
        padding:23px 19px;
    }
    .ld-plan-label {
        font-size:12px;
        flex-wrap:wrap;
        gap:8px;
    }
    .ld-plan-label>span {
        font-size:7px;
    }
    .ld-plan-seats strong {
        font-size:44px;
    }
    .ld-plan-description {
        font-size:11px;
        min-height:59px;
    }
    .ld-plan>.ld-button {
        font-size:11px;
        padding:11px 12px;
        gap:8px;
    }
    .ld-plan .ld-check-list li {
        font-size:10px;
        gap:7px;
    }
    .ld-plan .ld-check-list .ld-icon {
        width:13px;
        height:13px;
    }
    .ld-plan-seats>span {
        font-size:11px;
    }
    .ld-pricing-bottom {
        padding:21px;
    }
    .ld-pricing-bottom>div {
        gap:13px;
        align-items:flex-start;
    }
    .ld-pricing-bottom strong {
        font-size:13px;
    }
    .ld-pricing-bottom small {
        font-size:10px;
    }
    .ld-site .checkout-shell {
        padding-inline:0;
    }
    .ld-site .checkout-grid {
        grid-template-columns:1fr;
        gap:20px;
    }
    .ld-checkout-heading h1 {
        font-size:31px;
    }
    .ld-checkout-heading>p {
        font-size:12px;
    }
    .ld-site .checkout-summary-row {
        gap:15px;
    }
    .ld-site .checkout-summary-row strong {
        max-width:180px;
        font-size:11px;
    }
    .ld-site .portal-shell,.ld-workspace .account-page,.ld-workspace .account-shell {
        padding:24px 20px 40px;
    }
    .ld-panel-topbar {
        font-size:9px;
        margin-bottom:21px;
    }
    .ld-site .portal-subnav {
        gap:21px;
        margin-bottom:25px;
    }
    .ld-site .portal-heading {
        gap:17px;
        align-items:flex-start;
        flex-direction:column;
    }
    .ld-site .portal-heading h1 {
        font-size:27px;
    }
    .ld-site .portal-heading p {
        font-size:11px;
    }
    .ld-site .portal-stats,.ld-site .dashboard-stats {
        grid-template-columns:1fr 1fr;
        gap:12px;
    }
    .ld-site .portal-stats article,.ld-site .dashboard-stat {
        padding:18px 16px;
    }
    .ld-site .portal-stats strong,.ld-site .dashboard-stat strong {
        font-size:20px;
    }
    .ld-site .portal-action-grid {
        grid-template-columns:1fr;
        gap:12px;
    }
    .ld-site .portal-action-card {
        padding:17px;
    }
    .ld-site .portal-action-card strong {
        font-size:12px;
    }
    .ld-site .portal-card-head {
        padding:20px 18px 15px;
        align-items:flex-start;
        flex-direction:column;
        gap:15px;
    }
    .ld-site .portal-card-head h2 {
        font-size:16px;
    }
    .ld-site .portal-card-head p {
        font-size:10px;
    }
    .ld-site .portal-table th,.ld-site .portal-table td {
        padding-inline:17px;
    }
    .ld-site .license-grid {
        grid-template-columns:1fr;
        gap:20px;
    }
    .ld-site .license-form,.ld-site .license-card-body {
        padding-inline:18px;
    }
    .ld-site .user-row-actions {
        align-items:flex-start;
        flex-direction:row;
        flex-wrap:wrap;
    }
    .ld-site .portal-form-card {
        padding:27px 23px;
    }
    .ld-site .portal-form-card h1 {
        font-size:26px;
    }
    .ld-site .portal-table-wrap {
        scrollbar-width:thin;
        scrollbar-color:#3a6683 #122330;
    }
    .ld-site .history-card-head {
        gap:18px;
    }
    .ld-site .history-filter-bar {
        gap:7px;
    }
    .ld-table-search {
        width:100%;
    }
    .ld-table-search input {
        width:100%;
    }
    .ld-info-page {
        padding:44px 0;
    }
    .ld-info-container>h1 {
        font-size:33px;
        line-height:1.15;
    }
    .ld-info-lead {
        font-size:12px;
    }
    .ld-info-card {
        padding:26px 24px;
    }
    .ld-info-card>h2 {
        font-size:20px;
    }
    .ld-info-card>p {
        font-size:12px;
    }
    .ld-site .shaft-designer {
        grid-template-columns:1fr;
        min-height:0;
    }
    .ld-site .shaft-settings {
        padding:27px 24px;
    }
    .ld-gallery-dialog {
        width:calc(100% - 20px);
        max-height:calc(100dvh - 20px);
        border-radius:9px;
    }
    .ld-gallery-dialog-head {
        padding:14px 16px;
    }
    .ld-gallery-dialog-head h2 {
        font-size:13px;
        line-height:1.4;
    }
    .ld-gallery-dialog-head .ld-icon-button {
        width:33px;
        height:33px;
    }
    .ld-gallery-dialog-body {
        height:calc(100dvh - 155px);
        padding:12px 8px;
        gap:6px;
        position:relative;
    }
    .ld-gallery-dialog-body .ld-icon-button {
        width:30px;
        height:35px;
        padding:5px;
        background:#123047;
    }
    .ld-gallery-dialog-body>img {
        max-width:calc(100% - 72px);
        height:100%;
        min-width:0;
    }
    .ld-gallery-dialog-hint {
        font-size:9px;
        margin-bottom:12px;
    }
    .ld-site .form-grid.two {
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:420px) {
    .ld-header-inner {
        gap:9px;
        width:calc(100% - 28px);
    }
    .ld-brand img {
        width:135px;
    }
    .ld-header-actions {
        gap:9px;
    }
    .ld-header-login span {
        max-width:78px;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .ld-hero h1 {
        font-size:66px;
    }
    .ld-hero-lead {
        font-size:17px;
    }
    .ld-hero-buttons {
        align-items:flex-start;
    }
    .ld-hero-buttons .ld-button {
        font-size:11px;
        gap:8px;
        padding:12px 14px;
    }
    .ld-hero-platform {
        font-size:8px;
    }
    .ld-proof-grid {
        column-gap:7px;
    }
    .ld-proof-grid>div {
        gap:10px;
        padding-right:6px;
        padding-left:12px;
    }
    .ld-proof-grid strong {
        font-size:10px;
    }
    .ld-proof-grid span {
        font-size:8px;
    }
    .ld-proof-grid .ld-icon {
        width:18px;
        height:18px;
    }
    .ld-section-heading h2 {
        font-size:33px;
    }
    .ld-detail-header h2 {
        font-size:29px;
    }
    .ld-module-tabs button {
        font-size:10px;
        padding:10px 11px;
    }
    .ld-gallery-grid img {
        height:205px;
    }
    .ld-gallery-grid button>span {
        font-size:9px;
        padding:11px 10px;
    }
    .ld-gallery-grid .ld-icon {
        width:12px;
        height:12px;
    }
    .ld-auth-form-panel,.ld-register-shell .ld-auth-form-panel {
        padding-inline:22px;
    }
    .ld-auth-form-inner>h1 {
        font-size:26px;
    }
    .ld-site .login-options {
        gap:10px;
        align-items:center;
        flex-direction:row;
    }
    .ld-site .login-hint {
        font-size:8px;
    }
    .ld-register-shell .form-grid.two {
        grid-template-columns:1fr;
    }
    .ld-register-shell .form-grid .full {
        grid-column:auto;
    }
    .ld-pricing-grid {
        grid-template-columns:1fr;
        gap:18px;
    }
    .ld-plan {
        padding:25px;
    }
    .ld-plan-description {
        min-height:0;
        font-size:12px;
    }
    .ld-plan .ld-check-list li {
        font-size:12px;
    }
    .ld-plan-label {
        font-size:13px;
    }
    .ld-plan-label>span {
        font-size:8px;
    }
    .ld-site .form-grid.two {
        grid-template-columns:1fr;
    }
    .ld-site .portal-stats article {
        padding:16px 13px;
    }
    .ld-site .portal-stats strong {
        font-size:18px;
    }
    .ld-site .portal-stats small {
        font-size:9px;
    }
    .ld-footer-bottom {
        font-size:8px;
    }
    .ld-site .account-card h1 {
        font-size:24px;
    }
    .ld-site .package-switch-grid {
        grid-template-columns:1fr 1fr;
    }
    .ld-site .package-switch {
        padding:13px;
    }
    .ld-workspace .account-page,.ld-workspace .account-shell {
        padding-inline:16px;
    }
    .ld-site .checkout-summary-row strong {
        max-width:165px;
    }
    .ld-contact h2 {
        font-size:28px;
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    .ld-site *, .ld-site *:before, .ld-site *:after {
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important;
    }
}

/* V3: crisp native desktop-home showcase and stable image presentation. */
.ld-module-card {
    transition:border-color .18s;
}
.ld-module-card:hover,
.ld-module-card:hover .ld-module-cover>img,
.ld-gallery-grid>button:hover {
    transform:none;
}
.ld-module-cover>img {
    transition:none;
    image-rendering:auto;
}
.ld-gallery-grid>button {
    transition:border-color .2s;
}
.ld-gallery-grid img {
    height:auto;
    aspect-ratio:4/5;
    image-rendering:auto;
}
.ld-brand img {
    width:205px;
    height:62px;
    object-fit:contain;
}
.ld-footer-brand img {
    width:220px;
    height:74px;
    object-fit:contain;
    object-position:left center;
}
.ld-auth-visual-brand img {
    width:250px;
    height:82px;
    object-fit:contain;
}
.ld-sidebar-product>img {
    object-fit:contain;
}
.ld-desktop-showcase {
    display:grid;
    grid-template-columns:145px minmax(0,1fr)230px;
    gap:15px;
    padding:14px;
    background:#050d15;
    color:#dde7ee;
    text-align:left;
}
.ld-app-sidebar {
    display:flex;
    flex-direction:column;
    min-width:0;
    background:#081521;
    padding:22px 10px 14px;
    border-right:1px solid #1d3244;
}
.ld-app-logo {
    display:block;
    width:100%;
    height:154px;
    object-fit:contain;
    margin-bottom:20px;
}
.ld-app-menu {
    display:grid;
    gap:4px;
    border-top:1px solid #243c50;
    padding-top:12px;
}
.ld-app-menu>span {
    display:flex;
    gap:10px;
    align-items:center;
    font-size:12px;
    color:#a9c1d2;
    padding:12px 10px;
    white-space:nowrap;
    border-left:2px solid transparent;
}
.ld-app-menu .ld-icon {
    width:18px;
    height:18px;
    color:#79b2d5;
}
.ld-app-menu>span.is-active {
    background:#0e2d43;
    color:#edf6fb;
    border-left-color:#29b6f5;
}
.ld-app-language {
    display:flex;
    gap:7px;
    align-items:center;
    color:#a0b9ca;
    font-size:10px;
    padding:8px;
    border:1px solid #2a465b;
    border-radius:5px;
    margin-top:auto;
}
.ld-app-language .ld-icon {
    width:14px;
    height:14px;
}
.ld-app-language>span {
    margin-left:auto;
}
.ld-app-main {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:14px;
}
.ld-app-hero {
    height:306px;
    position:relative;
    overflow:hidden;
    background:#07111a;
}
.ld-app-hero>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:70% center;
}
.ld-app-hero:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#040d15fa,#040d15c9 37%,#040d1500 78%);
}
.ld-app-hero-copy {
    position:relative;
    z-index:1;
    padding:26px 22px;
}
.ld-app-hero-copy>span {
    color:#b2cada;
    font-size:8px;
    letter-spacing:.24em;
}
.ld-app-hero-copy h3 {
    color:#eff5f9;
    font-size:42px;
    font-weight:550;
    letter-spacing:-.035em;
    line-height:1.12;
    margin:22px 0 13px;
}
.ld-app-hero-copy i,
.ld-app-module i,
.ld-app-promo i {
    display:block;
    width:34px;
    height:2px;
    background:#16b3f4;
}
.ld-app-hero-copy p {
    color:#b6c5d0;
    font-size:10px;
    line-height:1.7;
    margin:15px 0 0;
}
.ld-app-modules {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:11px;
}
.ld-app-module {
    position:relative;
    min-height:244px;
    overflow:hidden;
    border:1px solid #355167;
    border-radius:9px;
    background:#0a1827;
}
.ld-app-module>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.ld-app-module:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,#05111bed,#05111b6e 45%,#05111b05 75%);
}
.ld-app-module>div {
    position:relative;
    z-index:1;
    padding:16px 14px;
}
.ld-app-module h4 {
    font-size:18px;
    line-height:1.2;
    font-weight:600;
    margin:0 0 8px;
    color:#f6f9fc;
}
.ld-app-module p {
    margin:11px 0 0;
    color:#cad8e2;
    font-size:9px;
    line-height:1.6;
}
.ld-app-activity {
    display:flex;
    flex-direction:column;
    gap:12px;
    min-width:0;
    padding-top:6px;
}
.ld-app-action {
    display:flex;
    gap:12px;
    align-items:center;
    border:1px solid #35536a;
    border-radius:12px;
    padding:16px 12px;
    background:#11202d;
}
.ld-app-action-primary {
    background:#07396a;
    border-color:#149ded;
}
.ld-app-action>span {
    display:grid;
    place-items:center;
    width:39px;
    height:39px;
    border:1px solid #637f92;
    border-radius:50%;
    color:#c4e8fa;
    flex-shrink:0;
}
.ld-app-action-primary>span {
    border-color:#39a9ed;
}
.ld-app-action>span .ld-icon {
    width:24px;
    height:24px;
}
.ld-app-action>div {
    min-width:0;
}
.ld-app-action strong {
    display:block;
    font-size:12px;
    line-height:1.3;
    color:#e7f3fc;
    font-weight:550;
}
.ld-app-action small {
    display:block;
    font-size:9px;
    margin-top:5px;
    line-height:1.5;
    color:#a2bacd;
}
.ld-app-action>.ld-icon {
    width:13px;
    height:13px;
    margin-left:auto;
    color:#e1eff9;
}
.ld-app-recent {
    border-top:1px solid #233b4f;
    padding-top:15px;
    margin-top:3px;
}
.ld-app-recent-title {
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:12px;
}
.ld-app-recent-title>.ld-icon {
    width:13px;
    height:13px;
    color:#a4bdcf;
}
.ld-app-recent-title strong {
    font-size:10px;
    color:#dae7f1;
    font-weight:550;
}
.ld-app-recent-title>span {
    margin-left:auto;
    color:#9ab3c4;
    font-size:8px;
}
.ld-app-recent-row {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}
.ld-app-recent-row>img {
    width:44px;
    height:50px;
    object-fit:cover;
    border-radius:3px;
    flex-shrink:0;
}
.ld-app-recent-row>div {
    min-width:0;
}
.ld-app-recent-row strong,
.ld-app-recent-row small,
.ld-app-recent-row span {
    display:block;
    font-size:9px;
    line-height:1.5;
    font-weight:400;
}
.ld-app-recent-row strong {
    color:#d4e4ef;
    margin-bottom:2px;
}
.ld-app-recent-row small {
    color:#99b2c6;
    font-size:8px;
}
.ld-app-recent-row span {
    color:#68879f;
    font-size:8px;
}
.ld-app-promo {
    position:relative;
    border:1px solid #355167;
    border-radius:10px;
    overflow:hidden;
    min-height:137px;
    margin-top:auto;
}
.ld-app-promo>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:right center;
}
.ld-app-promo:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#05111bee,#05111b00 90%);
}
.ld-app-promo>span {
    position:absolute;
    left:14px;
    bottom:13px;
    z-index:1;
    font-size:9px;
    line-height:1.6;
    color:#deebf5;
}
.ld-app-promo i {
    margin-top:9px;
    width:29px;
}
@media(max-width:1000px) {
    .ld-desktop-showcase {
        grid-template-columns:122px minmax(0,1fr);
    }
    .ld-app-activity {
        display:none;
    }
    .ld-app-logo {
        height:130px;
    }
}
@media(max-width:650px) {
    .ld-brand img {
        width:155px;
        height:51px;
    }
    .ld-desktop-showcase {
        grid-template-columns:1fr;
        padding:10px;
    }
    .ld-app-sidebar {
        display:none;
    }
    .ld-app-hero {
        height:290px;
    }
    .ld-app-hero-copy {
        padding:25px 18px;
    }
    .ld-app-hero-copy h3 {
        font-size:43px;
    }
    .ld-app-modules {
        grid-template-columns:1fr;
        gap:10px;
    }
    .ld-app-module {
        min-height:165px;
    }
    .ld-app-module h4 {
        font-size:21px;
    }
    .ld-app-module p {
        font-size:11px;
    }
    .ld-app-module:after {
        background:linear-gradient(90deg,#05111bf2,#05111b66 50%,#05111b00);
    }
}
@media(max-width:360px) {
    .ld-brand img {
        width:130px;
        height:46px;
    }
}

/* v4: the supplied logo and original desktop artwork are used without pixel edits. */
.ld-header {
    background:#0a151f;
    backdrop-filter:none;
}
.ld-header-inner {
    height:72px;
}
.ld-brand img,
.ld-footer-brand img,
.ld-auth-visual-brand img,
.ld-sidebar-product>img,
.ld-app-logo {
    height:auto;
    aspect-ratio:1020/825;
    object-fit:contain;
    filter:none;
    opacity:1;
    mix-blend-mode:normal;
    transform:none;
    box-shadow:none;
}
.ld-brand img {
    width:108px;
}
.ld-footer {
    background:#0a151f;
}
.ld-footer-brand img {
    width:174px;
}
.ld-sidebar-product,
.ld-app-sidebar {
    background:#0a151f;
}
.ld-sidebar-product>img {
    display:block;
    width:120px;
    max-width:100%;
}
.ld-app-logo {
    width:100%;
}
.ld-app-hero>img {
    object-position:58% center;
    filter:none;
    opacity:1;
}
.ld-app-hero:after {
    background:linear-gradient(90deg,#03090f9b,#03090f00);
}
.ld-app-module {
    min-height:0;
    aspect-ratio:971/1619;
}
.ld-app-module>img {
    filter:none;
    opacity:1;
    transform:none;
}
.ld-app-module:after {
    background:linear-gradient(90deg,#03090f6e,#03090f00),linear-gradient(180deg,#03090f6e,#03090f00 48%);
}
@media(max-width:1060px) {
    .ld-nav {
        top:72px;
    }
}
@media(max-width:760px) {
    .ld-header-inner {
        height:64px;
    }
    .ld-nav {
        top:64px;
    }
    .ld-brand img {
        width:91px;
    }
}

/* v5: horizontal header uses two display windows into the unchanged official PNG. */
.ld-header .ld-brand {
    display:flex;
    align-items:center;
    gap:12px;
}
.ld-brand-mark,
.ld-brand-wordmark {
    display:block;
    position:relative;
    overflow:hidden;
    flex:none;
    background:#0a151f;
}
.ld-brand-mark {
    width:44px;
    height:54px;
}
.ld-brand-wordmark {
    width:144px;
    height:18px;
}
.ld-header .ld-brand-mark>img,
.ld-header .ld-brand-wordmark>img {
    position:absolute;
    display:block;
    height:auto;
    max-width:none;
    object-fit:contain;
    filter:none;
    opacity:1;
    transform:none;
    pointer-events:none;
}
.ld-header .ld-brand-mark>img {
    width:84px;
    left:-23px;
    top:-2px;
}
.ld-header .ld-brand-wordmark>img {
    width:162px;
    left:-9px;
    top:-113px;
}
@media(max-width:760px) {
    .ld-header .ld-brand {
        gap:10px;
    }
    .ld-brand-mark {
        width:35px;
        height:44px;
    }
    .ld-brand-wordmark {
        width:120px;
        height:16px;
    }
    .ld-header .ld-brand-mark>img {
        width:67px;
        left:-18px;
        top:-1px;
    }
    .ld-header .ld-brand-wordmark>img {
        width:133px;
        left:-7px;
        top:-93px;
    }
}
@media(max-width:360px) {
    .ld-header-login span {
        position:absolute;
        width:1px;
        height:1px;
        margin:-1px;
        padding:0;
        overflow:hidden;
        clip-path:inset(50%);
        white-space:nowrap;
        border:0;
    }
}
