/* Homepage positioning: all additions use the existing site tokens. */

.home-page .home-process { width: 100%; align-self: center; }
.home-process .system-canvas { min-height: 430px; }
.home-process .system-canvas::before,
.home-process .system-canvas::after { display: none; }
.home-process .system-node {
    width: 210px;
    min-height: 112px;
    box-shadow: none;
    padding: 18px;
}
.home-process .system-node small { margin-bottom: 14px; font-size: 10px; }
.home-process .system-node strong { font-size: 29px; }
.home-process .system-node-a { top: 24px; left: 24px; }
.home-process .system-node-b { top: 156px; left: calc(50% - 105px); }
.home-process .system-node-c { right: 24px; bottom: 24px; }
.home-process-connector {
    position: absolute;
    top: 90px;
    right: 80px;
    bottom: 72px;
    left: 80px;
    border-right: 1px solid var(--signal-dark);
    border-bottom: 1px solid var(--signal-dark);
}
.home-process .system-metrics > div { min-height: 74px; padding: 12px; }
.home-process .system-metrics p { font-size: 9px; overflow-wrap: anywhere; }
.home-page .solution-step { grid-template-columns: 88px minmax(0, 1fr); }
.home-page .step-content {
    grid-template-columns: minmax(100px, .45fr) minmax(190px, .9fr) minmax(0, 1.1fr);
    gap: 24px;
}
.home-page .solution-step--production {
    border-left: 3px solid var(--signal);
    padding-left: 22px;
    background: rgba(245, 138, 31, .05);
}
.solution-step--production h3 { color: var(--signal); }
.home-business, .home-proof, .home-founder {
    padding: clamp(80px, 8vw, 120px) 0;
}
.home-business { background: var(--warm); }
.home-focus-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.home-focus-card { border-top: 2px solid var(--signal); padding-top: 28px; }
.home-focus-card h3 {
    font-family: var(--serif);
    font-size: clamp(27px, 2.7vw, 37px);
    font-weight: 400;
    line-height: 1.1;
}
.home-focus-card p { margin-top: 18px; color: var(--muted); }
.home-reference-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-reference-grid .reference-card { padding: 24px; min-width: 0; scroll-margin-top: calc(var(--header-height) + 24px); }
.home-reference-grid .reference-visual { min-height: 0; padding: 20px 16px; }
.home-reference-grid .reference-body { padding: 24px 0 0; }
.home-reference-grid h3 {
    font-family: var(--serif);
    font-size: 32px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.025em;
}
.home-reference-grid .reference-summary { font-size: 15px; }
.home-reference-grid .reference-kpi { align-items: flex-start; gap: 12px; }
.home-reference-grid .reference-kpi strong { font-size: 42px; }
.home-reference-grid .reference-kpi span { font-size: 11px; }
.home-section-action { margin-top: 32px; }
.reference-card, #ai-experts-network { scroll-margin-top: calc(var(--header-height) + 24px); }
.home-page .benefit-mark { margin-bottom: 44px; }
.home-founder-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; align-items: center; }
.home-founder-portrait { margin: 0; }
.home-founder-portrait img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: 86% center;
}
.home-founder-portrait figcaption { display: grid; gap: 5px; padding-top: 20px; }
.home-founder-portrait strong { font-family: var(--serif); font-size: 32px; font-weight: 400; }
.home-founder-portrait span { color: var(--muted); font-size: 13px; }
.home-founder-copy p + p { margin-top: 22px; }
.home-founder-copy .text-link { margin-top: 28px; }
.home-network { padding: 72px 0; background: var(--workflow); }
.home-network-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; }
.home-network .section-title { margin-top: 20px; font-size: clamp(36px, 4vw, 54px); }
.home-network-copy p + p { margin-top: 18px; }
.home-network-highlight { border-left: 3px solid var(--signal); padding-left: 20px; font-weight: 500; }
.home-network .text-link { margin-top: 24px; }
.home-page .cta-title { font-size: clamp(46px, 6.5vw, 94px); line-height: 1.02; }
.home-page .cta-text + .cta-text { margin-top: 16px; }

