:root {
    --bg: #f4f1e9;
    --paper: #fffefa;
    --ink: #172019;
    --muted: #667068;
    --line: rgba(23, 32, 25, .16);
    --soft-line: rgba(23, 32, 25, .08);
    --accent: #244f36;
    --accent-ink: #fffefa;
    --signal: #d5a44f;
    --radius: 18px;
    --page-pad: clamp(20px, 4.8vw, 78px);
    --section-gap: clamp(92px, 13vw, 210px);
    --display-size: clamp(3.1rem, 6.2vw, 5.8rem);
    --title-size: clamp(1.9rem, 3.1vw, 3.35rem);
    --body-size: 1rem;
    --serif: "Noto Serif KR", "KoPub Batang", "AppleMyungjo", Batang, Georgia, serif;
    --sans: Pretendard, SUIT, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
    --shadow: 0 30px 90px rgba(23, 32, 25, .09);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    overflow-x: hidden;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--sans);
    font-size: var(--body-size);
    line-height: 1.72;
    word-break: keep-all;
}

::selection {
    background: var(--accent);
    color: var(--accent-ink);
}

a {
    color: inherit;
}

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

h1,
h2,
h3 {
    line-height: 1.09;
    text-wrap: balance;
}

.g-page {
    width: min(100%, 1720px);
    min-height: 100vh;
    margin: 0 auto;
    padding: 0 var(--page-pad);
}

.g-navigation {
    position: relative;
    z-index: 20;
    display: flex;
    min-height: 84px;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    border-bottom: 1px solid var(--line);
}

.g-brand {
    max-width: 24ch;
    overflow: hidden;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-decoration: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.g-nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 26px;
}

.g-nav-links a {
    position: relative;
    color: var(--muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.g-nav-links a::after {
    position: absolute;
    right: 0;
    bottom: -7px;
    left: 0;
    height: 1px;
    background: currentColor;
    content: "";
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .25s ease;
}

.g-nav-links a:hover::after,
.g-nav-links a:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left;
}

.navigation-index .g-navigation {
    align-items: flex-start;
    padding: 25px 0;
}

.navigation-index .g-nav-links {
    max-width: 62rem;
}

.g-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(20px, 2.3vw, 38px);
    padding: clamp(58px, 8vw, 124px) 0 clamp(110px, 14vw, 220px);
}

.g-section {
    position: relative;
    grid-column: 1 / -1;
    min-width: 0;
    scroll-margin-top: 30px;
    animation: section-reveal .65s both cubic-bezier(.2, .7, .2, 1);
}

.g-section:nth-child(2) { animation-delay: .06s; }
.g-section:nth-child(3) { animation-delay: .12s; }
.g-section:nth-child(4) { animation-delay: .18s; }

@keyframes section-reveal {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

.g-section-index {
    position: absolute;
    z-index: 2;
    top: 18px;
    right: 20px;
    color: var(--muted);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.width-full { grid-column: 1 / -1; }
.width-wide { grid-column: 2 / 12; }
.width-half { grid-column: span 6; }
.width-narrow { grid-column: span 4; }
.width-half.offset-right { grid-column: 7 / -1; }
.width-half.offset-left { grid-column: 1 / 7; }
.width-narrow.offset-right { grid-column: 9 / -1; }
.width-narrow.offset-left { grid-column: 1 / 5; }
.width-wide.offset-right { grid-column: 3 / -1; }
.width-wide.offset-left { grid-column: 1 / 11; }

.align-center { text-align: center; }
.align-end { text-align: right; }

.surface-panel,
.surface-contrast,
.surface-accent,
.surface-outline {
    padding: clamp(28px, 4.5vw, 70px);
}

.surface-panel {
    background: var(--paper);
    box-shadow: var(--shadow);
}

.surface-contrast {
    background: var(--ink);
    color: var(--paper);
}

.surface-accent {
    background: var(--accent);
    color: var(--accent-ink);
}

.surface-outline {
    border: 1px solid var(--line);
}

.surface-panel,
.surface-contrast,
.surface-accent,
.surface-outline {
    border-radius: var(--radius);
}

.surface-contrast,
.surface-accent {
    --line: rgba(255, 255, 255, .2);
    --soft-line: rgba(255, 255, 255, .1);
    --muted: rgba(255, 255, 255, .68);
}

.g-section-body,
.g-profile-block + .g-profile-block,
.g-archive-block + .g-archive-block {
    margin-top: clamp(30px, 4.4vw, 68px);
}

.g-section-body:first-child,
.g-profile-block:first-child,
.g-archive-block:first-child {
    margin-top: 0;
}

.g-eyebrow,
.g-item-type {
    margin: 0 0 14px;
    color: var(--muted);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase;
}

.g-display-name {
    width: fit-content;
    max-width: 100%;
    margin-bottom: 0;
    font-family: var(--serif);
    font-size: var(--display-size);
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: 1.04;
}

.g-display-name.name-short,
.g-display-name.name-medium {
    overflow-wrap: normal;
    text-wrap: nowrap;
    white-space: nowrap;
    word-break: keep-all;
}

.g-display-name.name-short {
    font-size: min(var(--display-size), clamp(3.4rem, 7vw, 5.8rem));
}

.g-display-name.name-long {
    max-width: 18ch;
    font-size: clamp(2.65rem, 5.2vw, 5rem);
    overflow-wrap: break-word;
}

.align-center .g-display-name,
.align-center .g-profile-value,
.align-center .g-statement {
    margin-right: auto;
    margin-left: auto;
}

.align-end .g-display-name,
.align-end .g-profile-value,
.align-end .g-statement {
    margin-left: auto;
}

.g-profile-value {
    max-width: 42ch;
    margin-bottom: 0;
    font-size: clamp(1.02rem, 1.35vw, 1.28rem);
    line-height: 1.66;
    white-space: pre-line;
}

.g-profile-name {
    font-family: var(--serif);
    font-size: var(--title-size);
    font-weight: 500;
    letter-spacing: -.045em;
}

.g-biography {
    max-width: 58ch;
    font-family: var(--serif);
    font-size: clamp(1.04rem, 1.45vw, 1.32rem);
    line-height: 1.85;
}

.g-statement {
    max-width: 25ch;
    margin-bottom: 0;
    font-family: var(--serif);
    font-size: clamp(2rem, 4vw, 4.1rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.15;
    white-space: pre-line;
}

.component-statement .key-profile-biography .g-statement {
    max-width: 58ch;
    font-size: clamp(1.08rem, 1.65vw, 1.42rem);
    letter-spacing: -.015em;
    line-height: 1.8;
}

.g-profile-media {
    position: relative;
    overflow: hidden;
    background: var(--soft-line);
}

.g-profile-media::after,
.g-item-cover::after {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, .16);
    content: "";
    pointer-events: none;
}

.g-profile-media img,
.g-item-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.g-profile-media img {
    aspect-ratio: 4 / 5;
}

.g-archive-heading {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 12px 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
}

.g-archive-heading .g-eyebrow {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

.g-archive-heading h2 {
    margin-bottom: 0;
    font-family: var(--serif);
    font-size: var(--title-size);
    font-weight: 500;
    letter-spacing: -.045em;
}

.g-archive-heading > span {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.g-items {
    display: grid;
}

.g-item {
    position: relative;
    min-width: 0;
    padding: clamp(24px, 3vw, 44px) 0;
    border-bottom: 1px solid var(--line);
}

.g-item-number {
    display: block;
    margin-bottom: 30px;
    color: var(--muted);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.g-item-cover {
    position: relative;
    margin-bottom: 26px;
    overflow: hidden;
    background: var(--soft-line);
}

.g-item-cover img {
    aspect-ratio: 4 / 3;
    transition: transform .65s cubic-bezier(.2, .7, .2, 1);
}

.g-item:hover .g-item-cover img {
    transform: scale(1.025);
}

.g-item-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 24px;
}

.g-item h3 {
    max-width: 28ch;
    margin-bottom: 0;
    font-family: var(--serif);
    font-size: clamp(1.35rem, 2vw, 2.2rem);
    font-weight: 500;
    letter-spacing: -.035em;
}

.g-date {
    display: flex;
    gap: 7px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: .7rem;
    letter-spacing: .05em;
    white-space: nowrap;
}

.g-summary {
    max-width: 52ch;
    margin: 20px 0 0;
    font-size: clamp(.98rem, 1.25vw, 1.14rem);
    line-height: 1.72;
}

.g-body-copy {
    max-width: 68ch;
    margin: 14px 0 0;
    opacity: .8;
    white-space: pre-line;
}

.g-tags,
.g-sources {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 22px;
}

.g-tags span {
    padding: 3px 0;
    border-bottom: 1px solid currentColor;
    font-size: .68rem;
    opacity: .65;
}

.g-sources a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 9px 14px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.g-sources a:hover,
.g-sources a:focus-visible {
    background: var(--accent);
    color: var(--accent-ink);
    transform: translateY(-2px);
}

/* Identity is a cover, never a small card. */
.component-identity,
.component-identity.width-half,
.component-identity.width-narrow,
.component-identity.width-wide {
    grid-column: 1 / -1;
    min-height: clamp(520px, 72vh, 820px);
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--line);
}

.component-identity.surface-panel,
.component-identity.surface-contrast,
.component-identity.surface-accent,
.component-identity.surface-outline {
    padding: clamp(34px, 6vw, 92px);
    border-bottom: 0;
}

.component-identity .g-section-body {
    width: 100%;
}

.component-identity.has-profile-media .g-section-body {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    gap: clamp(26px, 4.5vw, 72px);
}

.component-identity.has-profile-media .g-profile-media {
    grid-column: 8 / -1;
    grid-row: 1 / span 5;
    width: 100%;
    max-width: 470px;
    justify-self: end;
    border-radius: calc(var(--radius) * .5);
    box-shadow: var(--shadow);
}

.component-identity.has-profile-media .g-profile-block,
.component-identity.has-profile-media .g-archive-block {
    grid-column: 1 / 8;
    margin-top: 0;
}

.component-identity.has-profile-media .g-profile-block + .g-profile-block,
.component-identity.has-profile-media .g-archive-block + .g-archive-block {
    margin-top: 28px;
}

.component-statement {
    padding-top: clamp(72px, 10vw, 150px);
    padding-bottom: clamp(72px, 10vw, 150px);
}

.component-profile .g-section-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(40px, 6vw, 100px);
}

.component-profile .g-profile-block,
.component-profile .g-profile-media {
    margin-top: 0;
}

.component-profile.has-profile-media .g-profile-media {
    grid-row: span 3;
    width: min(100%, 440px);
    border-radius: calc(var(--radius) * .5);
}

.component-narrative .g-section-body {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(0, 3fr);
    column-gap: clamp(30px, 6vw, 100px);
}

.component-narrative .g-profile-block,
.component-narrative .g-archive-block {
    grid-column: 2;
    max-width: 760px;
}

/* Collections behave like a curated gallery instead of repeated cards. */
.component-collection .g-items {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 62px) clamp(18px, 3vw, 46px);
    padding-top: clamp(32px, 5vw, 70px);
}

.component-collection .g-item {
    grid-column: span 6;
    padding: 0 0 34px;
    border-bottom: 1px solid var(--line);
}

.component-collection .g-item:nth-child(4n + 1) {
    grid-column: 1 / 8;
}

.component-collection .g-item:nth-child(4n + 2) {
    grid-column: 9 / -1;
    margin-top: clamp(70px, 10vw, 150px);
}

.component-collection .g-item:nth-child(4n + 3) {
    grid-column: 2 / 6;
}

.component-collection .g-item:nth-child(4n) {
    grid-column: 7 / -1;
    margin-top: clamp(30px, 6vw, 90px);
}

.component-collection .g-item-cover {
    margin-bottom: 28px;
    border-radius: calc(var(--radius) * .45);
}

.component-collection .g-item:nth-child(4n + 1) .g-item-cover img,
.component-collection .g-item:nth-child(4n) .g-item-cover img {
    aspect-ratio: 4 / 5;
}

.component-collection .g-item:nth-child(4n + 2) .g-item-cover img,
.component-collection .g-item:nth-child(4n + 3) .g-item-cover img {
    aspect-ratio: 1 / 1;
}

.component-collection .g-item.no-cover {
    min-height: 280px;
    padding: clamp(28px, 4vw, 56px);
    border: 1px solid var(--line);
}

.component-collection .g-item.no-cover:nth-child(odd) {
    background: var(--paper);
}

/* Spotlight gets a single cinematic first feature. */
.component-spotlight .g-items {
    padding-top: clamp(30px, 5vw, 70px);
}

.component-spotlight .g-item:first-child.has-cover {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(260px, 4fr);
    gap: clamp(30px, 5vw, 84px);
    align-items: end;
    padding-bottom: clamp(50px, 7vw, 100px);
}

.component-spotlight .g-item:first-child.has-cover .g-item-cover {
    grid-row: 1 / span 7;
    margin-bottom: 0;
}

.component-spotlight .g-item:first-child.has-cover .g-item-cover img {
    min-height: min(72vh, 820px);
    aspect-ratio: 4 / 5;
}

.component-spotlight .g-item:first-child h3 {
    max-width: 15ch;
    font-size: clamp(2rem, 3.8vw, 4rem);
}

.component-spotlight .g-item:not(:first-child) {
    width: min(76%, 920px);
    margin-left: auto;
}

/* A real chronological rail. */
.component-timeline .g-items {
    position: relative;
    margin-top: 10px;
    padding-left: clamp(32px, 5vw, 82px);
}

.component-timeline .g-items::before {
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 7px;
    width: 1px;
    background: var(--line);
    content: "";
}

.component-timeline .g-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(130px, .35fr);
    gap: 30px;
}

.component-timeline .g-item::before {
    position: absolute;
    top: 31px;
    left: clamp(-75px, -4.6vw, -25px);
    width: 13px;
    height: 13px;
    border: 4px solid var(--bg);
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 1px var(--accent);
    content: "";
}

.component-timeline .g-date {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
}

