/* ===========================================================================
   Theme 1 — Obsidian 3D  (default)
   ---------------------------------------------------------------------------
   Dramatic matte black with off-white typography, a split-screen portrait
   hero, graphite panels, fine silver rules and genuinely raised 3D controls.

   Only the semantic tokens are redefined here; every component in
   site-base.css picks the new values up automatically.
   =========================================================================== */

:root,
[data-theme="obsidian-3d"] {
    --color-background:       #070707;
    --color-background-alt:   #0D0D0D;
    --color-surface:          #131313;
    --color-surface-elevated: #1C1C1C;
    --color-text:             #FAFAF8;
    --color-text-muted:       #B8B8B5;
    --color-border:           #373737;
    --color-border-strong:    #626262;

    --color-action:           #F4F4F0;
    --color-action-text:      #090909;
    --color-action-edge:      #BDBDB8;
    --color-action-highlight: #FFFFFF;

    --color-secondary-bg:     #171717;
    --color-secondary-text:   #F7F7F4;
    --color-secondary-border: #626262;

    /* Dual ring: white inner, mid-grey outer — visible on both the black page
       and the near-white primary button. */
    --color-focus:            #FFFFFF;
    --color-focus-outer:      #555555;
    --color-shadow:           #000000;
    --shadow-alpha:           0.38;

    --line-height: 1.68;
    --border-radius: 2px;
    --tracking-wide: 0.14em;
}

/* Notices keep their light functional backgrounds; force readable text on
   them rather than inheriting the page's off-white. */