@media (max-width: 1120px) {

    .home-page .step-content { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
    .home-page .step-label { grid-column: 1 / -1; }
    .home-process .system-node { width: 180px; }
    .home-process .system-node-b { left: calc(50% - 90px); }
    .home-process .system-node strong { font-size: 25px; }
    .home-reference-grid { gap: 16px; }
    .home-reference-grid .reference-body { padding: 24px 0 0; }
    .home-reference-grid h3 { font-size: 28px; }
    .home-founder-grid, .home-network-grid { gap: 36px; }
}
@media (max-width: 900px) {

    

    .home-page .home-process { width: min(100%, 600px); }
    .home-process .system-node { width: 210px; }
    .home-process .system-node-b { left: calc(50% - 105px); }
    .home-focus-grid { grid-template-columns: 1fr; gap: 32px; }
    .home-reference-grid { grid-template-columns: 1fr; gap: 28px; }
    .home-reference-grid .reference-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
    .home-reference-grid .reference-visual { display: flex; flex-direction: column; justify-content: center; }
    .home-reference-grid .reference-body { padding: 24px 0 0; }
}
@media (max-width: 640px) {

    

    

    .home-process .system-canvas { min-height: 424px; }
    .home-process .system-node { width: 176px; padding: 16px; min-height: 106px; }
    .home-process .system-node-a { left: 16px; }
    .home-process .system-node-b { top: 156px; left: calc(50% - 88px); }
    .home-process .system-node-c { right: 16px; bottom: 16px; }
    .home-process .system-node strong { font-size: 25px; }
    .home-page .solution-step { grid-template-columns: 42px minmax(0, 1fr); gap: 20px; }
    .home-page .step-content { grid-template-columns: 1fr; gap: 14px; }
    .home-page .solution-step--production { padding-left: 12px; }
    .home-reference-grid .reference-card { display: flex; flex-direction: column; }
    .home-reference-grid .reference-body { padding: 24px 0 0; }
    .home-reference-grid .reference-visual { padding: 28px 20px; }
    .home-founder-grid, .home-network-grid { grid-template-columns: 1fr; gap: 32px; }
    .home-founder-portrait img { aspect-ratio: 4 / 3; }
    .home-page .cta-actions { align-items: stretch; flex-direction: column; gap: 24px; }
    .home-page .cta-title { font-size: clamp(40px, 10vw, 58px); overflow-wrap: anywhere; }
}

.home-page .split-heading > *,
.home-page .home-network-grid > * { min-width: 0; }
.home-page .section-title { overflow-wrap: anywhere; }
.home-process .system-node small { color: var(--ink); }

/* Compact transformation: retain the existing graphic. */

.home-transformation {
    padding: 48px 0;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
}
.home-transformation h2 {
    margin-bottom: 24px;
    font-family: var(--serif);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}
.home-transformation .home-process { width: 100%; }
.home-transformation .system-topline,
.home-transformation .home-process-connector,
.home-transformation .system-node small { display: none; }
.home-transformation .system-canvas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 32px;
    min-height: 0;
    padding: 24px;
}
.home-transformation .system-node {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: auto;
    min-height: 82px;
    display: flex;
    align-items: center;
    padding: 18px 20px;
}
.home-transformation .system-node strong { font-size: clamp(23px, 2.5vw, 32px); overflow-wrap: anywhere; }
.home-transformation .system-node:not(:last-child)::after {
    content: '→';
    position: absolute;
    right: -27px;
    top: 50%;
    color: var(--signal-dark);
    font-family: var(--sans);
    font-size: 22px;
    transform: translateY(-50%);
}
.home-transformation .system-metrics > div { padding: 12px 24px; }
.home-transformation .system-metrics p { font-size: 11px; }