.component-timeline .g-summary,
.component-timeline .g-body-copy,
.component-timeline .g-tags,
.component-timeline .g-sources,
.component-timeline .g-item-cover {
    grid-column: 1;
}

/* Indexes are dense publication lists. */
.component-index .g-item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1.6fr) minmax(190px, .8fr);
    gap: clamp(16px, 3vw, 46px);
    align-items: start;
}

.component-index .g-item-number {
    margin: 5px 0 0;
}

.component-index .g-item-header {
    display: block;
}

.component-index .g-summary,
.component-index .g-body-copy,
.component-index .g-tags,
.component-index .g-sources,
.component-index .g-item-cover {
    grid-column: 3;
}

.component-index .g-date {
    margin-top: 12px;
}

/* Narrow index sections keep their editorial rhythm without crushing titles
   against summaries, dates, or links in rail and mosaic compositions. */
.component-index.width-narrow .g-item,
.component-index.width-half .g-item {
    grid-template-columns: 36px minmax(0, 1fr);
}

.component-index.width-narrow .g-item-header,
.component-index.width-half .g-item-header {
    display: block;
    min-width: 0;
    grid-column: 2;
}

.component-index.width-narrow .g-summary,
.component-index.width-narrow .g-body-copy,
.component-index.width-narrow .g-tags,
.component-index.width-narrow .g-sources,
.component-index.width-narrow .g-item-cover,
.component-index.width-half .g-summary,
.component-index.width-half .g-body-copy,
.component-index.width-half .g-tags,
.component-index.width-half .g-sources,
.component-index.width-half .g-item-cover {
    grid-column: 2;
}

.component-index.width-narrow .g-date,
.component-index.width-half .g-date {
    margin-top: 12px;
    white-space: normal;
}

.component-index.width-narrow .g-item h3,
.component-index.width-half .g-item h3 {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.g-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    padding: 32px 0 50px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: .72rem;
}

.g-footer p {
    margin-bottom: 0;
}

.g-footer p:last-child {
    justify-self: end;
    text-align: right;
}

/* Compositions alter the silhouette rather than merely recoloring it. */
.composition-flow .g-grid {
    row-gap: var(--section-gap);
}

.composition-editorial .g-grid {
    row-gap: clamp(70px, 10vw, 160px);
}

.composition-editorial .g-section:nth-child(even):not(.component-identity) {
    transform: translateY(clamp(12px, 3vw, 46px));
}

.composition-editorial .component-narrative .g-biography,
.composition-editorial .component-statement .g-statement {
    font-family: var(--serif);
}

.composition-mosaic .g-grid {
    grid-auto-flow: dense;
    align-items: stretch;
    row-gap: clamp(24px, 4vw, 62px);
}

.composition-mosaic .g-section:not(.component-identity) {
    align-self: stretch;
}

.composition-mosaic .g-section:nth-child(3n + 2).width-wide {
    grid-column: 1 / 9;
}

.composition-mosaic .g-section:nth-child(3n).width-wide {
    grid-column: 5 / -1;
}

.composition-rail .g-page {
    display: grid;
    grid-template-columns: minmax(210px, 24vw) minmax(0, 1fr);
    column-gap: clamp(34px, 5vw, 86px);
}

.composition-rail .g-navigation {
    position: sticky;
    top: 0;
    display: block;
    height: 100vh;
    padding: var(--page-pad) clamp(20px, 3vw, 50px) var(--page-pad) 0;
    border-right: 1px solid var(--line);
    border-bottom: 0;
}

.composition-rail .g-nav-links {
    display: grid;
    justify-content: stretch;
    margin-top: clamp(54px, 10vh, 110px);
}

.composition-rail .g-grid,
.composition-rail .g-footer {
    grid-column: 2;
}

.composition-rail .g-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.composition-rail .width-wide { grid-column: 1 / 8; }
.composition-rail .width-half { grid-column: span 4; }
.composition-rail .width-narrow { grid-column: span 3; }
.composition-rail.navigation-none .g-page { display: block; }
.composition-rail.navigation-none .g-grid,
.composition-rail.navigation-none .g-footer { display: grid; }

.composition-poster .g-grid {
    row-gap: clamp(24px, 4vw, 58px);
}

.composition-poster .component-identity {
    min-height: calc(100vh - 84px);
    padding-top: clamp(50px, 8vw, 120px);
    padding-bottom: clamp(50px, 8vw, 120px);
}

.composition-poster .component-identity .g-display-name {
    font-family: var(--sans);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: .95;
}

.composition-poster .component-identity .g-eyebrow {
    padding-left: 42px;
    position: relative;
}

.composition-poster .component-identity .g-eyebrow::before {
    position: absolute;
    top: .65em;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--signal);
    content: "";
}

/* Canvas directions supply distinct material. */
.canvas-clean {
    --bg: #f7f7f3;
    --paper: #fff;
}

.canvas-paper {
    --bg: #ede5d5;
    --paper: #faf4e6;
    --line: rgba(65, 50, 32, .22);
    --soft-line: rgba(65, 50, 32, .08);
}