[data-theme="obsidian-3d"] .notice { color: #131313; }
[data-theme="obsidian-3d"] .notice__title { color: #0A0A0A; }

/* ------------------------------------------------------------- structure */

[data-theme="obsidian-3d"] body,
body[data-theme="obsidian-3d"] {
    background:
        radial-gradient(120% 80% at 50% -10%, #131313 0%, transparent 62%),
        var(--color-background);
    background-attachment: fixed;
}

[data-theme="obsidian-3d"] .site-header {
    background: rgba(7, 7, 7, 0.92);
    border-bottom: 1px solid var(--color-border);
    backdrop-filter: saturate(140%) blur(10px);
}

@supports not (backdrop-filter: blur(1px)) {
    [data-theme="obsidian-3d"] .site-header { background: #070707; }
}

[data-theme="obsidian-3d"] .brand__mark {
    border-color: #4A4A4A;
    background: linear-gradient(180deg, #1C1C1C, #0D0D0D);
    box-shadow: inset 0 1px 0 #3A3A3A, 0 2px 0 #000000;
}

[data-theme="obsidian-3d"] .site-nav__link { letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.78rem; }

/* ------------------------------------------------------------------ hero */

/* The signature split: type on the left, a full-bleed portrait on the right,
   separated by a hairline silver rule. */
[data-theme="obsidian-3d"] .section--hero {
    padding-block: clamp(3.5rem, 9vw, 7.5rem);
    border-bottom: 1px solid var(--color-border);
    position: relative;
    overflow: hidden;
}

[data-theme="obsidian-3d"] .section--hero::before {
    content: "";
    position: absolute;
    inset-block: 0;
    left: 50%;
    width: 1px;
    background: linear-gradient(180deg, transparent, #3F3F3F 22%, #3F3F3F 78%, transparent);
    display: none;
}

@media (min-width: 1000px) {
    [data-theme="obsidian-3d"] .section--hero::before { display: block; }
    [data-theme="obsidian-3d"] .hero__inner--split { grid-template-columns: 1fr 1fr; gap: clamp(3rem, 6vw, 5.5rem); }
}

[data-theme="obsidian-3d"] .hero__title {
    font-weight: 500;
    letter-spacing: -0.028em;
    line-height: 1.02;
}

[data-theme="obsidian-3d"] .hero__eyebrow {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    border: 1px solid var(--color-border);
    border-radius: 100px;
    letter-spacing: 0.2em;
    font-size: 0.68rem;
    color: var(--color-text-muted);
}

[data-theme="obsidian-3d"] .hero__portrait { position: relative; }

[data-theme="obsidian-3d"] .hero__image {
    filter: grayscale(1) contrast(1.06);
    border: 1px solid var(--color-border);
    box-shadow: 0 32px 64px rgba(0, 0, 0, 0.6);
}

[data-theme="obsidian-3d"] .portrait-placeholder {
    background: linear-gradient(160deg, #161616, #0A0A0A);
    border-color: #333333;
    box-shadow: inset 0 1px 0 #2A2A2A, 0 24px 48px rgba(0, 0, 0, 0.5);
}

/* --------------------------------------------------------------- panels */

[data-theme="obsidian-3d"] .section--credentials,
[data-theme="obsidian-3d"] .section--contact-preview {
    background: var(--color-background-alt);
    border-block: 1px solid var(--color-border);
    padding-block: var(--section-spacing);
}
[data-theme="obsidian-3d"] .section + .section--credentials,
[data-theme="obsidian-3d"] .section + .section--contact-preview { padding-top: var(--section-spacing); }

[data-theme="obsidian-3d"] .page-header {
    background: linear-gradient(180deg, #0F0F0F, #070707);
    border-bottom: 1px solid var(--color-border);
}

/* ---------------------------------------------------------------- cards */

[data-theme="obsidian-3d"] .card {
    background: linear-gradient(180deg, #161616, #101010);
    border-color: #2C2C2C;
    box-shadow: inset 0 1px 0 #262626;
}

[data-theme="obsidian-3d"] .card:hover {
    border-color: #4E4E4E;
    box-shadow: inset 0 1px 0 #303030, 0 18px 36px rgba(0, 0, 0, 0.55);
}

[data-theme="obsidian-3d"] .card__image { filter: grayscale(1) contrast(1.04); }

[data-theme="obsidian-3d"] .card__eyebrow { color: #8F8F8C; }

/* --------------------------------------------------------------- detail */

[data-theme="obsidian-3d"] .detail__aside,
[data-theme="obsidian-3d"] .enquiry,
[data-theme="obsidian-3d"] .form__group--consent,
[data-theme="obsidian-3d"] .site-footer__disclaimer {
    background: var(--color-surface);
    border-color: #2C2C2C;
}

[data-theme="obsidian-3d"] .form__input {
    background: #101010;
    border-color: #454545;
    color: var(--color-text);
}
[data-theme="obsidian-3d"] .form__input:hover { border-color: #6E6E6E; }
[data-theme="obsidian-3d"] .form__input::placeholder { color: #7C7C79; }

[data-theme="obsidian-3d"] .filters__field input[type="search"] { background: #101010; border-color: #454545; }

/* ------------------------------------------------------------- footer */

[data-theme="obsidian-3d"] .site-footer {
    background: #050505;
    border-top: 1px solid var(--color-border);
}

[data-theme="obsidian-3d"] .disclaimer__dialog {
    background: linear-gradient(180deg, #171717, #0E0E0E);
    border-color: #3F3F3F;
    box-shadow: 0 40px 90px rgba(0, 0, 0, 0.75);
}

[data-theme="obsidian-3d"] .empty-state { border-color: #333333; background: #0C0C0C; }

/* --------------------------------------------------- 3D button treatment */

/* The primary control is a near-white slab on black: a bright top highlight,
   a solid silver side face and a deep ambient shadow. */
[data-theme="obsidian-3d"] .btn--primary {
    background: linear-gradient(180deg, #FFFFFF 0%, #F4F4F0 42%, #E8E8E2 100%);
    text-shadow: none;
}

[data-theme="obsidian-3d"] .btn--secondary {
    background: linear-gradient(180deg, #1D1D1D, #141414);
    box-shadow:
        inset 0 1px 0 #2E2E2E,
        0 calc(var(--btn-depth) - 2px) 0 #000000,
        0 calc(var(--btn-depth) * 1.5) calc(var(--btn-depth) * 3) rgba(0, 0, 0, 0.45);
}

[data-theme="obsidian-3d"] .btn--secondary:hover { border-color: #8A8A8A; }

[data-theme="obsidian-3d"] .chip.is-active { color: #090909; }

[data-theme="obsidian-3d"] .pagination__link { border-color: #333333; }
[data-theme="obsidian-3d"] .pagination__link.is-current { color: #090909; }

/* ------------------------------------------------------------ hairlines */

[data-theme="obsidian-3d"] .section__note,
[data-theme="obsidian-3d"] .article-nav,
[data-theme="obsidian-3d"] .credentials__heading {
    border-color: #2B2B2B;
}

[data-theme="obsidian-3d"] .timeline__item::before { background: #070707; border-color: #E4E4E0; }

/* ------------------------------------------------- header CTA placement */

[data-theme="obsidian-3d"] .site-header__inner { gap: clamp(1rem, 3vw, 2.5rem); }

[data-theme="obsidian-3d"] .site-nav { margin-left: auto; }

[data-theme="obsidian-3d"] .site-nav__aside { display: none; }

[data-theme="obsidian-3d"] .site-header__cta { display: none; }

@media (min-width: 861px) {
    [data-theme="obsidian-3d"] .site-header__cta { display: block; }
    [data-theme="obsidian-3d"] .site-nav { margin-left: 0; margin-inline-start: auto; }
    [data-theme="obsidian-3d"] .site-header__inner { justify-content: space-between; }
}

@media (max-width: 860px) {
    [data-theme="obsidian-3d"] .site-nav__aside {
        display: block;
        margin-top: var(--space-xl);
        padding-top: var(--space-lg);
        border-top: 1px solid var(--color-border);
    }
    [data-theme="obsidian-3d"] .site-nav__aside .btn { width: 100%; }
}

/* ------------------------------------------------- premium detail layer */

/* Silver hairlines and a faint luminance on raised elements: the theme's
   language is polished metal against matte black. */
[data-theme="obsidian-3d"] .section__eyebrow { color: #8F8F8C; }
[data-theme="obsidian-3d"] .section__eyebrow::before {
    border-top-color: #5A5A5A;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-theme="obsidian-3d"] .credential-strip { border-top-color: #2B2B2B; }
[data-theme="obsidian-3d"] .credential__label { color: #7C7C79; }
[data-theme="obsidian-3d"] .credential__value { color: #E8E8E4; }

[data-theme="obsidian-3d"] .card--practice .card__index {
    color: #2A2A2A;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
}
[data-theme="obsidian-3d"] .card--practice:hover .card__index { color: #3E3E3E; }

[data-theme="obsidian-3d"] .card--practice .card__icon {
    background: linear-gradient(180deg, #1B1B1B, #101010);
    border-color: #333333;
    box-shadow: inset 0 1px 0 #2E2E2E, 0 2px 0 #000000;
}

[data-theme="obsidian-3d"] .site-footer__wordmark {
    color: #171717;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.045);
}

[data-theme="obsidian-3d"] .pull-quote,
[data-theme="obsidian-3d"] .prose blockquote.pull {
    border-top-color: #5A5A5A;
    border-bottom-color: #262626;
    color: #F2F2EE;
}

[data-theme="obsidian-3d"] .process__step::before {
    background: linear-gradient(180deg, #1B1B1B, #0E0E0E);
    border-color: #4A4A4A;
    box-shadow: inset 0 1px 0 #2E2E2E, 0 2px 0 #000000;
}

[data-theme="obsidian-3d"] .fact-grid,
[data-theme="obsidian-3d"] .fact-grid__row,
[data-theme="obsidian-3d"] .faq,
[data-theme="obsidian-3d"] .faq__item { border-color: #2B2B2B; }

@media (max-width: 640px) {
    [data-theme="obsidian-3d"] .section--hero { padding-block: clamp(2rem, 8vw, 3rem); }
    [data-theme="obsidian-3d"] .hero__eyebrow { letter-spacing: 0.14em; }
    [data-theme="obsidian-3d"] .site-nav__link { letter-spacing: 0.04em; font-size: var(--step-0); }
    [data-theme="obsidian-3d"] .card--practice .card__index { color: #242424; }
}