@media (max-width: 640px) {

    

    

    .home-transformation { padding: 36px 0; }
    .home-transformation .system-canvas { grid-template-columns: 1fr; gap: 26px; padding: 18px; }
    .home-transformation .system-node { min-height: 64px; padding: 14px 18px; }
    .home-transformation .system-node strong { font-size: 25px; }
    .home-transformation .system-node:not(:last-child)::after { content: '↓'; top: auto; bottom: -27px; right: calc(50% - 7px); transform: none; }
    .home-transformation .system-metrics > div { padding: 12px; }
    .home-transformation .system-metrics p { font-size: 9px; }
}
.home-transformation .system-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Homepage image stage: the original office portrait spans the entire hero. */
.home-page .home-hero {
    min-height: calc(var(--header-height) + 720px);
    display: flex;
    align-items: center;
    padding: calc(var(--header-height) + 56px) 0 56px;
    isolation: isolate;
}
.home-hero-backdrop {
    position: absolute;
    top: var(--header-height);
    left: 0;
    width: 100%;
    height: calc(100% - var(--header-height));
    object-fit: cover;
    object-position: center top;
    z-index: -2;
}
.home-page .home-hero::before {
    content: "";
    display: block;
    position: absolute;
    inset: var(--header-height) 0 0;
    background: linear-gradient(90deg, rgba(5,5,5,.9) 0%, rgba(5,5,5,.79) 35%, rgba(5,5,5,.5) 54%, rgba(5,5,5,.08) 72%, transparent 100%);
    z-index: -1;
    pointer-events: none;
}
.home-page .home-hero .hero-grid { display: block; }
.home-page .home-hero .hero-copy { width: 58%; max-width: 720px; padding: 0; }
.home-page .hero .eyebrow { margin-bottom: 12px; }
.home-hero-person { margin-bottom: 24px; color: rgba(255,255,255,.78); font-size: 13px; }
.home-page .hero-title { font-size: clamp(46px, 4.5vw, 72px); line-height: 1.06; max-width: none; }
.home-page .hero-subtitle { margin-top: 24px; font-size: clamp(17px,1.3vw,20px); color: rgba(255,255,255,.88); }
.home-hero-secondary { margin-top: 16px; color: rgba(255,255,255,.75); font-size: 15px; line-height: 1.6; }
.home-page .hero-cta { margin-top: 28px; gap: 12px; flex-wrap: wrap; }
.home-page .hero-proof { margin-top: 28px; gap: 12px 20px; font-size: 10px; letter-spacing: .025em; color: rgba(255,255,255,.8); }
@media (min-width: 641px) and (max-width: 1000px) {
    .home-page .home-hero { min-height: calc(var(--header-height) + 720px); padding-top: calc(var(--header-height) + 40px); padding-bottom: 40px; }
    .home-page .home-hero .hero-copy { width: 57%; }
    .home-hero-backdrop { object-position: 65% top; }
    .home-page .hero-title { font-size: clamp(38px,4.8vw,48px); }
    .home-page .hero-subtitle { font-size: 16px; }
    .home-page .hero-cta .btn { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 640px) {
    .home-page .home-hero { min-height: 0; padding: calc(var(--header-height) + 320px) 0 40px; }
    .home-hero-backdrop { height: 440px; object-position: 85% top; }
    .home-page .home-hero::before { background: linear-gradient(180deg, transparent 0, rgba(5,5,5,.08) 180px, rgba(5,5,5,.76) 300px, var(--ink) 440px); }
    .home-page .home-hero .hero-copy { width: 100%; max-width: none; }
    .home-page .hero-title { font-size: clamp(38px,10.2vw,58px); line-height: 1.06; overflow-wrap: normal; }
    .home-page .hero-subtitle { font-size: 17px; }
    .home-page .hero-cta { flex-direction: column; align-items: stretch; }
    .home-page .hero-proof { gap: 12px; }
}

/* Existing brand card: readable story copy beside the retained 11 mark. */
.home-page .home-brand-story .signal-grid {
    grid-template-columns: minmax(200px, .55fr) minmax(0, 1.45fr);
    align-items: center;
    gap: clamp(36px, 5vw, 72px);
}
.home-brand-story .signal-number { line-height: .75; }
.home-brand-story .signal-copy { min-width: 0; }
.home-brand-story .brand-story-title {
    max-width: 760px;
    margin-top: 20px;
    font-family: var(--serif);
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.08;
    overflow-wrap: anywhere;
}
.home-brand-story .brand-story-text {
    max-width: 740px;
    margin-top: 24px;
    font-size: 18px;
    line-height: 1.65;
}
@media (max-width: 1020px) {
    .home-page .home-brand-story .signal-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