.canvas-paper .g-page {
    border-right: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.canvas-paper .g-section-index,
.canvas-paper .g-item-number {
    font-family: var(--serif);
    font-style: italic;
}

.canvas-ink {
    --bg: #0d120f;
    --paper: #18201a;
    --ink: #f2f0e7;
    --muted: #a2aca5;
    --line: rgba(242, 240, 231, .17);
    --soft-line: rgba(242, 240, 231, .08);
    --accent-ink: #101713;
    --shadow: 0 32px 90px rgba(0, 0, 0, .28);
}

.canvas-poster .g-page::before {
    position: fixed;
    z-index: -1;
    top: -18vw;
    right: -14vw;
    width: 48vw;
    height: 48vw;
    border: 9vw solid var(--signal);
    border-radius: 50%;
    opacity: .25;
    content: "";
}

.canvas-gallery {
    --bg: #e7e7e3;
    --paper: #fff;
}

.canvas-gallery .g-item-cover,
.canvas-gallery .g-profile-media {
    box-shadow: 0 22px 52px rgba(23, 32, 25, .12);
}

.canvas-notebook .g-page {
    border-left: clamp(12px, 2vw, 34px) solid var(--accent);
}

.canvas-notebook .g-section:not(.component-identity) {
    border-bottom: 1px solid var(--line);
    border-radius: 0;
}

/* Palettes. */
.palette-forest { --accent: #234d35; --signal: #d6a34d; }
.palette-midnight {
    --bg: #10141d; --paper: #191f2b; --ink: #eef0f5; --muted: #a0a8ba;
    --line: rgba(238, 240, 245, .17); --soft-line: rgba(238, 240, 245, .08);
    --accent: #9bb9ff; --accent-ink: #111827; --signal: #6878ff;
}
.palette-clay {
    --bg: #eee5dc; --paper: #fff8f0; --ink: #3d2a23; --muted: #82695c;
    --line: rgba(61, 42, 35, .18); --soft-line: rgba(61, 42, 35, .08);
    --accent: #a44f36; --signal: #d8a26c;
}
.palette-cobalt {
    --bg: #edf0ff; --paper: #fbfcff; --ink: #111b46; --muted: #59648f;
    --line: rgba(17, 27, 70, .17); --soft-line: rgba(17, 27, 70, .08);
    --accent: #2147d9; --signal: #ffcb45;
}
.palette-plum {
    --bg: #eee8ef; --paper: #fff9ff; --ink: #351f37; --muted: #806681;
    --line: rgba(53, 31, 55, .17); --soft-line: rgba(53, 31, 55, .08);
    --accent: #6d326e; --signal: #d79ab9;
}
.palette-mono {
    --bg: #eeeeeb; --paper: #fff; --ink: #111; --muted: #666;
    --line: rgba(0, 0, 0, .19); --soft-line: rgba(0, 0, 0, .07);
    --accent: #111; --signal: #a5a5a5;
}
.palette-citrus {
    --bg: #f2f3d7; --paper: #fffef0; --ink: #1c2b22; --muted: #58694b;
    --line: rgba(28, 43, 34, .18); --soft-line: rgba(28, 43, 34, .08);
    --accent: #245c3d; --signal: #d8f52e;
}
.palette-paper {
    --bg: #e8dfcb; --paper: #fbf3df; --ink: #332b22; --muted: #776b5c;
    --line: rgba(51, 43, 34, .21); --soft-line: rgba(51, 43, 34, .08);
    --accent: #7d2d22; --signal: #c99a54;
}
.palette-white {
    --bg: #fff; --paper: #fff; --ink: #111; --muted: #626262;
    --line: rgba(0, 0, 0, .16); --soft-line: rgba(0, 0, 0, .06);
    --accent: #111; --accent-ink: #fff; --signal: #d8d8d8;
}

.density-airy { --section-gap: clamp(118px, 16vw, 250px); --page-pad: clamp(24px, 6vw, 100px); }
.density-compact { --section-gap: clamp(60px, 8vw, 112px); --page-pad: clamp(18px, 3.2vw, 50px); }
.type-restrained { --display-size: clamp(2.9rem, 5vw, 4.8rem); --title-size: clamp(1.7rem, 2.6vw, 2.75rem); --body-size: .95rem; }
.type-expressive { --display-size: clamp(3.3rem, 6.8vw, 6.15rem); --title-size: clamp(2rem, 3.7vw, 3.8rem); --body-size: 1.02rem; }
.type-monumental { --display-size: clamp(3.6rem, 7.4vw, 6.6rem); --title-size: clamp(2.15rem, 4vw, 4.1rem); --body-size: 1.04rem; }
.corners-soft { --radius: 30px; }
.corners-subtle { --radius: 12px; }
.corners-square { --radius: 0px; }

@media (max-width: 960px) {
    .g-navigation { min-height: 74px; align-items: flex-start; padding: 22px 0; }
    .g-nav-links { display: none; }
    .g-grid { display: block; padding: 48px 0 100px; }
    .g-section,
    .width-full,
    .width-wide,
    .width-half,
    .width-narrow,
    .width-half.offset-right,
    .width-half.offset-left,
    .width-narrow.offset-right,
    .width-narrow.offset-left,
    .width-wide.offset-right,
    .width-wide.offset-left {
        width: 100%;
        margin: 0 0 clamp(60px, 10vw, 110px);
    }
    .component-identity { min-height: 600px; }
    .component-identity.has-profile-media .g-section-body { grid-template-columns: repeat(8, minmax(0, 1fr)); }
    .component-identity.has-profile-media .g-profile-media { grid-column: 5 / -1; }
    .component-identity.has-profile-media .g-profile-block,
    .component-identity.has-profile-media .g-archive-block { grid-column: 1 / 5; }
    .component-profile .g-section-body { grid-template-columns: 1fr; }
    .component-narrative .g-section-body { display: block; }
    .component-narrative .g-profile-block,
    .component-narrative .g-archive-block { max-width: 700px; }
    .composition-rail .g-page { display: block; }
    .composition-rail .g-navigation {
        position: relative;
        display: flex;
        height: auto;
        padding: 22px 0;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
    .composition-rail .g-grid,
    .composition-rail .g-footer { display: block; }
    .composition-editorial .g-section:nth-child(even):not(.component-identity) { transform: none; }
}

@media (max-width: 680px) {
    :root { --page-pad: 18px; }
    .g-display-name { letter-spacing: -.05em; }
    .g-display-name.name-short { font-size: clamp(3rem, 15vw, 4.7rem); }
    .g-display-name.name-medium { font-size: clamp(2.45rem, 11vw, 4rem); }
    .surface-panel,
    .surface-contrast,
    .surface-accent,
    .surface-outline { padding: 26px 20px; }
    .component-identity,
    .component-identity.surface-panel,
    .component-identity.surface-contrast,
    .component-identity.surface-accent,
    .component-identity.surface-outline {
        min-height: 520px;
        padding-top: 42px;
        padding-bottom: 42px;
    }
    .component-identity.has-profile-media .g-section-body { display: flex; flex-direction: column; align-items: stretch; }
    .component-identity.has-profile-media .g-profile-media { order: 2; width: min(78%, 340px); margin: 40px 0 0 auto; }
    .component-identity.has-profile-media .g-profile-block,
    .component-identity.has-profile-media .g-archive-block { width: 100%; }
    .component-collection .g-items { display: block; padding-top: 30px; }
    .component-collection .g-item,
    .component-collection .g-item:nth-child(4n + 1),
    .component-collection .g-item:nth-child(4n + 2),
    .component-collection .g-item:nth-child(4n + 3),
    .component-collection .g-item:nth-child(4n) { width: 100%; margin: 0 0 54px; }
    .component-collection .g-item.no-cover { min-height: 0; }
    .component-spotlight .g-item:first-child.has-cover { display: block; }
    .component-spotlight .g-item:first-child.has-cover .g-item-cover { margin-bottom: 28px; }
    .component-spotlight .g-item:first-child.has-cover .g-item-cover img { min-height: 0; }
    .component-spotlight .g-item:not(:first-child) { width: 100%; }
    .component-timeline .g-item,
    .component-index .g-item,
    .g-item-header { display: block; }
    .component-timeline .g-date,
    .component-timeline .g-summary,
    .component-timeline .g-body-copy,
    .component-timeline .g-tags,
    .component-timeline .g-sources,
    .component-timeline .g-item-cover,
    .component-index .g-summary,
    .component-index .g-body-copy,
    .component-index .g-tags,
    .component-index .g-sources,
    .component-index .g-item-cover { grid-column: auto; }
    .g-date { margin-top: 12px; }
    .g-footer { display: block; }
    .g-footer p:last-child { margin-top: 8px; text-align: left; }
    .canvas-paper .g-page { border: 0; }
    .canvas-notebook .g-page { border-left-width: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .g-section { animation: none; }
    .g-item-cover img,
    .g-sources a { transition: none; }
}

@media print {
    body { background: #fff; color: #111; }
    .g-page { width: 100%; padding: 0; }
    .g-navigation { position: static; }
    .g-section { break-inside: avoid; animation: none; }
    .surface-panel,
    .surface-contrast,
    .surface-accent { box-shadow: none; }
}

/* Blueprint v2: a safe visual grammar layered over the stable v1 renderer. */
.blueprint-v2 {
    --display-font: var(--sans);
    --body-font: var(--sans);
    --meta-font: var(--sans);
    --display-weight: 780;
}

.blueprint-v2,
.blueprint-v2 body {
    font-family: var(--body-font);
}

.blueprint-v2 h1,
.blueprint-v2 h2,
.blueprint-v2 h3,
.blueprint-v2 .g-statement,
.blueprint-v2 .g-profile-name {
    font-family: var(--display-font);
    font-weight: var(--display-weight);
}

.blueprint-v2 .g-eyebrow,
.blueprint-v2 .g-section-index,
.blueprint-v2 .g-item-number,
.blueprint-v2 .g-date,
.blueprint-v2 .g-item-type,
.blueprint-v2 .g-brand,
.blueprint-v2 .g-nav-links {
    font-family: var(--meta-font);
}

/* Typeface changes the voice, not merely the size. */
.typeface-grotesk {
    --display-font: Arial, "Arial Nova", var(--sans);
    --body-font: var(--sans);
    --meta-font: var(--sans);
    --display-weight: 800;
}

.typeface-grotesk h1,
.typeface-grotesk h2,
.typeface-grotesk h3 {
    letter-spacing: -.055em;
}

.typeface-editorial {
    --display-font: var(--serif);
    --body-font: var(--sans);
    --meta-font: var(--sans);
    --display-weight: 500;
}

.typeface-editorial h1,
.typeface-editorial h2,
.typeface-editorial h3 {
    letter-spacing: -.035em;
}

.typeface-humanist {
    --display-font: "Trebuchet MS", "Arial Rounded MT Bold", var(--sans);
    --body-font: "Trebuchet MS", var(--sans);
    --meta-font: var(--sans);
    --display-weight: 650;
}

.typeface-humanist h1,
.typeface-humanist h2,
.typeface-humanist h3 {
    letter-spacing: -.025em;
    line-height: 1.02;
}

.typeface-mono {
    --display-font: "Cascadia Mono", "IBM Plex Mono", Consolas, monospace;
    --body-font: var(--sans);
    --meta-font: "Cascadia Mono", "IBM Plex Mono", Consolas, monospace;
    --display-weight: 650;
}

.typeface-mono h1,
.typeface-mono h2,
.typeface-mono h3 {
    letter-spacing: -.045em;
}

.typeface-display {
    --display-font: Impact, Haettenschweiler, "Arial Narrow Bold", var(--sans);
    --body-font: var(--sans);
    --meta-font: var(--sans);
    --display-weight: 900;
}

.typeface-display h1,
.typeface-display h2,
.typeface-display h3 {
    letter-spacing: -.035em;
    line-height: .92;
}

/* Backdrops create a recognisable stage without external assets. */
.blueprint-v2 .g-page {
    position: relative;
    isolation: isolate;
}

.backdrop-split {
    background:
        linear-gradient(90deg, transparent 0 52%, color-mix(in srgb, var(--accent) 12%, var(--bg)) 52% 100%);
}

.backdrop-grid {
    background-color: var(--bg);
    background-image:
        linear-gradient(var(--soft-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--soft-line) 1px, transparent 1px);
    background-size: clamp(40px, 5vw, 76px) clamp(40px, 5vw, 76px);
}

.backdrop-grid .g-page {
    background: color-mix(in srgb, var(--bg) 88%, transparent);
}

.backdrop-bands {
    background:
        linear-gradient(
            180deg,
            var(--bg) 0 24%,
            color-mix(in srgb, var(--signal) 18%, var(--bg)) 24% 47%,
            var(--bg) 47% 72%,
            color-mix(in srgb, var(--accent) 12%, var(--bg)) 72% 100%
        );
}

.backdrop-halo {
    background:
        radial-gradient(circle at 82% 14%, color-mix(in srgb, var(--signal) 42%, transparent) 0 9%, transparent 34%),
        radial-gradient(circle at 14% 65%, color-mix(in srgb, var(--accent) 24%, transparent) 0 8%, transparent 31%),
        var(--bg);
}

.backdrop-frame .g-page {
    width: min(calc(100% - clamp(18px, 3vw, 52px)), 1640px);
    margin: clamp(9px, 1.5vw, 26px) auto;
    border: 1px solid var(--line);
    background: color-mix(in srgb, var(--paper) 52%, var(--bg));
}

.backdrop-frame .g-navigation,
.backdrop-frame .g-footer {
    padding-right: clamp(12px, 2vw, 32px);
    padding-left: clamp(12px, 2vw, 32px);
}

/* One repeating ornament gives the page an authored graphic language. */
.ornament-rules .g-section:not(.component-identity)::before {
    display: block;
    width: min(120px, 18vw);
    height: 3px;
    margin-bottom: 24px;
    background: var(--accent);
    content: "";
}

.ornament-rules .g-archive-heading {
    border-top: 3px solid currentColor;
    padding-top: 18px;
}

.ornament-labels .g-section-index {
    top: 0;
    right: 0;
    padding: 6px 10px;
    background: var(--ink);
    color: var(--bg);
    letter-spacing: .12em;
}

.ornament-labels .g-eyebrow {
    display: inline-block;
    padding: 5px 9px;
    background: color-mix(in srgb, var(--signal) 28%, transparent);
    color: var(--ink);
}

.ornament-blocks .g-section:not(.component-identity)::before {
    position: absolute;
    top: -24px;
    left: -18px;
    width: 54px;
    height: 54px;
    background: var(--signal);
    content: "";
    opacity: .68;
    transform: rotate(8deg);
}

.ornament-blocks .g-section:nth-child(even):not(.component-identity)::before {
    right: -18px;
    left: auto;
    background: var(--accent);
    transform: rotate(-8deg);
}

.ornament-circles .g-section:not(.component-identity)::after {
    position: absolute;
    z-index: -1;
    top: -34px;
    right: -20px;
    width: clamp(70px, 10vw, 150px);
    aspect-ratio: 1;
    border: 1px solid var(--accent);
    border-radius: 50%;
    content: "";
    opacity: .35;
}

.ornament-underline .g-archive-heading h2,
.ornament-underline .g-display-name,
.ornament-underline .g-statement {
    text-decoration: underline;
    text-decoration-color: var(--signal);
    text-decoration-thickness: .13em;
    text-underline-offset: .16em;
}

/* Universal variants deliberately redraw each section's internal rhythm. */
.variant-centered {
    text-align: center;
}

.variant-centered .g-archive-heading,
.variant-centered .g-item-header {
    justify-content: center;
    text-align: center;
}

.variant-centered .g-tags,
.variant-centered .g-sources {
    justify-content: center;
}

.variant-split .g-section-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 5vw, 84px);
    align-items: start;
}

.variant-split .g-section-body > * {
    min-width: 0;
    margin-top: 0;
}

.variant-editorial {
    border-top: 1px solid var(--line);
    border-radius: 0;
}

.variant-editorial .g-archive-heading h2,
.variant-editorial .g-profile-value,
.variant-editorial .g-statement {
    font-family: var(--serif);
    font-weight: 500;
}

.variant-immersive {
    min-height: min(88vh, 940px);
    display: flex;
    align-items: center;
}

.variant-immersive .g-section-body {
    width: 100%;
}

.variant-ledger {
    border-top: 1px solid var(--ink);
    border-bottom: 1px solid var(--ink);
    border-radius: 0;
}

.variant-ledger .g-item,
.variant-ledger .g-profile-block {
    border-color: var(--line);
    border-radius: 0;
    box-shadow: none;
}

.variant-showcase .g-item-cover img,
.variant-showcase .g-profile-media img {
    filter: saturate(1.08) contrast(1.03);
}

/* Identity can now feel like a masthead, portrait, manifesto, log, or cover. */
.component-identity.variant-centered .g-section-body {
    width: min(100%, 980px);
    margin-right: auto;
    margin-left: auto;
}

.component-identity.variant-centered .g-display-name,
.component-identity.variant-centered .g-profile-value {
    margin-right: auto;
    margin-left: auto;
}

.component-identity.variant-centered.has-profile-media .g-section-body {
    display: flex;
    flex-direction: column;
}

.component-identity.variant-centered.has-profile-media .g-profile-media {
    order: -1;
    width: min(42vw, 330px);
    margin: 0 auto 48px;
    border-radius: 50%;
}

.component-identity.variant-split {
    border-bottom: 0;
}

.component-identity.variant-split .g-section-body,
.component-identity.variant-split.has-profile-media .g-section-body {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(280px, 4fr);
    gap: clamp(32px, 6vw, 100px);
}

.component-identity.variant-split.has-profile-media .g-profile-media {
    grid-column: 2;
    grid-row: 1 / span 8;
    align-self: stretch;
    max-width: none;
}

.component-identity.variant-split.has-profile-media .g-profile-media img {
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}

.component-identity.variant-split .g-profile-block,
.component-identity.variant-split .g-archive-block {
    grid-column: 1;
}

.component-identity.variant-editorial {
    min-height: clamp(480px, 64vh, 720px);
    align-items: flex-end;
    padding-bottom: clamp(42px, 7vw, 110px);
}

.component-identity.variant-editorial .g-display-name {
    max-width: 12ch;
    font-family: var(--serif);
    font-weight: 500;
}

.component-identity.variant-editorial .g-section-body {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
    align-items: end;
}

.component-identity.variant-editorial .g-profile-block:first-of-type {
    grid-row: span 3;
}

.component-identity.variant-immersive {
    min-height: calc(100vh - 20px);
    overflow: hidden;
    border: 0;
    background: var(--accent);
    color: var(--accent-ink);
}

.component-identity.variant-immersive .g-display-name {
    max-width: 10ch;
    color: inherit;
    font-size: clamp(3.5rem, 8.5vw, 8.5rem);
    line-height: .88;
}

.component-identity.variant-immersive.has-profile-media .g-profile-media {
    transform: rotate(2deg) scale(1.06);
}

.component-identity.variant-ledger {
    min-height: clamp(420px, 58vh, 660px);
    align-items: flex-end;
}

.component-identity.variant-ledger .g-section-body {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
    gap: 30px;
    align-items: end;
}

.component-identity.variant-ledger .g-profile-block {
    padding-top: 16px;
    border-top: 1px solid var(--line);
}

.component-identity.variant-showcase {
    background: var(--paper);
    box-shadow: var(--shadow);
}

.component-identity.variant-showcase.has-profile-media .g-profile-media {
    grid-column: 7 / -1;
    max-width: none;
    transform: translateY(6%);
}

/* Profile and narrative variants. */
.component-profile.variant-ledger .g-section-body {
    display: block;
}

.component-profile.variant-ledger .g-profile-block {
    display: grid;
    grid-template-columns: minmax(110px, .35fr) minmax(0, 1fr);
    gap: 24px;
    margin: 0;
    padding: 20px 0;
    border-bottom: 1px solid var(--line);
}

.component-profile.variant-ledger .g-eyebrow {
    margin: 0;
}

.component-profile.variant-showcase .g-profile-value,
.component-narrative.variant-showcase .g-biography {
    max-width: 24ch;
    font-family: var(--serif);
    font-size: clamp(1.7rem, 3vw, 3rem);
    line-height: 1.35;
}

.component-narrative.variant-editorial .g-biography {
    max-width: 38ch;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.75;
}

.component-narrative.variant-editorial .g-biography::first-letter {
    float: left;
    margin: .08em .14em 0 0;
    color: var(--accent);
    font-family: var(--display-font);
    font-size: 4.4em;
    line-height: .76;
}

/* Collections range from an orderly catalog to an immersive exhibition. */
.component-collection.variant-split .g-section-body,
.component-collection.variant-split .g-archive-block {
    display: block;
}

.component-collection.variant-split .g-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(34px, 5vw, 78px);
}

.component-collection.variant-split .g-item,
.component-collection.variant-split .g-item:nth-child(n) {
    grid-column: auto;
    min-height: 0;
    margin: 0;
}

.component-collection.variant-centered .g-item,
.component-collection.variant-centered .g-item:nth-child(n) {
    width: min(100%, 820px);
    margin: clamp(30px, 6vw, 96px) auto 0;
}

.component-collection.variant-editorial .g-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.component-collection.variant-editorial .g-item,
.component-collection.variant-editorial .g-item:nth-child(n) {
    grid-column: auto;
    margin: 0;
}

.component-collection.variant-editorial .g-item:nth-child(3n + 2) {
    margin-top: 72px;
}

.component-collection.variant-immersive .g-items {
    display: block;
}

.component-collection.variant-immersive .g-item,
.component-collection.variant-immersive .g-item:nth-child(n) {
    width: 100%;
    min-height: min(82vh, 880px);
    margin: 0;
    padding: clamp(40px, 7vw, 110px) 0;
    border-bottom: 1px solid var(--line);
}

.component-collection.variant-ledger .g-items {
    display: block;
}

.component-collection.variant-ledger .g-item,
.component-collection.variant-ledger .g-item:nth-child(n) {
    display: grid;
    grid-template-columns: 42px minmax(0, 1.4fr) minmax(180px, .7fr);
    gap: 24px;
    min-height: 0;
    margin: 0;
    padding: 22px 0;
    border-bottom: 1px solid var(--line);
}

.component-collection.variant-ledger .g-item-cover,
.component-collection.variant-ledger .g-summary,
.component-collection.variant-ledger .g-body-copy,
.component-collection.variant-ledger .g-tags,
.component-collection.variant-ledger .g-sources {
    grid-column: 3;
}

.component-collection.variant-showcase .g-item:first-child {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr);
    gap: clamp(30px, 5vw, 80px);
    align-items: end;
}

.component-collection.variant-showcase .g-item:first-child .g-item-cover {
    grid-row: 1 / span 7;
}

/* Timelines and indexes can be diagrams, essays, or strict records. */
.component-timeline.variant-centered .g-items {
    width: min(100%, 920px);
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
}

.component-timeline.variant-centered .g-items::before {
    left: 50%;
}

.component-timeline.variant-centered .g-item {
    width: calc(50% - 36px);
    display: block;
    text-align: right;
}

.component-timeline.variant-centered .g-item:nth-child(even) {
    margin-left: calc(50% + 36px);
    text-align: left;
}

.component-timeline.variant-centered .g-item::before {
    right: -43px;
    left: auto;
}

.component-timeline.variant-centered .g-item:nth-child(even)::before {
    right: auto;
    left: -43px;
}

.component-timeline.variant-editorial .g-items,
.component-timeline.variant-ledger .g-items {
    padding-left: 0;
}

.component-timeline.variant-editorial .g-items::before,
.component-timeline.variant-ledger .g-items::before,
.component-timeline.variant-editorial .g-item::before,
.component-timeline.variant-ledger .g-item::before {
    display: none;
}

.component-timeline.variant-editorial .g-item {
    grid-template-columns: minmax(110px, .28fr) minmax(0, 1fr);
}

.component-timeline.variant-editorial .g-date {
    grid-column: 1;
    justify-self: start;
    font-family: var(--display-font);
    font-size: clamp(1.6rem, 3vw, 3rem);
}

.component-timeline.variant-editorial .g-item-header,
.component-timeline.variant-editorial .g-summary,
.component-timeline.variant-editorial .g-body-copy,
.component-timeline.variant-editorial .g-tags,
.component-timeline.variant-editorial .g-sources,
.component-timeline.variant-editorial .g-item-cover {
    grid-column: 2;
}

.component-timeline.variant-ledger .g-item {
    grid-template-columns: minmax(120px, .3fr) minmax(0, 1fr);
    padding: 24px 0;
}

.component-index.variant-split .g-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(28px, 4vw, 70px);
}

.component-index.variant-centered .g-items {
    width: min(100%, 960px);
    margin-right: auto;
    margin-left: auto;
}

.component-index.variant-editorial .g-item h3 {
    font-family: var(--serif);
    font-size: clamp(1.5rem, 2.8vw, 2.7rem);
    font-weight: 500;
}

.component-index.variant-immersive .g-item {
    min-height: 36vh;
    align-items: center;
    border-top: 1px solid var(--line);
}

.component-index.variant-ledger .g-item {
    grid-template-columns: 44px minmax(0, 1.6fr) minmax(160px, .65fr);
    padding: 18px 0;
}

.component-index.variant-showcase .g-item:first-child {
    padding: clamp(30px, 6vw, 90px);
    background: var(--accent);
    color: var(--accent-ink);
}

/* Spotlight variants alter the feature frame. */
.component-spotlight.variant-centered .g-item:first-child {
    width: min(100%, 1020px);
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.component-spotlight.variant-split .g-item:first-child,
.component-spotlight.variant-showcase .g-item:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(30px, 6vw, 96px);
    align-items: center;
}

.component-spotlight.variant-split .g-item:first-child .g-item-cover,
.component-spotlight.variant-showcase .g-item:first-child .g-item-cover {
    grid-row: 1 / span 7;
}

.component-spotlight.variant-immersive .g-item:first-child {
    min-height: min(80vh, 900px);
    padding: clamp(40px, 7vw, 110px);
    background: var(--ink);
    color: var(--paper);
}

@media (max-width: 960px) {
    .backdrop-frame .g-page {
        width: calc(100% - 18px);
        margin: 9px;
    }

    .variant-split .g-section-body,
    .component-identity.variant-split .g-section-body,
    .component-identity.variant-split.has-profile-media .g-section-body,
    .component-identity.variant-editorial .g-section-body,
    .component-identity.variant-ledger .g-section-body {
        grid-template-columns: 1fr;
    }

    .component-identity.variant-split.has-profile-media .g-profile-media,
    .component-identity.variant-split .g-profile-block,
    .component-identity.variant-split .g-archive-block {
        grid-column: 1;
        grid-row: auto;
    }

    .component-identity.variant-split.has-profile-media .g-profile-media img {
        min-height: 0;
    }

    .component-collection.variant-editorial .g-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .component-index.variant-split .g-items {
        display: block;
    }
}

@media (max-width: 680px) {
    .backdrop-split {
        background: linear-gradient(180deg, var(--bg) 0 52%, color-mix(in srgb, var(--accent) 12%, var(--bg)) 52% 100%);
    }

    .variant-immersive,
    .component-identity.variant-immersive {
        min-height: 620px;
    }

    .component-identity.variant-immersive .g-display-name {
        font-size: clamp(3rem, 17vw, 5.5rem);
    }

    .component-profile.variant-ledger .g-profile-block,
    .component-collection.variant-ledger .g-item,
    .component-timeline.variant-editorial .g-item,
    .component-timeline.variant-ledger .g-item,
    .component-index.variant-ledger .g-item {
        display: block;
    }

    .component-collection.variant-split .g-items,
    .component-collection.variant-editorial .g-items {
        display: block;
    }

    .component-collection.variant-split .g-item,
    .component-collection.variant-editorial .g-item,
    .component-collection.variant-editorial .g-item:nth-child(3n + 2) {
        margin: 0 0 52px;
    }

    .component-collection.variant-showcase .g-item:first-child,
    .component-spotlight.variant-split .g-item:first-child,
    .component-spotlight.variant-showcase .g-item:first-child {
        display: block;
    }

    .component-timeline.variant-centered .g-items::before {
        left: 7px;
    }

    .component-timeline.variant-centered .g-item,
    .component-timeline.variant-centered .g-item:nth-child(even) {
        width: 100%;
        margin-left: 0;
        padding-left: 32px;
        text-align: left;
    }

    .component-timeline.variant-centered .g-item::before,
    .component-timeline.variant-centered .g-item:nth-child(even)::before {
        right: auto;
        left: 0;
    }
}

@media print {
    .backdrop-split,
    .backdrop-grid,
    .backdrop-bands,
    .backdrop-halo {
        background: #fff;
    }

    .variant-immersive,
    .component-identity.variant-immersive,
    .component-collection.variant-immersive .g-item {
        min-height: 0;
    }
}

/* Blueprint v4: GPT authors a validated document tree, never HTML or CSS. */
.blueprint-v4 {
    --display-font: var(--sans);
    --body-font: var(--sans);
    --meta-font: var(--sans);
    --display-weight: 780;
    --d-tight: clamp(10px, 1.2vw, 18px);
    --d-normal: clamp(20px, 2.8vw, 44px);
    --d-wide: clamp(40px, 5.5vw, 88px);
    --d-huge: clamp(78px, 10vw, 170px);
    --d-display: clamp(3rem, 8vw, 8.8rem);
    --d-display-quiet: clamp(2rem, 4.5vw, 5rem);
    --d-display-dominant: clamp(4rem, 12vw, 12rem);
    --d-title: clamp(1.6rem, 3.4vw, 4.2rem);
    font-family: var(--body-font);
}

.blueprint-v4 .d-page {
    position: relative;
    isolation: isolate;
    width: min(100%, 1920px);
    min-height: 100vh;
    margin: 0 auto;
    padding: 0 var(--page-pad);
}

.blueprint-v4 .d-navigation {
    position: relative;
    z-index: 50;
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: var(--d-normal);
    border-bottom: 1px solid var(--line);
}

.blueprint-v4 .d-brand {
    overflow: hidden;
    font-family: var(--meta-font);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-decoration: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.blueprint-v4 .d-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.blueprint-v4 .d-nav-links a {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    font-family: var(--meta-font);
    font-size: .62rem;
    font-weight: 800;
    text-decoration: none;
}

.blueprint-v4 .d-canvas {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(20px, 2.6vw, 44px);
    align-items: start;
    padding: clamp(34px, 6vw, 100px) 0 clamp(100px, 14vw, 220px);
}

/* The global composition changes the page silhouette before individual nodes do. */
.blueprint-v4.composition-flow .d-canvas {
    width: min(100%, 1180px);
    margin: 0 auto;
    row-gap: var(--d-wide);
}

.blueprint-v4.composition-editorial .d-canvas {
    width: min(100%, 1480px);
    margin: 0 auto;
    column-gap: clamp(28px, 4vw, 72px);
}

.blueprint-v4.composition-editorial .d-canvas > .d-node {
    border-top: 1px solid var(--line);
    padding-top: var(--d-tight);
}

.blueprint-v4.composition-mosaic .d-canvas {
    width: min(100%, 1720px);
    margin: 0 auto;
    grid-auto-flow: dense;
    column-gap: clamp(12px, 1.8vw, 30px);
    row-gap: clamp(22px, 3vw, 52px);
}

.blueprint-v4.composition-rail:not(.document-navigation-rail) .d-canvas {
    width: min(100%, 1460px);
    margin: 0 auto;
    padding-left: clamp(0px, 5vw, 84px);
    border-left: 1px solid var(--line);
}

.blueprint-v4.composition-poster .d-canvas {
    padding-top: clamp(18px, 3vw, 48px);
}

.blueprint-v4.composition-poster .d-canvas > .d-node:first-child {
    min-height: calc(100vh - 40px);
    align-content: center;
}

.blueprint-v4 .d-node {
    position: relative;
    min-width: 0;
}

.blueprint-v4 .d-canvas > .d-node {
    margin-bottom: clamp(30px, 6vw, 100px);
    scroll-margin-top: 30px;
}

.blueprint-v4 .d-kind-group,
.blueprint-v4 .d-kind-repeat {
    isolation: isolate;
}

.blueprint-v4 .d-flow-stack {
    display: flex;
    flex-direction: column;
}

.blueprint-v4 .d-flow-row {
    display: flex;
    flex-flow: row wrap;
}

.blueprint-v4 .d-kind-group.d-flow-row > .d-node {
    flex: 1 1 min(100%, 280px);
}

.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-1,
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-2,
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-3 { flex-basis: 180px; }
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-4,
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-5,
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-6 { flex-basis: 320px; }
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-7,
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-8,
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-9 { flex-basis: 500px; }
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-10,
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-11,
.blueprint-v4 .d-kind-group.d-flow-row > .d-column-span-12 { flex-basis: 100%; }

.blueprint-v4 .d-flow-grid {
    display: grid;
    grid-template-columns: repeat(var(--d-columns, 12), minmax(0, 1fr));
    align-items: start;
}

.blueprint-v4 .d-flow-layer {
    display: grid;
    overflow: hidden;
}

.blueprint-v4 .d-flow-layer > .d-node {
    grid-area: 1 / 1;
}

.blueprint-v4 .d-flow-layer > .d-kind-image,
.blueprint-v4 .d-flow-layer > .d-kind-decoration {
    z-index: 1;
    align-self: stretch;
}

.blueprint-v4 .d-flow-layer > .d-kind-group,
.blueprint-v4 .d-flow-layer > .d-kind-text {
    z-index: 2;
    width: min(calc(100% - var(--d-wide) - var(--d-wide)), 920px);
    margin: var(--d-wide);
    align-self: end;
}

.blueprint-v4 .d-kind-repeat > .d-repeat-list {
    width: 100%;
}

.blueprint-v4 .d-kind-repeat.d-flow-stack,
.blueprint-v4 .d-kind-repeat.d-flow-row,
.blueprint-v4 .d-kind-repeat.d-flow-grid,
.blueprint-v4 .d-kind-repeat.d-flow-layer {
    display: block;
}

.blueprint-v4 .d-kind-repeat.d-flow-stack > .d-repeat-list {
    display: flex;
    flex-direction: column;
    gap: var(--d-wide);
}

.blueprint-v4 .d-kind-repeat.d-flow-row > .d-repeat-list {
    display: flex;
    gap: var(--d-normal);
    overflow-x: auto;
    padding: 4px 0 24px;
    scroll-snap-type: x proximity;
}

.blueprint-v4 .d-kind-repeat.d-flow-row > .d-repeat-list > .d-repeat-item {
    flex: 0 0 min(78vw, 520px);
    scroll-snap-align: start;
}

.blueprint-v4 .d-kind-repeat.d-flow-grid > .d-repeat-list {
    display: grid;
    grid-template-columns: repeat(var(--d-columns, 3), minmax(0, 1fr));
    gap: var(--d-normal);
}

.blueprint-v4 .d-kind-repeat.d-flow-layer > .d-repeat-list {
    display: grid;
    gap: var(--d-normal);
}

.blueprint-v4 .d-repeat-item {
    min-width: 0;
}

.blueprint-v4 .d-gap-none { gap: 0; }
.blueprint-v4 .d-gap-tight { gap: var(--d-tight); }
.blueprint-v4 .d-gap-normal { gap: var(--d-normal); }
.blueprint-v4 .d-gap-wide { gap: var(--d-wide); }
.blueprint-v4 .d-gap-huge { gap: var(--d-huge); }

.blueprint-v4 .d-padding-none { padding: 0; }
.blueprint-v4 .d-padding-tight { padding: var(--d-tight); }
.blueprint-v4 .d-padding-normal { padding: var(--d-normal); }
.blueprint-v4 .d-padding-wide { padding: var(--d-wide); }

.blueprint-v4 .d-align-start { align-items: flex-start; text-align: left; }
.blueprint-v4 .d-align-center { align-items: center; text-align: center; }
.blueprint-v4 .d-align-end { align-items: flex-end; text-align: right; }
.blueprint-v4 .d-align-stretch { align-items: stretch; }

.blueprint-v4 .d-surface-white {
    --ink: #111;
    --paper: #fff;
    --muted: #626262;
    --line: rgba(0, 0, 0, .16);
    --soft-line: rgba(0, 0, 0, .06);
    background: #fff;
    color: #111;
}
.blueprint-v4 .d-surface-paper { border: 1px solid var(--soft-line); background: var(--paper); box-shadow: var(--shadow); }
.blueprint-v4 .d-surface-ink { background: var(--ink); color: var(--paper); }
.blueprint-v4 .d-surface-accent { background: var(--accent); color: var(--accent-ink); }
.blueprint-v4 .d-surface-outline { border: 1px solid var(--line); }
.blueprint-v4 .d-surface-glass {
    border: 1px solid var(--line);
    background: color-mix(in srgb, var(--paper) 78%, transparent);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.blueprint-v4 .d-surface-ink,
.blueprint-v4 .d-surface-accent {
    --line: rgba(255, 255, 255, .25);
    --muted: rgba(255, 255, 255, .72);
}

.blueprint-v4 .d-height-compact { min-height: clamp(200px, 32vh, 400px); }
.blueprint-v4 .d-height-tall { min-height: clamp(520px, 75vh, 920px); }
.blueprint-v4 .d-height-screen { min-height: calc(100vh - 30px); }

.blueprint-v4 .d-shape-square { border-radius: 0; }
.blueprint-v4 .d-shape-soft { border-radius: var(--radius); }
.blueprint-v4 .d-shape-round { border-radius: clamp(30px, 6vw, 100px); }
.blueprint-v4 .d-shape-pill { border-radius: 999px; }

.blueprint-v4 .d-emphasis-quiet { opacity: .72; }
.blueprint-v4 .d-emphasis-strong { z-index: 3; }
.blueprint-v4 .d-emphasis-dominant { z-index: 4; }
.blueprint-v4 .d-emphasis-dominant.d-kind-group,
.blueprint-v4 .d-emphasis-dominant.d-kind-repeat { box-shadow: var(--shadow); }

.blueprint-v4 .d-tone-ink { color: var(--ink); }
.blueprint-v4 .d-tone-paper { color: var(--paper); }
.blueprint-v4 .d-tone-muted { color: var(--muted); }
.blueprint-v4 .d-tone-accent { color: var(--signal); }

.design-editor-mode [data-design-node-id] { cursor: pointer; }
.design-editor-mode [data-design-node-id].design-editor-hover {
    outline: 2px dashed color-mix(in srgb, var(--signal) 72%, #ffffff);
    outline-offset: -2px;
}
.design-editor-mode [data-design-node-id].design-editor-selected {
    outline: 3px solid var(--signal);
    outline-offset: -3px;
}
.design-editor-mode.design-editor-drag-mode [data-design-node-id].design-editor-selected {
    cursor: grab;
    touch-action: none;
}
.design-editor-mode.design-editor-drag-mode [data-design-node-id].design-editor-dragging {
    z-index: 30;
    cursor: grabbing;
    opacity: .82;
    box-shadow: 0 18px 50px color-mix(in srgb, var(--ink) 20%, transparent);
}

.blueprint-v4 .d-position-sticky {
    position: sticky;
    top: 28px;
    z-index: 12;
}

.blueprint-v4 .d-position-overlap-up {
    z-index: 8;
    margin-top: calc(0px - var(--d-wide));
}

.blueprint-v4 .d-position-overlap-side {
    z-index: 8;
    transform: translateX(clamp(-52px, -4vw, -16px));
}

.blueprint-v4 .d-position-overlap-side.d-align-end {
    transform: translateX(clamp(16px, 4vw, 52px));
}

.blueprint-v4 .d-kind-text p,
.blueprint-v4 .d-kind-text h1,
.blueprint-v4 .d-kind-text h2,
.blueprint-v4 .d-kind-text h3 {
    max-width: 100%;
    margin: 0;
}

.blueprint-v4 .d-text-label {
    font-family: var(--meta-font);
    font-size: clamp(.62rem, .8vw, .76rem);
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.blueprint-v4 .d-text-display {
    font-family: var(--display-font);
    font-weight: var(--display-weight);
}

.blueprint-v4 .d-text-display h1,
.blueprint-v4 .d-text-display p {
    max-width: 18ch;
    font-size: var(--d-display);
    letter-spacing: -.065em;
    line-height: .88;
    overflow-wrap: normal;
    text-wrap: balance;
    word-break: keep-all;
}

.blueprint-v4 .d-text-display.d-emphasis-quiet h1,
.blueprint-v4 .d-text-display.d-emphasis-quiet p {
    font-size: var(--d-display-quiet);
}

.blueprint-v4 .d-text-display.d-emphasis-dominant h1,
.blueprint-v4 .d-text-display.d-emphasis-dominant p {
    font-size: var(--d-display-dominant);
    line-height: .8;
}

.blueprint-v4 .d-text-title {
    font-family: var(--display-font);
    font-weight: var(--display-weight);
}

.blueprint-v4 .d-text-title h2,
.blueprint-v4 .d-text-title h3,
.blueprint-v4 .d-text-title p {
    max-width: 24ch;
    font-size: var(--d-title);
    letter-spacing: -.045em;
    line-height: 1.02;
    overflow-wrap: anywhere;
}

.blueprint-v4 .d-text-lead p {
    max-width: 34ch;
    font-family: var(--display-font);
    font-size: clamp(1.35rem, 2.5vw, 2.5rem);
    font-weight: 560;
    line-height: 1.35;
}

.blueprint-v4 .d-text-body p {
    max-width: 58ch;
    font-size: clamp(.98rem, 1.25vw, 1.16rem);
    line-height: 1.85;
    white-space: pre-line;
}

.blueprint-v4 .d-text-meta p {
    color: var(--muted);
    font-family: var(--meta-font);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .06em;
}

.blueprint-v4 .d-text-quote .d-quote-copy {
    max-width: 28ch;
    font-family: var(--serif);
    font-size: clamp(1.8rem, 4.5vw, 5rem);
    font-weight: 500;
    line-height: 1.18;
}

.blueprint-v4 .d-kind-image,
.blueprint-v4 .d-image-frame,
.blueprint-v4 .d-image-frame img {
    width: 100%;
}

.blueprint-v4 .d-kind-image { overflow: hidden; }
.blueprint-v4 .d-image-frame { height: 100%; overflow: hidden; border-radius: inherit; }
.blueprint-v4 .d-image-frame img { display: block; height: 100%; object-fit: cover; }
.blueprint-v4 .d-ratio-auto .d-image-frame img { min-height: 280px; }
.blueprint-v4 .d-ratio-portrait .d-image-frame { aspect-ratio: 4 / 5; }
.blueprint-v4 .d-ratio-square .d-image-frame { aspect-ratio: 1; }
.blueprint-v4 .d-ratio-landscape .d-image-frame { aspect-ratio: 4 / 3; }
.blueprint-v4 .d-ratio-wide .d-image-frame { aspect-ratio: 16 / 7; }
.blueprint-v4 .d-shape-round.d-kind-image .d-image-frame { border-radius: 50%; aspect-ratio: 1; }

.blueprint-v4 .d-links {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: 10px;
}

.blueprint-v4 .d-links a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-width: min(100%, 220px);
    padding: 12px 16px;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 800;
    text-decoration: none;
}

.blueprint-v4 .d-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.blueprint-v4 .d-tags span {
    padding: 6px 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: .7rem;
}

.blueprint-v4 .d-kind-decoration {
    min-height: 120px;
    pointer-events: none;
}

.blueprint-v4 .d-decoration {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    border: clamp(1px, .5vw, 7px) solid var(--signal);
    background:
        linear-gradient(145deg, transparent 0 38%, color-mix(in srgb, var(--signal) 76%, transparent) 38% 62%, transparent 62% 100%);
}

.blueprint-v4 .d-shape-round .d-decoration { border-radius: 50%; }
.blueprint-v4 .d-shape-pill .d-decoration { border-radius: 999px; }
.blueprint-v4 .d-surface-accent .d-decoration { background: var(--accent); }
.blueprint-v4 .d-surface-ink .d-decoration { background: var(--ink); }

.blueprint-v4 .d-kind-divider { min-height: 1px; }
.blueprint-v4 .d-divider { display: block; width: 100%; height: 1px; background: var(--line); }

/* Type scale affects the whole hierarchy instead of only legacy section templates. */
.blueprint-v4.type-restrained {
    --d-display: clamp(2.45rem, 5vw, 5.2rem);
    --d-display-quiet: clamp(1.8rem, 3.6vw, 3.8rem);
    --d-display-dominant: clamp(3rem, 7vw, 7rem);
    --d-title: clamp(1.45rem, 2.5vw, 3rem);
}

.blueprint-v4.type-expressive {
    --d-display: clamp(3.4rem, 9.5vw, 10rem);
    --d-display-quiet: clamp(2.2rem, 5vw, 5.7rem);
    --d-display-dominant: clamp(4.4rem, 14vw, 13rem);
    --d-title: clamp(1.9rem, 4.2vw, 5rem);
}

.blueprint-v4.type-monumental {
    --d-display: clamp(4rem, 11vw, 11.5rem);
    --d-display-quiet: clamp(2.35rem, 5.6vw, 6.2rem);
    --d-display-dominant: clamp(5rem, 15vw, 14rem);
    --d-title: clamp(2rem, 4.6vw, 5.5rem);
}

.blueprint-v4 .d-columns-1 { --d-columns: 1; }
.blueprint-v4 .d-columns-2 { --d-columns: 2; }
.blueprint-v4 .d-columns-3 { --d-columns: 3; }
.blueprint-v4 .d-columns-4 { --d-columns: 4; }
.blueprint-v4 .d-columns-5 { --d-columns: 5; }
.blueprint-v4 .d-columns-6 { --d-columns: 6; }
.blueprint-v4 .d-columns-7 { --d-columns: 7; }
.blueprint-v4 .d-columns-8 { --d-columns: 8; }
.blueprint-v4 .d-columns-9 { --d-columns: 9; }
.blueprint-v4 .d-columns-10 { --d-columns: 10; }
.blueprint-v4 .d-columns-11 { --d-columns: 11; }
.blueprint-v4 .d-columns-12 { --d-columns: 12; }

.blueprint-v4 .d-column-start-1 { grid-column-start: 1; }
.blueprint-v4 .d-column-start-2 { grid-column-start: 2; }
.blueprint-v4 .d-column-start-3 { grid-column-start: 3; }
.blueprint-v4 .d-column-start-4 { grid-column-start: 4; }
.blueprint-v4 .d-column-start-5 { grid-column-start: 5; }
.blueprint-v4 .d-column-start-6 { grid-column-start: 6; }
.blueprint-v4 .d-column-start-7 { grid-column-start: 7; }
.blueprint-v4 .d-column-start-8 { grid-column-start: 8; }
.blueprint-v4 .d-column-start-9 { grid-column-start: 9; }
.blueprint-v4 .d-column-start-10 { grid-column-start: 10; }
.blueprint-v4 .d-column-start-11 { grid-column-start: 11; }
.blueprint-v4 .d-column-start-12 { grid-column-start: 12; }

.blueprint-v4 .d-column-span-1 { grid-column-end: span 1; }
.blueprint-v4 .d-column-span-2 { grid-column-end: span 2; }
.blueprint-v4 .d-column-span-3 { grid-column-end: span 3; }
.blueprint-v4 .d-column-span-4 { grid-column-end: span 4; }
.blueprint-v4 .d-column-span-5 { grid-column-end: span 5; }
.blueprint-v4 .d-column-span-6 { grid-column-end: span 6; }
.blueprint-v4 .d-column-span-7 { grid-column-end: span 7; }
.blueprint-v4 .d-column-span-8 { grid-column-end: span 8; }
.blueprint-v4 .d-column-span-9 { grid-column-end: span 9; }
.blueprint-v4 .d-column-span-10 { grid-column-end: span 10; }
.blueprint-v4 .d-column-span-11 { grid-column-end: span 11; }
.blueprint-v4 .d-column-span-12 { grid-column-end: span 12; }

.blueprint-v4.document-navigation-rail .d-page {
    display: grid;
    grid-template-columns: minmax(145px, 17vw) minmax(0, 1fr);
    column-gap: var(--d-normal);
}

.blueprint-v4.document-navigation-rail .d-navigation {
    position: sticky;
    top: 0;
    height: 100vh;
    flex-direction: column;
    align-items: flex-start;
    padding: var(--d-normal) var(--d-normal) var(--d-normal) 0;
    border-right: 1px solid var(--line);
    border-bottom: 0;
}

.blueprint-v4.document-navigation-rail .d-nav-links { flex-direction: column; }
.blueprint-v4.document-navigation-rail .d-canvas,
.blueprint-v4.document-navigation-rail .d-footer { grid-column: 2; }

.blueprint-v4.document-navigation-floating .d-navigation {
    position: fixed;
    top: 18px;
    right: 18px;
    left: 18px;
    min-height: 58px;
    padding: 10px 12px 10px 20px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: color-mix(in srgb, var(--paper) 84%, transparent);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.blueprint-v4.document-navigation-floating .d-canvas { padding-top: 112px; }

.blueprint-v4.canvas-clean .d-surface-paper,
.blueprint-v4.canvas-clean .d-surface-glass { box-shadow: none; }
.blueprint-v4.canvas-paper .d-page { background: color-mix(in srgb, var(--paper) 72%, transparent); }
.blueprint-v4.canvas-ink { background: var(--ink); color: var(--paper); }
.blueprint-v4.canvas-poster .d-page::before {
    position: fixed;
    z-index: -1;
    top: -18vw;
    right: -15vw;
    width: 54vw;
    height: 54vw;
    border: clamp(50px, 9vw, 170px) solid color-mix(in srgb, var(--signal) 78%, transparent);
    border-radius: 50%;
    content: "";
    opacity: .3;
}
.blueprint-v4.canvas-gallery .d-image-frame { background: var(--paper); box-shadow: 0 28px 72px rgba(23, 32, 25, .16); }
.blueprint-v4.canvas-gallery .d-kind-repeat.d-flow-grid > .d-repeat-list { gap: clamp(24px, 4vw, 76px); }
.blueprint-v4.canvas-notebook .d-page { border-left: clamp(8px, 1.5vw, 24px) solid var(--accent); }
.blueprint-v4.canvas-notebook .d-canvas > .d-node { border-bottom: 1px solid var(--line); padding-bottom: var(--d-wide); }
.blueprint-v4.backdrop-frame .d-page { border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.blueprint-v4.ornament-rules .d-canvas > .d-node::before { display: block; width: 100%; height: 1px; margin-bottom: var(--d-tight); background: var(--line); content: ""; }
.blueprint-v4.ornament-labels .d-canvas > .d-node::after { position: absolute; top: 8px; right: 8px; color: var(--muted); font-family: var(--meta-font); font-size: .6rem; letter-spacing: .15em; content: "IAM"; }
.blueprint-v4.ornament-circles .d-canvas::before { position: fixed; z-index: -1; top: 10vh; right: -12vw; width: 38vw; height: 38vw; border: 1px solid var(--line); border-radius: 50%; content: ""; }
.blueprint-v4.ornament-blocks .d-canvas > .d-node:nth-child(even)::before { position: absolute; z-index: -1; inset: -18px; background: color-mix(in srgb, var(--accent) 8%, transparent); content: ""; }
.blueprint-v4.ornament-underline .d-text-title h2,
.blueprint-v4.ornament-underline .d-text-title h3 { text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: .1em; text-underline-offset: .16em; }

.blueprint-v4 .d-footer {
    padding: 28px 0 46px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-family: var(--meta-font);
    font-size: .7rem;
}

.blueprint-v4 .d-footer p { margin: 0; }

@media (max-width: 960px) {
    .blueprint-v4 .d-column-start-1,
    .blueprint-v4 .d-column-start-2,
    .blueprint-v4 .d-column-start-3,
    .blueprint-v4 .d-column-start-4,
    .blueprint-v4 .d-column-start-5,
    .blueprint-v4 .d-column-start-6,
    .blueprint-v4 .d-column-start-7,
    .blueprint-v4 .d-column-start-8,
    .blueprint-v4 .d-column-start-9,
    .blueprint-v4 .d-column-start-10,
    .blueprint-v4 .d-column-start-11,
    .blueprint-v4 .d-column-start-12 { grid-column-start: 1; }

    .blueprint-v4 .d-column-span-1,
    .blueprint-v4 .d-column-span-2,
    .blueprint-v4 .d-column-span-3,
    .blueprint-v4 .d-column-span-4,
    .blueprint-v4 .d-column-span-5,
    .blueprint-v4 .d-column-span-6,
    .blueprint-v4 .d-column-span-7,
    .blueprint-v4 .d-column-span-8,
    .blueprint-v4 .d-column-span-9,
    .blueprint-v4 .d-column-span-10,
    .blueprint-v4 .d-column-span-11,
    .blueprint-v4 .d-column-span-12 { grid-column-end: -1; }

    .blueprint-v4 .d-kind-group.d-flow-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .blueprint-v4 .d-kind-group.d-flow-grid > .d-node { grid-column: 1 / -1; }
    .blueprint-v4 .d-kind-repeat.d-flow-grid > .d-repeat-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .blueprint-v4.composition-rail:not(.document-navigation-rail) .d-canvas { padding-left: 0; border-left: 0; }
    .blueprint-v4.document-navigation-rail .d-page { display: block; }
    .blueprint-v4.document-navigation-rail .d-navigation { position: relative; height: auto; flex-direction: row; align-items: center; padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .blueprint-v4.document-navigation-rail .d-nav-links { flex-direction: row; }
}

@media (max-width: 680px) {
    .blueprint-v4 .d-page { padding: 0 18px; }
    .blueprint-v4 .d-nav-links { display: none; }
    .blueprint-v4 .d-canvas { display: block; padding-top: 34px; }
    .blueprint-v4 .d-canvas > .d-node { width: 100%; margin-bottom: 56px; }
    .blueprint-v4 .d-kind-group.d-flow-row,
    .blueprint-v4 .d-kind-group.d-flow-grid { display: flex; flex-direction: column; }
    .blueprint-v4 .d-kind-repeat.d-flow-grid > .d-repeat-list { grid-template-columns: 1fr; }
    .blueprint-v4 .d-flow-layer > .d-kind-group,
    .blueprint-v4 .d-flow-layer > .d-kind-text { width: calc(100% - 36px); margin: 18px; }
    .blueprint-v4 .d-height-screen { min-height: 640px; }
    .blueprint-v4 .d-position-sticky { position: relative; top: auto; }
    .blueprint-v4 .d-position-overlap-side { transform: none; }
    .blueprint-v4 .d-text-display h1,
    .blueprint-v4 .d-text-display p { font-size: clamp(2.7rem, 15vw, 5rem); }
    .blueprint-v4 .d-text-display.d-emphasis-dominant h1,
    .blueprint-v4 .d-text-display.d-emphasis-dominant p { font-size: clamp(3.2rem, 18vw, 6rem); }
    .blueprint-v4.composition-poster .d-canvas > .d-node:first-child { min-height: min(760px, 92vh); }
    .blueprint-v4.document-navigation-floating .d-navigation { top: 10px; right: 10px; left: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .blueprint-v4 * { scroll-behavior: auto; }
}

@media print {
    .blueprint-v4 .d-page { width: 100%; padding: 0; }
    .blueprint-v4 .d-navigation,
    .blueprint-v4 .d-position-sticky { position: static; }
}

/* V30: preserve the AI-authored composition; only contain rendering failures. */
.blueprint-v4.quality-v2 {
    overflow-x: clip;
}

.blueprint-v4.quality-v2 .d-page,
.blueprint-v4.quality-v2 .d-canvas,
.blueprint-v4.quality-v2 .d-node,
.blueprint-v4.quality-v2 .d-repeat-list,
.blueprint-v4.quality-v2 .d-repeat-item {
    min-width: 0;
    max-width: 100%;
}

.blueprint-v4.quality-v2 .d-kind-group,
.blueprint-v4.quality-v2 .d-kind-repeat,
.blueprint-v4.quality-v2 .d-repeat-item {
    container-type: inline-size;
}

.blueprint-v4.quality-v2 .d-kind-text,
.blueprint-v4.quality-v2 .d-kind-text > * {
    min-width: 0;
    max-width: 100%;
}

.blueprint-v4.quality-v2 .d-kind-text h1,
.blueprint-v4.quality-v2 .d-kind-text h2,
.blueprint-v4.quality-v2 .d-kind-text h3,
.blueprint-v4.quality-v2 .d-kind-text p,
.blueprint-v4.quality-v2 .d-links a,
.blueprint-v4.quality-v2 .d-tags span {
    overflow-wrap: anywhere;
    word-break: keep-all;
}

.blueprint-v4.quality-v2 .d-text-display h1,
.blueprint-v4.quality-v2 .d-text-display p {
    font-size: min(var(--d-display), 10cqi);
    line-height: .96;
}

.blueprint-v4.quality-v2 .d-text-display.d-copy-micro h1,
.blueprint-v4.quality-v2 .d-text-display.d-copy-micro p {
    font-size: min(var(--d-display), 22cqi);
}

.blueprint-v4.quality-v2 .d-text-display.d-copy-medium h1,
.blueprint-v4.quality-v2 .d-text-display.d-copy-medium p {
    font-size: min(var(--d-display), 6cqi);
    line-height: 1;
}

.blueprint-v4.quality-v2 .d-text-display.d-copy-long h1,
.blueprint-v4.quality-v2 .d-text-display.d-copy-long p {
    font-size: min(var(--d-display), 4.5cqi);
    line-height: 1.08;
}

.blueprint-v4.quality-v2 .d-text-title h2,
.blueprint-v4.quality-v2 .d-text-title h3,
.blueprint-v4.quality-v2 .d-text-title p {
    line-height: 1.08;
}

.blueprint-v4.quality-v2 .d-text-lead p,
.blueprint-v4.quality-v2 .d-text-quote p {
    line-height: 1.4;
}

.blueprint-v4.quality-v2 .d-text-body p {
    max-width: min(100%, 68ch);
    line-height: 1.72;
}

.blueprint-v4.quality-v2 .d-flow-grid,
.blueprint-v4.quality-v2 .d-kind-repeat.d-flow-grid > .d-repeat-list {
    max-width: 100%;
}

.blueprint-v4.quality-v2 .d-flow-layer {
    max-width: 100%;
}

.blueprint-v4.quality-v2 .d-image-frame,
.blueprint-v4.quality-v2 .d-image-frame img {
    max-width: 100%;
}

.blueprint-v4.quality-v2 .d-image-frame img {
    display: block;
    width: 100%;
}

@media (max-width: 680px) {
    .blueprint-v4.quality-v2 .d-text-display h1,
    .blueprint-v4.quality-v2 .d-text-display p,
    .blueprint-v4.quality-v2 .d-text-display.d-emphasis-dominant h1,
    .blueprint-v4.quality-v2 .d-text-display.d-emphasis-dominant p {
        font-size: min(var(--d-display), 15vw);
        line-height: .98;
    }

    .blueprint-v4.quality-v2 .d-text-display.d-copy-medium h1,
    .blueprint-v4.quality-v2 .d-text-display.d-copy-medium p,
    .blueprint-v4.quality-v2 .d-text-display.d-copy-long h1,
    .blueprint-v4.quality-v2 .d-text-display.d-copy-long p {
        font-size: min(var(--d-display), 11vw);
    }
}

/* IAM Blueprint v5: compiled motion and spatial depth. */
.blueprint-v5 {
    overflow-x: clip;
}

.blueprint-v5 .d-canvas {
    isolation: isolate;
}

.blueprint-v5 .d-node {
    --iam-motion-y: 0px;
}

.blueprint-v5 .d-height-screen {
    min-height: min(100svh, 980px);
}

.blueprint-v5 .d-image-frame {
    overflow: clip;
    transform: translateZ(0);
}

.blueprint-v5 .d-image-frame img {
    transition: transform 1.2s cubic-bezier(.2, .75, .18, 1);
}

@media (hover: hover) and (pointer: fine) {
    .blueprint-v5 .d-image-frame:hover img {
        transform: scale(1.025);
    }
}

.iam-motion-ready .blueprint-v5 [data-design-motion="reveal"],
.iam-motion-ready .blueprint-v5 [data-design-motion="rise"],
.iam-motion-ready .blueprint-v5 [data-design-motion="slide-left"],
.iam-motion-ready .blueprint-v5 [data-design-motion="slide-right"],
.iam-motion-ready .blueprint-v5 [data-design-motion="scale"] {
    opacity: 0;
    transition:
        opacity .82s cubic-bezier(.2, .75, .18, 1),
        transform .92s cubic-bezier(.2, .75, .18, 1);
    will-change: opacity, transform;
}

.iam-motion-ready .blueprint-v5 [data-design-motion="rise"] {
    transform: translate3d(0, 34px, 0);
}

.iam-motion-ready .blueprint-v5 [data-design-motion="slide-left"] {
    transform: translate3d(-42px, 0, 0);
}

.iam-motion-ready .blueprint-v5 [data-design-motion="slide-right"] {
    transform: translate3d(42px, 0, 0);
}

.iam-motion-ready .blueprint-v5 [data-design-motion="scale"] {
    transform: scale(.96);
}

.iam-motion-ready .blueprint-v5 .iam-motion-visible[data-design-motion="reveal"],
.iam-motion-ready .blueprint-v5 .iam-motion-visible[data-design-motion="rise"],
.iam-motion-ready .blueprint-v5 .iam-motion-visible[data-design-motion="slide-left"],
.iam-motion-ready .blueprint-v5 .iam-motion-visible[data-design-motion="slide-right"],
.iam-motion-ready .blueprint-v5 .iam-motion-visible[data-design-motion="scale"] {
    opacity: 1;
    transform: none;
    will-change: auto;
}

.blueprint-v5 [data-design-motion="drift"],
.blueprint-v5 [data-design-motion="parallax"] {
    transform: translate3d(0, var(--iam-motion-y), 0);
    transition: transform .12s linear;
    will-change: transform;
}

@media (max-width: 720px) {
    .blueprint-v5 .d-height-screen {
        min-height: auto;
    }

    .iam-motion-ready .blueprint-v5 [data-design-motion="slide-left"],
    .iam-motion-ready .blueprint-v5 [data-design-motion="slide-right"] {
        transform: translate3d(0, 24px, 0);
    }

    .blueprint-v5 [data-design-motion="parallax"] {
        transform: translate3d(0, calc(var(--iam-motion-y) * .4), 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .blueprint-v5 *,
    .blueprint-v5 *::before,
    .blueprint-v5 *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    .blueprint-v5 [data-design-motion] {
        opacity: 1 !important;
        transform: none !important;
    }
}

@media print {
    .blueprint-v5 [data-design-motion] {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Blueprint v6 removes the house composition while preserving containment. */
.blueprint-v6 {
    overflow-x: clip;
}

.blueprint-v6 .d-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.blueprint-v6 .d-canvas {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.blueprint-v6 .d-canvas > .d-node {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 0;
}

.blueprint-v6 .d-node,
.blueprint-v6 .d-repeat-list,
.blueprint-v6 .d-repeat-item,
.blueprint-v6 .d-image-frame {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.blueprint-v6 .d-kind-group,
.blueprint-v6 .d-kind-repeat,
.blueprint-v6 .d-repeat-item {
    background-clip: padding-box;
}

.blueprint-v6 .d-kind-text > :is(h1, h2, h3, p) {
    max-width: 100%;
    margin: 0;
    overflow-wrap: anywhere;
    word-break: keep-all;
    text-wrap: pretty;
}

.blueprint-v6 .d-image-frame,
.blueprint-v6 .d-image-frame img {
    width: 100%;
}

.blueprint-v6 .d-image-frame img {
    display: block;
    height: 100%;
}

.blueprint-v6 .d-links a,
.blueprint-v6 .d-tags span {
    max-width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 720px) {
    .blueprint-v6 .d-page,
    .blueprint-v6 .d-canvas,
    .blueprint-v6 .d-node,
    .blueprint-v6 .d-repeat-list,
    .blueprint-v6 .d-repeat-item {
        max-width: 100%;
    }

    .blueprint-v6 .d-canvas > .d-node {
        grid-column: 1 / -1 !important;
    }

    .blueprint-v6 .d-flow-row,
    .blueprint-v6 .d-flow-grid,
    .blueprint-v6 .d-kind-repeat.d-flow-grid > .d-repeat-list {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .blueprint-v6 *,
    .blueprint-v6 *::before,
    .blueprint-v6 *::after {
        scroll-behavior: auto !important;
    }
}

/* Blueprint v6: AI-authored declarations compiled through IAM allowlists. */
.blueprint-v6 {
    background-color: #F7F5ED !important;
    color: #10251E !important;
    background-image: none !important;
    font-family: var(--sans) !important;
}
.blueprint-v6 [data-design-node-id="1"] {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    min-height: 100svh !important;
    padding-inline: 76px !important;
    padding-block: 62px !important;
    column-gap: 28px !important;
    row-gap: 20px !important;
    background-color: #C8FF3D !important;
    color: #10251E !important;
    overflow: hidden !important;
}
.blueprint-v6 [data-design-node-id="2"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.833vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}
.blueprint-v6 [data-design-node-id="3"] > :is(h1, h2, h3, p) {
    font-size: clamp(34px, 4.306vw, 62px) !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
    letter-spacing: -4px !important;
    text-wrap: balance !important;
}
.blueprint-v6 [data-design-node-id="4"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 1.319vw, 19px) !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
}
.blueprint-v6 [data-design-node-id="5"] {
    aspect-ratio: 3 / 4 !important;
    z-index: 1 !important;
}
.blueprint-v6 [data-design-node-id="5"] > .d-image-frame > img {
    object-fit: cover !important;
    object-position: center !important;
}
.blueprint-v6 [data-design-node-id="6"] {
    background-color: #10251E !important;
    padding-inline: 20px !important;
    padding-block: 17px !important;
    gap: 5px !important;
    z-index: 2 !important;
}
.blueprint-v6 [data-design-node-id="7"] > :is(h1, h2, h3, p) {
    font-size: clamp(17px, 2.083vw, 30px) !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: -1px !important;
}
.blueprint-v6 [data-design-node-id="8"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.903vw, 13px) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0px !important;
}
.blueprint-v6 [data-design-node-id="9"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.903vw, 13px) !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    color: #C8FF3D !important;
}
.blueprint-v6 [data-design-node-id="10"] {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    padding-inline: 76px !important;
    padding-block: 104px !important;
    column-gap: 32px !important;
    row-gap: 26px !important;
    background-color: #F7F5ED !important;
    color: #10251E !important;
}
.blueprint-v6 [data-design-node-id="11"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.833vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    color: #427B12 !important;
}
.blueprint-v6 [data-design-node-id="12"] > :is(h1, h2, h3, p) {
    font-size: clamp(25px, 3.194vw, 46px) !important;
    font-weight: 820 !important;
    line-height: 1.21 !important;
    letter-spacing: -3px !important;
    text-wrap: balance !important;
}
.blueprint-v6 [data-design-node-id="13"] > :is(h1, h2, h3, p) {
    font-size: clamp(11px, 1.389vw, 20px) !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
}
.blueprint-v6 [data-design-node-id="14"] {
    margin-top: 28px !important;
    border-color: #B6C0B9 !important;
    border-style: solid !important;
    border-width: 1px !important;
    border-radius: 0px !important;
}
.blueprint-v6 [data-design-node-id="14"] > .d-repeat-list {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 0px !important;
}
.blueprint-v6 [data-design-node-id="15"] {
    display: grid !important;
    grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
    padding-inline: 34px !important;
    padding-block: 34px !important;
    column-gap: 18px !important;
    row-gap: 18px !important;
}
.blueprint-v6 [data-design-node-id="16"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.833vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    color: #427B12 !important;
}
.blueprint-v6 [data-design-node-id="17"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.833vw, 12px) !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    color: #63716B !important;
}
.blueprint-v6 [data-design-node-id="18"] > :is(h1, h2, h3, p) {
    font-size: clamp(19px, 2.361vw, 34px) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -2px !important;
}
.blueprint-v6 [data-design-node-id="19"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 1.250vw, 18px) !important;
    font-weight: 620 !important;
    line-height: 1.6 !important;
}
.blueprint-v6 [data-design-node-id="20"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 1.181vw, 17px) !important;
    font-weight: 450 !important;
    line-height: 1.8 !important;
}
.blueprint-v6 [data-design-node-id="21"] {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    padding-inline: 76px !important;
    padding-block: 104px !important;
    column-gap: 30px !important;
    row-gap: 24px !important;
    background-color: #10251E !important;
    color: #F7F5ED !important;
}
.blueprint-v6 [data-design-node-id="22"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.833vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    color: #C8FF3D !important;
}
.blueprint-v6 [data-design-node-id="23"] > :is(h1, h2, h3, p) {
    font-size: clamp(26px, 3.333vw, 48px) !important;
    font-weight: 820 !important;
    line-height: 1.17 !important;
    letter-spacing: -3px !important;
}
.blueprint-v6 [data-design-node-id="24"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 1.319vw, 19px) !important;
    font-weight: 450 !important;
    line-height: 1.75 !important;
}
.blueprint-v6 [data-design-node-id="25"] {
    padding-inline: 20px !important;
    padding-block: 19px !important;
    background-color: #C8FF3D !important;
}
.blueprint-v6 [data-design-node-id="25"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 1.181vw, 17px) !important;
    font-weight: 700 !important;
    line-height: 1.58 !important;
}
.blueprint-v6 [data-design-node-id="26"] {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    padding-inline: 76px !important;
    padding-block: 102px !important;
    column-gap: 28px !important;
    row-gap: 24px !important;
    background-color: #F7F5ED !important;
    color: #10251E !important;
    overflow: hidden !important;
}
.blueprint-v6 [data-design-node-id="27"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.833vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    color: #427B12 !important;
}
.blueprint-v6 [data-design-node-id="28"] > :is(h1, h2, h3, p) {
    font-size: clamp(26px, 3.264vw, 47px) !important;
    font-weight: 820 !important;
    line-height: 1.2 !important;
    letter-spacing: -3px !important;
}
.blueprint-v6 [data-design-node-id="29"] {
    margin-top: 28px !important;
    width: 100% !important;
}
.blueprint-v6 [data-design-node-id="29"] > .d-repeat-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}
.blueprint-v6 [data-design-node-id="30"] {
    padding-inline: 26px !important;
    padding-block: 28px !important;
    gap: 15px !important;
    background-color: #FFFFFF !important;
    border-color: #10251E !important;
    border-style: solid !important;
    border-width: 2px !important;
}
.blueprint-v6 [data-design-node-id="31"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.764vw, 11px) !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    color: #427B12 !important;
}
.blueprint-v6 [data-design-node-id="32"] > :is(h1, h2, h3, p) {
    font-size: clamp(16px, 2.014vw, 29px) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -2px !important;
}
.blueprint-v6 [data-design-node-id="33"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 1.111vw, 16px) !important;
    font-weight: 460 !important;
    line-height: 1.68 !important;
}
.blueprint-v6 [data-design-node-id="34"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.833vw, 12px) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #63716B !important;
}
.blueprint-v6 [data-design-node-id="35"] {
    margin-top: 3px !important;
}
.blueprint-v6 [data-design-node-id="36"] {
    padding-inline: 13px !important;
    padding-block: 10px !important;
    background-color: #C8FF3D !important;
    color: #10251E !important;
    margin-top: 4px !important;
    align-self: flex-start !important;
}
.blueprint-v6 [data-design-node-id="37"] {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    padding-inline: 76px !important;
    padding-block: 86px !important;
    column-gap: 28px !important;
    row-gap: 21px !important;
    background-color: #C8FF3D !important;
    color: #10251E !important;
}
.blueprint-v6 [data-design-node-id="38"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 0.833vw, 12px) !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: 2px !important;
}
.blueprint-v6 [data-design-node-id="39"] > :is(h1, h2, h3, p) {
    font-size: clamp(26px, 3.264vw, 47px) !important;
    font-weight: 830 !important;
    line-height: 1.18 !important;
    letter-spacing: -3px !important;
}
.blueprint-v6 [data-design-node-id="40"] > :is(h1, h2, h3, p) {
    font-size: clamp(10px, 1.319vw, 19px) !important;
    font-weight: 600 !important;
    line-height: 1.58 !important;
}
.blueprint-v6 [data-design-node-id="41"] {
    padding-inline: 20px !important;
    padding-block: 15px !important;
    background-color: #10251E !important;
    color: #F7F5ED !important;
    align-self: flex-start !important;
}
@media (max-width: 720px) {
    .blueprint-v6 {
        background-color: #F7F5ED !important;
        color: #10251E !important;
        background-image: none !important;
        font-family: var(--sans) !important;
    }
    .blueprint-v6 [data-design-node-id="1"] {
        display: grid !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        padding-inline: 20px !important;
        padding-block: 34px !important;
        row-gap: 16px !important;
        min-height: auto !important;
    }
    .blueprint-v6 [data-design-node-id="2"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="2"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.764vw, 11px) !important;
    }
    .blueprint-v6 [data-design-node-id="3"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        max-width: none !important;
    }
    .blueprint-v6 [data-design-node-id="3"] > :is(h1, h2, h3, p) {
        font-size: clamp(20px, 2.569vw, 37px) !important;
        line-height: 1.12 !important;
        letter-spacing: -2px !important;
    }
    .blueprint-v6 [data-design-node-id="4"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="4"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 1.181vw, 17px) !important;
    }
    .blueprint-v6 [data-design-node-id="5"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        aspect-ratio: 4 / 3 !important;
        min-height: auto !important;
        order: 5 !important;
    }
    .blueprint-v6 [data-design-node-id="6"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        padding-inline: 16px !important;
        padding-block: 14px !important;
        order: 6 !important;
    }
    .blueprint-v6 [data-design-node-id="7"] > :is(h1, h2, h3, p) {
        font-size: clamp(15px, 1.875vw, 27px) !important;
    }
    .blueprint-v6 [data-design-node-id="8"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.903vw, 13px) !important;
    }
    .blueprint-v6 [data-design-node-id="9"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.903vw, 13px) !important;
    }
    .blueprint-v6 [data-design-node-id="10"] {
        display: grid !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        padding-inline: 20px !important;
        padding-block: 62px !important;
        row-gap: 18px !important;
    }
    .blueprint-v6 [data-design-node-id="11"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        align-self: auto !important;
    }
    .blueprint-v6 [data-design-node-id="11"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.764vw, 11px) !important;
    }
    .blueprint-v6 [data-design-node-id="12"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="12"] > :is(h1, h2, h3, p) {
        font-size: clamp(17px, 2.083vw, 30px) !important;
        line-height: 1.3 !important;
        letter-spacing: -2px !important;
    }
    .blueprint-v6 [data-design-node-id="13"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="13"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 1.181vw, 17px) !important;
        line-height: 1.65 !important;
    }
    .blueprint-v6 [data-design-node-id="14"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        margin-top: 8px !important;
    }
    .blueprint-v6 [data-design-node-id="15"] {
        display: grid !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        padding-inline: 18px !important;
        padding-block: 22px !important;
        row-gap: 12px !important;
    }
    .blueprint-v6 [data-design-node-id="16"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="17"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="17"] > :is(h1, h2, h3, p) {
        text-align: left !important;
    }
    .blueprint-v6 [data-design-node-id="18"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="18"] > :is(h1, h2, h3, p) {
        font-size: clamp(14px, 1.736vw, 25px) !important;
        line-height: 1.32 !important;
    }
    .blueprint-v6 [data-design-node-id="19"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="19"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 1.111vw, 16px) !important;
        line-height: 1.6 !important;
    }
    .blueprint-v6 [data-design-node-id="20"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        max-width: none !important;
    }
    .blueprint-v6 [data-design-node-id="20"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 1.111vw, 16px) !important;
        line-height: 1.78 !important;
    }
    .blueprint-v6 [data-design-node-id="21"] {
        display: grid !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        padding-inline: 20px !important;
        padding-block: 60px !important;
        row-gap: 17px !important;
    }
    .blueprint-v6 [data-design-node-id="22"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="22"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.764vw, 11px) !important;
    }
    .blueprint-v6 [data-design-node-id="23"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="23"] > :is(h1, h2, h3, p) {
        font-size: clamp(17px, 2.153vw, 31px) !important;
        line-height: 1.28 !important;
        letter-spacing: -2px !important;
    }
    .blueprint-v6 [data-design-node-id="24"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        max-width: none !important;
    }
    .blueprint-v6 [data-design-node-id="24"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 1.181vw, 17px) !important;
        line-height: 1.7 !important;
    }
    .blueprint-v6 [data-design-node-id="25"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        padding-inline: 17px !important;
        padding-block: 16px !important;
    }
    .blueprint-v6 [data-design-node-id="25"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 1.111vw, 16px) !important;
    }
    .blueprint-v6 [data-design-node-id="26"] {
        display: grid !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        padding-inline: 20px !important;
        padding-block: 60px !important;
        row-gap: 17px !important;
    }
    .blueprint-v6 [data-design-node-id="27"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="27"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.764vw, 11px) !important;
    }
    .blueprint-v6 [data-design-node-id="28"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="28"] > :is(h1, h2, h3, p) {
        font-size: clamp(17px, 2.083vw, 30px) !important;
        line-height: 1.3 !important;
        letter-spacing: -2px !important;
    }
    .blueprint-v6 [data-design-node-id="29"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        margin-top: 14px !important;
    }
    .blueprint-v6 [data-design-node-id="29"] > .d-repeat-list {
        display: grid !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        gap: 36px !important;
    }
    .blueprint-v6 [data-design-node-id="30"] {
        padding-inline: 18px !important;
        padding-block: 21px !important;
        gap: 12px !important;
        min-height: auto !important;
    }
    .blueprint-v6 [data-design-node-id="31"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.764vw, 11px) !important;
    }
    .blueprint-v6 [data-design-node-id="32"] > :is(h1, h2, h3, p) {
        font-size: clamp(13px, 1.667vw, 24px) !important;
        line-height: 1.3 !important;
    }
    .blueprint-v6 [data-design-node-id="33"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 1.111vw, 16px) !important;
        line-height: 1.65 !important;
    }
    .blueprint-v6 [data-design-node-id="34"] {
        margin-top: 8px !important;
    }
    .blueprint-v6 [data-design-node-id="34"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.833vw, 12px) !important;
    }
    .blueprint-v6 [data-design-node-id="35"] {
        margin-top: 2px !important;
    }
    .blueprint-v6 [data-design-node-id="36"] {
        padding-inline: 13px !important;
        padding-block: 10px !important;
    }
    .blueprint-v6 [data-design-node-id="37"] {
        display: grid !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        padding-inline: 20px !important;
        padding-block: 53px !important;
        row-gap: 16px !important;
    }
    .blueprint-v6 [data-design-node-id="38"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="38"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 0.764vw, 11px) !important;
    }
    .blueprint-v6 [data-design-node-id="39"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="39"] > :is(h1, h2, h3, p) {
        font-size: clamp(17px, 2.083vw, 30px) !important;
        line-height: 1.3 !important;
        letter-spacing: -2px !important;
    }
    .blueprint-v6 [data-design-node-id="40"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
    }
    .blueprint-v6 [data-design-node-id="40"] > :is(h1, h2, h3, p) {
        font-size: clamp(10px, 1.181vw, 17px) !important;
    }
    .blueprint-v6 [data-design-node-id="41"] {
        grid-column-start: 1 !important;
        grid-column-end: span 1 !important;
        padding-inline: 17px !important;
        padding-block: 14px !important;
    }
}

/* IAM Blueprint v7: platform-owned Scroll Studio choreography. */
html {
    overflow-x: clip;
}

.blueprint-v7 {
    --iam-motion-x: 0px;
    --iam-motion-y: 0px;
    --iam-motion-scale: 1;
    overflow-x: clip;
}

.blueprint-v7 .d-canvas > .d-node {
    --iam-scene-progress: 0;
    --iam-scene-opacity: .08;
    --iam-scene-scale: 0;
    isolation: isolate;
}

.blueprint-v7.scroll-mode-story .d-canvas > .d-node,
.blueprint-v7.scroll-mode-cinematic .d-canvas > .d-node {
    scroll-margin-top: 32px;
}

.blueprint-v7.scroll-mode-cinematic .d-height-screen {
    min-height: max(100svh, 720px);
}

.blueprint-v7.scroll-mode-cinematic .d-canvas > .d-position-sticky {
    top: 0;
    min-height: 100svh;
    align-content: center;
    box-shadow: 0 -1px 0 color-mix(in srgb, currentColor 8%, transparent);
}

.iam-scroll-ready .blueprint-v7 [data-design-motion="mask-reveal"] {
    opacity: 0;
    clip-path: inset(0 100% 0 0 round min(28px, 3vw));
    transition:
        clip-path 1.15s cubic-bezier(.2, .78, .16, 1),
        opacity .65s ease;
    will-change: clip-path, opacity;
}

.iam-scroll-ready .blueprint-v7 .iam-motion-visible[data-design-motion="mask-reveal"] {
    opacity: 1;
    clip-path: inset(0 0 0 0 round 0);
    will-change: auto;
}

.blueprint-v7 [data-design-motion="zoom"] {
    transform: scale(var(--iam-motion-scale));
    transform-origin: 50% 50%;
    will-change: transform;
}

.blueprint-v7 [data-design-motion="pan-horizontal"] {
    transform: translate3d(var(--iam-motion-x), 0, 0);
    will-change: transform;
}

.blueprint-v7.scroll-mode-cinematic .d-canvas > .d-node::after {
    position: absolute;
    z-index: -1;
    right: clamp(18px, 5vw, 84px);
    bottom: clamp(18px, 4vw, 64px);
    width: clamp(32px, 4vw, 64px);
    height: 2px;
    background: currentColor;
    content: "";
    opacity: var(--iam-scene-opacity);
    transform: scaleX(var(--iam-scene-scale));
    transform-origin: left center;
}

@media (max-width: 720px) {
    .blueprint-v7.scroll-mode-cinematic .d-height-screen {
        min-height: auto;
    }

    .blueprint-v7.scroll-mode-cinematic .d-canvas > .d-position-sticky {
        position: relative;
        top: auto;
        min-height: auto;
    }

    .blueprint-v7 [data-design-motion="zoom"],
    .blueprint-v7 [data-design-motion="pan-horizontal"],
    .blueprint-v7 [data-design-motion="parallax"],
    .blueprint-v7 [data-design-motion="drift"] {
        transform: none;
        will-change: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .blueprint-v7 [data-design-motion],
    .blueprint-v7 .d-canvas > .d-node::after {
        opacity: 1 !important;
        clip-path: none !important;
        transform: none !important;
        transition: none !important;
        will-change: auto !important;
    }

    .blueprint-v7.scroll-mode-cinematic .d-canvas > .d-position-sticky {
        position: relative;
        top: auto;
        min-height: auto;
    }
}

@media print {
    .blueprint-v7 [data-design-motion],
    .blueprint-v7 .d-canvas > .d-node::after {
        opacity: 1 !important;
        clip-path: none !important;
        transform: none !important;
    }

    .blueprint-v7 .d-position-sticky {
        position: static !important;
    }
}

/* IAM Blueprint v8: AI Site Studio, compiled from validated page programs. */
.blueprint-v8 {
    --iam-page-progress: 0;
    --iam-motion-opacity: 1;
    --iam-motion-rotate: 0deg;
    --iam-motion-track: 0px;
    overflow-x: clip;
}

.blueprint-v8.studio-progress-line::before {
    position: fixed;
    z-index: 80;
    top: 0;
    left: 0;
    width: calc(var(--iam-page-progress) * 100%);
    height: 3px;
    background: var(--accent);
    content: "";
    pointer-events: none;
    transform-origin: left center;
}

.blueprint-v8.studio-progress-chapters .d-navigation {
    border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    backdrop-filter: blur(18px);
}

.blueprint-v8.studio-experience-portfolio .d-repeat-list {
    align-items: start;
}

.blueprint-v8.studio-experience-narrative .d-text-body > p,
.blueprint-v8.studio-experience-narrative .d-text-lead > p {
    max-width: 46rem;
    text-wrap: pretty;
}

.blueprint-v8.studio-experience-cinematic .d-canvas > .d-node {
    min-height: min(100svh, 980px);
    align-content: center;
}

.blueprint-v8.studio-transition-fade .d-canvas > .d-node,
.blueprint-v8.studio-transition-wipe .d-canvas > .d-node,
.blueprint-v8.studio-transition-stack .d-canvas > .d-node {
    isolation: isolate;
}

@media (min-width: 721px) {
    .blueprint-v8.studio-transition-stack .d-canvas > .d-height-screen {
        position: sticky;
        top: 0;
        overflow: clip;
    }
}

.blueprint-v8 .d-visual-stage {
    place-content: center;
    min-height: min(100svh, 980px);
}

.blueprint-v8 .d-visual-bleed {
    width: 100%;
    max-width: none;
    overflow: clip;
}

.blueprint-v8 .d-visual-frame {
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    box-shadow: 0 28px 80px color-mix(in srgb, var(--ink) 12%, transparent);
}

.blueprint-v8 .d-visual-poster {
    align-content: space-between;
    min-height: min(92svh, 900px);
    text-wrap: balance;
}

.blueprint-v8 .d-visual-marquee {
    overflow: clip;
    max-width: none;
    border-block: 1px solid color-mix(in srgb, currentColor 18%, transparent);
    white-space: nowrap;
}

.blueprint-v8 .d-visual-marquee > :is(h1, h2, h3, p) {
    width: max-content;
    max-width: none;
    font-size: clamp(2rem, 7vw, 7.5rem);
    line-height: .92;
    letter-spacing: -.055em;
}

.blueprint-v8 .d-visual-index > .d-repeat-list {
    display: block !important;
}

.blueprint-v8 .d-visual-index > .d-repeat-list > .d-repeat-item {
    display: grid;
    grid-template-columns: minmax(8rem, .35fr) minmax(0, 1.65fr);
    gap: clamp(1.25rem, 4vw, 5rem);
    padding-block: clamp(1.4rem, 3vw, 3rem);
    border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.blueprint-v8 .d-visual-spotlight {
    position: relative;
    isolation: isolate;
}

.blueprint-v8 .d-visual-spotlight::before {
    position: absolute;
    z-index: -1;
    inset: 8% 5%;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 18%, transparent);
    content: "";
    filter: blur(60px);
    pointer-events: none;
}

.iam-motion-ready .blueprint-v8 [data-design-motion="fade-through"] {
    opacity: var(--iam-motion-opacity);
    transform: translate3d(0, var(--iam-motion-y), 0);
    will-change: opacity, transform;
}

.iam-motion-ready .blueprint-v8 [data-design-motion="wipe-up"] {
    opacity: 0;
    clip-path: inset(100% 0 0 0 round min(24px, 2vw));
    transition: clip-path 1s cubic-bezier(.18, .76, .18, 1), opacity .45s ease;
    will-change: clip-path, opacity;
}

.iam-motion-ready .blueprint-v8 .iam-motion-visible[data-design-motion="wipe-up"] {
    opacity: 1;
    clip-path: inset(0 0 0 0 round 0);
    will-change: auto;
}

.blueprint-v8 [data-design-motion="scrub-scale"] {
    transform: scale(var(--iam-motion-scale));
    transform-origin: center;
    will-change: transform;
}

.blueprint-v8 [data-design-motion="track-horizontal"] {
    transform: translate3d(var(--iam-motion-track), 0, 0);
    will-change: transform;
}

.blueprint-v8 [data-design-motion="tilt"] {
    transform: rotate(var(--iam-motion-rotate));
    transform-origin: center;
    will-change: transform;
}

@media (max-width: 720px) {
    .blueprint-v8.studio-experience-cinematic .d-canvas > .d-node,
    .blueprint-v8 .d-visual-stage,
    .blueprint-v8 .d-visual-poster {
        min-height: auto;
    }

    .blueprint-v8 .d-visual-index > .d-repeat-list > .d-repeat-item {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    .blueprint-v8 .d-visual-marquee {
        white-space: normal;
    }

    .blueprint-v8 .d-visual-marquee > :is(h1, h2, h3, p) {
        width: auto;
        max-width: 100%;
        font-size: clamp(1.75rem, 12vw, 4rem);
    }

    .blueprint-v8 [data-design-motion="fade-through"],
    .blueprint-v8 [data-design-motion="scrub-scale"],
    .blueprint-v8 [data-design-motion="track-horizontal"],
    .blueprint-v8 [data-design-motion="tilt"] {
        opacity: 1;
        transform: none;
        will-change: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .blueprint-v8 [data-design-motion],
    .blueprint-v8 .d-canvas > .d-node {
        opacity: 1 !important;
        clip-path: none !important;
        transform: none !important;
        transition: none !important;
        will-change: auto !important;
    }

    .blueprint-v8.studio-transition-stack .d-canvas > .d-node {
        position: relative;
        top: auto;
    }
}

@media print {
    .blueprint-v8::before {
        display: none !important;
    }

    .blueprint-v8 [data-design-motion],
    .blueprint-v8 .d-canvas > .d-node {
        position: static !important;
        opacity: 1 !important;
        clip-path: none !important;
        transform: none !important;
    }
}

.iam-platform-rights {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 22px clamp(20px, 5vw, 64px);
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
    background: #121a15;
    color: #dce7df;
    font-family: ui-sans-serif, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.65;
    text-align: left;
}
.iam-platform-rights * { box-sizing: border-box; }
.iam-platform-rights__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.iam-platform-rights strong {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
}
.iam-platform-rights a {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.iam-platform-rights p {
    max-width: 780px;
    margin: 10px 0 0;
    color: #aebdb3;
    font: inherit;
}
.iam-platform-booking {
    position: relative;
    z-index: 50;
    display: flex;
    box-sizing: border-box;
    width: min(760px, calc(100% - 32px));
    margin: 32px auto;
    padding: 18px 20px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid rgba(23, 35, 29, .12);
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 55px rgba(23, 35, 29, .14);
    color: #17231d;
    font-family: ui-sans-serif, system-ui, sans-serif;
    text-align: left;
}
.iam-platform-booking * { box-sizing: border-box; }
.iam-platform-booking strong,
.iam-platform-booking span { display: block; color: inherit; font-family: inherit; }
.iam-platform-booking strong { font-size: 15px; line-height: 1.4; }
.iam-platform-booking span { margin-top: 4px; color: #607066; font-size: 12px; line-height: 1.5; }
.iam-platform-booking a {
    flex: 0 0 auto;
    border-radius: 12px;
    background: #1f3528;
    color: #fff;
    padding: 11px 16px;
    font: 700 13px/1 ui-sans-serif, system-ui, sans-serif;
    text-decoration: none;
}
@media (max-width: 560px) {
    .iam-platform-booking { align-items: stretch; flex-direction: column; }
    .iam-platform-booking a { text-align: center; }
}
.iam-platform-presentation {
    position: fixed;
    z-index: 2147483000;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    display: flex;
    box-sizing: border-box;
    align-items: center;
    gap: 12px;
    max-width: calc(100vw - 32px);
    padding: 9px 10px 9px 14px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: rgba(16, 24, 40, .92);
    box-shadow: 0 18px 55px rgba(16, 24, 40, .24);
    color: #fff;
    font-family: ui-sans-serif, system-ui, sans-serif;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}
.iam-platform-presentation * { box-sizing: border-box; }
.iam-platform-presentation span {
    overflow: hidden;
    color: #b8c2d5;
    font: 700 10px/1.2 ui-sans-serif, system-ui, sans-serif;
    letter-spacing: .1em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.iam-platform-presentation a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    background: #f4ff52;
    color: #101828;
    padding: 10px 14px;
    font: 800 12px/1 ui-sans-serif, system-ui, sans-serif;
    text-decoration: none;
    white-space: nowrap;
}
.iam-platform-presentation b { font: inherit; }
@media (max-width: 480px) {
    .iam-platform-presentation { left: 16px; right: 16px; justify-content: space-between; }
}