:root {
    --ink: #111310;
    --ink-soft: #20231e;
    --paper: #f2f0e9;
    --paper-deep: #e6e3da;
    --signal: #e8ff5b;
    --white: #fffef9;
    --muted: #a7aaa2;
    --line-dark: rgba(17, 19, 16, .16);
    --line-light: rgba(255, 255, 255, .17);
    --max-width: 1440px;
    --page-padding: clamp(1.25rem, 4vw, 4.5rem);
}

*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    scroll-padding-top: 6rem;
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 100;
    pointer-events: none;
    opacity: .035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }

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

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

a:focus-visible {
    outline: 3px solid var(--signal);
    outline-offset: 4px;
}

h1:focus { outline: none; }

.site-header {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 20;
    width: min(100%, var(--max-width));
    height: 94px;
    padding: 0 var(--page-padding);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    color: var(--white);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    transform: translateX(-50%);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    width: fit-content;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.brand-mark {
    position: relative;
    width: 30px;
    height: 30px;
    display: inline-block;
    border: 1px solid currentColor;
}

.brand-mark::before,
.brand-mark::after,
.brand-mark span::after {
    content: "";
    position: absolute;
    background: currentColor;
    opacity: .7;
}

.brand-mark::before { width: 1px; height: 19px; top: 5px; left: 14px; transform: rotate(45deg); }
.brand-mark::after { width: 1px; height: 19px; top: 5px; left: 14px; transform: rotate(-45deg); }
.brand-mark span::after { width: 13px; height: 1px; bottom: 7px; left: 8px; }

.main-nav { display: flex; gap: clamp(1.5rem, 3vw, 3.5rem); }

.main-nav a {
    position: relative;
    font-size: .78rem;
    font-weight: 650;
    letter-spacing: .08em;
}

.main-nav a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -.5rem;
    left: 0;
    height: 1px;
    background: var(--signal);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .25s ease;
}

.main-nav a:hover::after,
.main-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }

.header-cta {
    justify-self: end;
    padding: .7rem 0;
    font-size: .78rem;
    font-weight: 700;
    border-bottom: 1px solid var(--signal);
}

.header-cta span { color: var(--signal); margin-left: .6rem; }

.header-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2.4vw, 2.5rem);
}

.mobile-nav { display: none; }

.language-switch {
    display: flex;
    align-items: center;
    gap: .38rem;
    color: #777b72;
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .11em;
}

.language-switch a {
    padding: .35rem .1rem;
    transition: color .2s ease;
}

.language-switch a:hover,
.language-switch a[aria-current="page"] {
    color: var(--signal);
}

.hero {
    position: relative;
    min-height: 760px;
    height: min(880px, 100svh);
    padding: 150px var(--page-padding) 72px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    align-items: center;
    gap: clamp(3rem, 7vw, 8rem);
    overflow: hidden;
    color: var(--white);
    background: var(--ink);
}

.hero::before {
    content: "";
    position: absolute;
    width: 65vw;
    height: 65vw;
    top: -34vw;
    right: -24vw;
    border: 1px solid rgba(232, 255, 91, .1);
    border-radius: 50%;
}

.hero-copy { position: relative; z-index: 2; max-width: 780px; }

.eyebrow, .kicker, .section-label {
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 2.1rem;
    color: #c4c8bd;
}

.eyebrow span, .visual-caption span {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: var(--signal);
    border-radius: 50%;
    box-shadow: 0 0 18px rgba(232, 255, 91, .65);
}

h1, h2, blockquote {
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .94;
}

h1 {
    max-width: 780px;
    margin-bottom: 2rem;
    font-size: clamp(4.2rem, 7.4vw, 8rem);
}

em { color: var(--signal); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }

.hero-lead {
    max-width: 640px;
    margin-bottom: 2.5rem;
    color: #c8cbc2;
    font-size: clamp(1.05rem, 1.35vw, 1.3rem);
    line-height: 1.65;
}

.hero-actions { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }

.button {
    display: inline-flex;
    min-height: 54px;
    padding: .9rem 1.3rem;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
    font-size: .8rem;
    font-weight: 750;
    letter-spacing: .03em;
    transition: transform .2s ease, background .2s ease;
}

.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--signal); }
.button-primary:hover { background: #f1ff93; }
.text-link { font-size: .78rem; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: .35rem; }
.text-link span { margin-left: .7rem; color: var(--signal); }

.hero-visual {
    position: relative;
    z-index: 2;
    width: min(100%, 570px);
    aspect-ratio: 1;
    justify-self: end;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.visual-grid {
    position: absolute;
    inset: 13%;
    opacity: .16;
    background-image: linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
    background-size: 18% 18%;
    transform: rotate(10deg);
    mask-image: radial-gradient(circle, black 25%, transparent 72%);
}

.orbit { position: absolute; border: 1px solid rgba(232, 255, 91, .24); border-radius: 50%; }
.orbit-one { inset: 17%; }
.orbit-two { inset: 32%; border-style: dashed; animation: spin 30s linear infinite; }

@keyframes spin { to { transform: rotate(360deg); } }

.node {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 104px;
    height: 104px;
    background: #181b16;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .28);
}

.node span { font-size: .65rem; color: var(--signal); letter-spacing: .12em; }
.node small { margin-top: .4rem; font-size: .68rem; color: #d5d7d0; }
.node-core { width: 132px; height: 132px; top: 50%; left: 50%; background: var(--signal); border-color: var(--signal); transform: translate(-50%, -50%); }
.node-core span { color: var(--ink); font-size: 1.25rem; font-weight: 850; letter-spacing: .08em; }
.node-core small { color: #4d531a; }
.node-info { top: 4%; left: 20%; }
.node-tech { right: -2%; top: 43%; }
.node-ops { bottom: 1%; left: 20%; }
.visual-caption { position: absolute; right: 5%; bottom: 12%; display: flex; gap: .7rem; align-items: center; font-size: .62rem; color: #aeb1a8; text-transform: uppercase; letter-spacing: .13em; }
.hero-index { position: absolute; right: var(--page-padding); bottom: 2rem; color: #6f736b; font-size: .64rem; letter-spacing: .15em; }

.client-strip {
    min-height: 150px;
    padding: 2rem var(--page-padding);
    display: grid;
    grid-template-columns: 250px 1fr;
    align-items: center;
    gap: 2rem;
    border-bottom: 1px solid var(--line-dark);
}

.client-strip p { margin: 0; color: #6a6d66; font-size: .65rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.client-strip ul { display: flex; justify-content: space-between; align-items: center; gap: 1.4rem; padding: 0; margin: 0; list-style: none; }
.client-strip li { color: #555850; font-size: clamp(.78rem, 1.2vw, 1rem); font-weight: 850; letter-spacing: .04em; }
.client-strip .client-note { max-width: 110px; font-size: .62rem; font-weight: 600; line-height: 1.15; }

.home-operating-model { padding: clamp(6rem, 9vw, 9rem) var(--page-padding); background: var(--paper-deep); }
.home-operating-model-heading { display: grid; grid-template-columns: 170px 1fr; column-gap: clamp(3rem, 8vw, 9rem); }
.home-operating-model-heading h2,
.home-operating-model-heading > p:last-child { grid-column: 2; }
.home-operating-model-heading h2 { max-width: 1120px; }
.home-operating-model-heading h2 em { color: #73766e; }
.home-operating-model-heading > p:last-child { max-width: 850px; margin: 0; color: #555951; font-size: 1.06rem; line-height: 1.75; }
.home-operating-model-figure { position: relative; margin: 5rem 0 0; overflow: hidden; background: #1a1c17; }
.home-operating-model-figure::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 58%, rgba(11,13,10,.76)); }
.home-operating-model-figure img { width: 100%; height: auto; display: block; }
.home-operating-model-figure figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 1.6rem 2rem; display: grid; grid-template-columns: 1fr 1fr; color: var(--white); font-size: .65rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.home-operating-model-figure figcaption span:last-child { color: var(--signal); text-align: right; }
.home-operating-model-comparison { display: grid; grid-template-columns: 1fr 1fr; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.home-operating-model-comparison article { min-height: 285px; padding: 2.3rem; }
.home-operating-model-comparison article + article { border-left: 1px solid var(--line-dark); }
.home-operating-model-comparison article > span { color: #777a72; font-size: .62rem; font-weight: 750; letter-spacing: .13em; }
.home-operating-model-comparison article:last-child > span { color: #768119; }
.home-operating-model-comparison h3 { margin: 2.5rem 0 1.2rem; font-size: clamp(1.8rem, 2.8vw, 3rem); font-weight: 450; letter-spacing: -.035em; }
.home-operating-model-comparison p { max-width: 590px; margin: 0; color: #50534c; line-height: 1.75; }
.home-executable-flow { margin-top: clamp(5rem, 8vw, 8rem); padding-top: clamp(4rem, 6vw, 6rem); display: grid; grid-template-columns: minmax(300px,.85fr) minmax(500px,1.15fr); gap: clamp(4rem, 8vw, 8rem); border-top: 1px solid var(--line-dark); }
.home-executable-flow h3 { max-width: 620px; margin: 1.2rem 0 1.5rem; font-size: clamp(2.5rem, 4.5vw, 4.9rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.home-executable-flow > div > p:not(.kicker) { max-width: 690px; color: #54574f; line-height: 1.75; }
.home-executable-flow .text-link { display: inline-block; margin-top: 1.2rem; color: var(--ink); border-color: var(--line-dark); }
.home-executable-flow ol { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.home-executable-flow li { position: relative; min-height: 78px; padding: 1.2rem 0; display: grid; grid-template-columns: 52px 1fr; align-items: center; border-bottom: 1px solid var(--line-dark); }
.home-executable-flow li:not(:last-child)::after { content: "↓"; position: absolute; right: .25rem; bottom: -.65rem; z-index: 2; padding: 0 .3rem; color: #768119; background: var(--paper-deep); }
.home-executable-flow li span { color: #7b7e76; font-size: .6rem; letter-spacing: .13em; }
.home-executable-flow li strong { font-size: 1.02rem; font-weight: 550; }

.executive-proof {
    padding: clamp(6rem, 9vw, 9rem) var(--page-padding);
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(480px, 1.1fr);
    gap: clamp(4rem, 10vw, 10rem);
    background: var(--paper-deep);
}
.executive-proof h2 { font-size: clamp(3.2rem, 5.7vw, 6rem); }
.executive-proof h2 em { color: #73766e; }
.executive-proof-content > p { max-width: 680px; color: #555851; font-size: 1.06rem; line-height: 1.75; }
.executive-proof-content ul { padding: 0; margin: 3rem 0; list-style: none; border-top: 1px solid var(--line-dark); }
.executive-proof-content li { min-height: 72px; display: flex; align-items: center; gap: 1.2rem; border-bottom: 1px solid var(--line-dark); }
.executive-proof-content li span { color: #778118; font-size: .62rem; font-weight: 750; letter-spacing: .12em; }
.executive-proof .text-link { color: var(--ink); border-color: var(--line-dark); }

.section {
    padding: clamp(5.5rem, 10vw, 10rem) var(--page-padding);
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: clamp(3rem, 8vw, 9rem);
}

.section-label { display: flex; align-items: flex-start; gap: 1rem; color: #7a7d75; }
.section-label span { color: var(--ink); }
.section-label-light { color: #777b72; }
.section-label-light span { color: var(--signal); }
.kicker { margin-bottom: 1.5rem; color: #74776f; }

h2 { max-width: 1000px; margin-bottom: 3.5rem; font-size: clamp(3.1rem, 6.4vw, 6.8rem); }
.intro-content h2 em, .section-heading-dark h2 em { color: #70736b; }
.intro-columns { max-width: 940px; margin-left: auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); }
.intro-columns p { margin: 0; color: #555851; font-size: clamp(.98rem, 1.2vw, 1.12rem); line-height: 1.75; }

.services { color: var(--white); background: var(--ink-soft); }
.services-content { min-width: 0; }
.section-heading .kicker { color: #91958b; }
.section-heading h2 { max-width: 850px; }

.service-list { border-top: 1px solid var(--line-light); }
.service-card {
    min-height: 155px;
    padding: 2rem 0;
    display: grid;
    grid-template-columns: 80px 1fr auto;
    align-items: center;
    gap: 1.5rem;
    border-bottom: 1px solid var(--line-light);
    transition: padding .25s ease, background .25s ease;
}
.service-card:hover { padding-right: 1rem; padding-left: 1rem; background: rgba(255,255,255,.035); }
.service-number { align-self: start; padding-top: .45rem; color: var(--signal); font-size: .65rem; letter-spacing: .12em; }
.service-card h3 { margin-bottom: .55rem; font-size: clamp(1.4rem, 2.2vw, 2.15rem); font-weight: 500; letter-spacing: -.03em; }
.service-card p { max-width: 650px; margin: 0; color: #aeb2a9; line-height: 1.65; }
.service-arrow { display: grid; place-items: center; width: 45px; height: 45px; color: var(--signal); border: 1px solid #565a51; border-radius: 50%; font-size: 1.05rem; }

.method { background: var(--paper-deep); }
.method-content { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(430px, 1fr); gap: clamp(4rem, 9vw, 9rem); }
.section-heading-dark h2 { font-size: clamp(3.2rem, 5.5vw, 6rem); }
.method-intro { max-width: 560px; margin: -1rem 0 0; color: #5d6059; font-size: 1.05rem; line-height: 1.75; }
.steps { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.steps li { min-height: 150px; padding: 2rem 0; display: grid; grid-template-columns: 60px 1fr; gap: 1.5rem; align-items: start; border-bottom: 1px solid var(--line-dark); }
.step-number { padding-top: .3rem; color: #8a8d85; font-size: .64rem; font-weight: 750; letter-spacing: .12em; }
.steps h3 { margin-bottom: .5rem; font-size: 1.65rem; font-weight: 600; letter-spacing: -.025em; }
.steps p { max-width: 520px; margin: 0; color: #62655e; line-height: 1.65; }

.journey-preview {
    position: relative;
    padding: clamp(6rem, 10vw, 10rem) var(--page-padding);
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: clamp(3rem, 9vw, 9rem);
    align-items: end;
    overflow: hidden;
    color: var(--white);
    background: #111310;
    border-top: 1px solid var(--line-light);
}
.journey-preview::after { content: ""; position: absolute; width: 520px; height: 520px; right: -180px; top: -250px; border: 1px solid rgba(232,255,91,.13); border-radius: 50%; }
.journey-preview h2 { margin: 0; font-size: clamp(3.2rem, 6vw, 6.4rem); }
.journey-preview .kicker { color: var(--signal); }
.journey-preview-action { position: relative; z-index: 2; padding-bottom: .5rem; }
.journey-preview-action p { margin-bottom: 2rem; color: #aeb2a9; line-height: 1.75; }
.journey-preview-action .button { width: fit-content; }
.journey-preview-index { position: absolute; top: 2rem; right: var(--page-padding); color: #62665e; font-size: .63rem; letter-spacing: .13em; }

.statement {
    min-height: 670px;
    padding: clamp(5rem, 10vw, 9rem) var(--page-padding);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
    background: #171915;
}
.statement-mark { position: relative; width: 42px; height: 42px; margin-bottom: 4rem; color: var(--signal); border: 1px solid currentColor; }
.statement-mark::before, .statement-mark::after, .statement-mark span::after { content: ""; position: absolute; background: currentColor; }
.statement-mark::before { width: 1px; height: 27px; top: 7px; left: 20px; transform: rotate(45deg); }
.statement-mark::after { width: 1px; height: 27px; top: 7px; left: 20px; transform: rotate(-45deg); }
.statement-mark span::after { width: 19px; height: 1px; bottom: 10px; left: 11px; }
.statement blockquote { max-width: 1050px; margin-bottom: 3rem; font-size: clamp(3rem, 6.1vw, 6.6rem); }
.statement p { margin: 0; color: #777b72; font-size: .7rem; font-weight: 750; text-transform: uppercase; letter-spacing: .18em; }

.contact { color: var(--ink); background: var(--signal); }
.contact .section-label-light { color: #6c7527; }
.contact .section-label-light span { color: var(--ink); }
.contact-content .kicker { color: #626b20; }
.contact-content h2 { max-width: 900px; margin-bottom: 2rem; }
.contact-content h2 em { color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .12em; }
.contact-content > p:not(.kicker) { max-width: 670px; margin-bottom: 2.5rem; color: #454b17; font-size: 1.1rem; line-height: 1.7; }
.button-light { min-width: 270px; color: var(--white); background: var(--ink); }
.button-light:hover { background: #292d25; }

.site-footer {
    min-height: 230px;
    padding: 3.5rem var(--page-padding);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 2rem;
    color: var(--white);
    background: var(--ink);
}
.brand-footer { align-self: start; }
.site-footer > p { align-self: start; justify-self: end; max-width: 390px; margin: 0; color: #9da098; text-align: right; }
.footer-meta { grid-column: 1 / -1; padding-top: 2rem; display: flex; gap: 2rem; justify-content: flex-end; color: #6f736b; border-top: 1px solid var(--line-light); font-size: .67rem; text-transform: uppercase; letter-spacing: .11em; }
.footer-meta a { color: #b7bab2; }

/* Standalone navigation pages */
.subpage { background: var(--paper); }

.subpage-hero {
    min-height: 700px;
    padding: 170px var(--page-padding) 8rem;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .65fr);
    align-items: end;
    gap: clamp(4rem, 10vw, 11rem);
    color: var(--white);
    background: var(--ink);
}

.subpage-hero h1 { max-width: 980px; font-size: clamp(4.6rem, 8vw, 8.5rem); }
.subpage-hero h1 em { color: var(--signal); }
.subpage-lead { max-width: 600px; margin: 0 0 1rem; color: #b8bcb2; font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.75; }

.subpage-services,
.subpage-method {
    padding: clamp(7rem, 11vw, 11rem) var(--page-padding);
    display: grid;
    grid-template-columns: minmax(280px, .75fr) minmax(520px, 1.25fr);
    gap: clamp(4rem, 10vw, 11rem);
}

.subpage-services { color: var(--white); background: var(--ink-soft); }
.subpage-method { background: var(--paper-deep); }
.subpage-section-heading { align-self: start; position: sticky; top: 3rem; }
.subpage-section-heading h2 { font-size: clamp(3.2rem, 5.2vw, 5.8rem); }
.subpage-section-heading h2 em { color: #74776f; }
.subpage-services .subpage-section-heading h2 em { color: var(--signal); }
.subpage-section-heading > p:last-child { max-width: 560px; color: #5b5e57; line-height: 1.75; }

.subpage-next {
    min-height: 610px;
    padding: clamp(6rem, 10vw, 10rem) var(--page-padding);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background: var(--signal);
}
.subpage-next h2 { max-width: 1050px; margin-bottom: 2rem; }
.subpage-next h2 em { color: #555d1b; }
.subpage-next > p:not(.kicker) { max-width: 700px; margin-bottom: 2.5rem; color: #454b17; font-size: 1.08rem; line-height: 1.75; }
.subpage-next-dark { color: var(--white); background: var(--ink-soft); }
.subpage-next-dark h2 em { color: var(--signal); }
.subpage-next-dark > p:not(.kicker) { color: #aeb2a8; }

.contact-page { color: var(--white); background: var(--ink); }
.contact-page-hero {
    min-height: max(780px, 100svh);
    padding: 170px var(--page-padding) 7rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.contact-page-hero h1 { max-width: 1100px; font-size: clamp(4.8rem, 9vw, 9rem); }
.contact-page-hero h1 em { color: var(--signal); }
.contact-page-hero > p:not(.eyebrow) { max-width: 760px; color: #b4b8ae; font-size: 1.15rem; line-height: 1.75; }
.contact-email { width: 100%; margin-top: 4rem; padding: 1.8rem 0; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); font-size: clamp(1.5rem, 3vw, 3rem); }
.contact-email strong { color: var(--signal); font-weight: 400; }
.contact-detail-grid { margin-top: 4rem; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); }
.contact-detail-grid > div { min-height: 130px; padding: 1.6rem 1.6rem 1.6rem 0; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line-light); }
.contact-detail-grid > div:not(:first-child) { padding-left: 1.6rem; }
.contact-detail-grid > div:last-child { border-right: 0; }
.contact-detail-grid span { color: #777b72; font-size: .62rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.contact-detail-grid strong { font-size: 1rem; font-weight: 550; }

/* Impact and executive FAQ */
.impact-hero h1 { max-width: 1050px; }
.impact-patterns,
.impact-faq { padding: clamp(7rem, 11vw, 11rem) var(--page-padding); }
.impact-patterns { background: var(--paper); }
.impact-section-intro { max-width: 1080px; margin-bottom: clamp(5rem, 8vw, 8rem); }
.impact-section-intro h2 { max-width: 1050px; }
.impact-section-intro h2 em { color: #73766e; }
.impact-section-intro > p:last-child { max-width: 780px; color: #5b5e57; font-size: 1.06rem; line-height: 1.75; }
.impact-pattern-list { border-top: 1px solid var(--line-dark); }
.impact-pattern { padding: 3.5rem 0; border-bottom: 1px solid var(--line-dark); }
.impact-pattern header { margin-bottom: 3rem; display: grid; grid-template-columns: 90px 1fr; align-items: start; }
.impact-pattern header > span { padding-top: .65rem; color: #74776f; font-size: .68rem; font-weight: 750; letter-spacing: .14em; }
.impact-pattern h3 { max-width: 850px; margin: 0; font-size: clamp(2rem, 3.4vw, 3.8rem); font-weight: 450; letter-spacing: -.04em; line-height: 1.05; }
.impact-pattern-grid { margin-left: 90px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.impact-pattern-grid > div { min-height: 245px; padding: 1.7rem; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.impact-pattern-grid strong,
.impact-measures > strong { display: block; margin-bottom: 2rem; color: #777a72; font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }
.impact-pattern-grid p { margin: 0; color: #4e514b; line-height: 1.7; }
.impact-measures { margin-left: 90px; padding: 1.5rem 0 0; display: grid; grid-template-columns: 170px 1fr; }
.impact-measures > strong { margin: .25rem 0 0; }
.impact-measures ul { padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .7rem; list-style: none; }
.impact-measures li { padding: .55rem .8rem; background: #dfddd4; font-size: .78rem; }

.operating-model-section { padding: clamp(7rem, 11vw, 11rem) var(--page-padding); background: var(--paper-deep); }
.operating-model-intro { display: grid; grid-template-columns: 170px 1fr; column-gap: clamp(3rem, 8vw, 9rem); }
.operating-model-intro h2,
.operating-model-intro > p:last-child { grid-column: 2; }
.operating-model-intro h2 { max-width: 1120px; }
.operating-model-intro h2 em { color: #73766e; }
.operating-model-intro > p:last-child { max-width: 850px; color: #555951; font-size: 1.06rem; line-height: 1.75; }
.operating-model-figure { position: relative; margin: 6rem 0 0; overflow: hidden; background: #1a1c17; }
.operating-model-figure::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 60%, rgba(11,13,10,.72)); }
.operating-model-figure img { width: 100%; height: auto; display: block; }
.operating-model-figure figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 1.6rem 2rem; display: grid; grid-template-columns: 1fr 1fr; color: var(--white); font-size: .65rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.operating-model-figure figcaption span:last-child { color: var(--signal); text-align: right; }
.operating-model-comparison { display: grid; grid-template-columns: 1fr 1fr; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.operating-model-comparison article { min-height: 310px; padding: 2.3rem; }
.operating-model-comparison article + article { border-left: 1px solid var(--line-dark); }
.operating-model-comparison article > span { color: #777a72; font-size: .62rem; font-weight: 750; letter-spacing: .13em; }
.operating-model-comparison article:last-child > span { color: #768119; }
.operating-model-comparison h3 { margin: 3rem 0 1.2rem; font-size: clamp(1.8rem, 2.8vw, 3rem); font-weight: 450; letter-spacing: -.035em; }
.operating-model-comparison p { max-width: 590px; margin: 0; color: #50534c; line-height: 1.75; }
.executable-flow { margin-top: clamp(6rem, 9vw, 9rem); padding-top: clamp(4rem, 6vw, 6rem); display: grid; grid-template-columns: minmax(300px,.85fr) minmax(500px,1.15fr); gap: clamp(4rem, 8vw, 8rem); border-top: 1px solid var(--line-dark); }
.executable-flow h3 { max-width: 620px; margin: 1.2rem 0 1.5rem; font-size: clamp(2.5rem, 4.5vw, 4.9rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.executable-flow > div > p:last-child { max-width: 690px; color: #54574f; line-height: 1.75; }
.executable-flow ol { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.executable-flow li { position: relative; min-height: 78px; padding: 1.2rem 0; display: grid; grid-template-columns: 52px 1fr; align-items: center; border-bottom: 1px solid var(--line-dark); }
.executable-flow li:not(:last-child)::after { content: "↓"; position: absolute; right: .25rem; bottom: -.65rem; z-index: 2; padding: 0 .3rem; color: #768119; background: var(--paper-deep); }
.executable-flow li span { color: #7b7e76; font-size: .6rem; letter-spacing: .13em; }
.executable-flow li strong { font-size: 1.02rem; font-weight: 550; }

.rule-engine-section { padding: clamp(7rem, 11vw, 11rem) var(--page-padding); color: var(--white); background: #111310; }
.rule-engine-intro { display: grid; grid-template-columns: 170px 1fr; column-gap: clamp(3rem, 8vw, 9rem); }
.rule-engine-intro .kicker { color: var(--signal); }
.rule-engine-intro h2,
.rule-engine-intro > p:last-child { grid-column: 2; }
.rule-engine-intro h2 { max-width: 1120px; }
.rule-engine-intro > p:last-child { max-width: 800px; color: #aeb2a9; font-size: 1.06rem; line-height: 1.75; }
.rule-engine-visual { margin: 7rem 0; }
.rule-engine-input { padding: 1.4rem 1.6rem; display: grid; grid-template-columns: 100px 1fr; gap: 1rem; border: 1px solid rgba(232,255,91,.42); background: rgba(232,255,91,.045); }
.rule-engine-input span { color: var(--signal); font-size: .6rem; font-weight: 750; letter-spacing: .14em; }
.rule-engine-input strong { font-size: .9rem; font-weight: 550; letter-spacing: .025em; }
.rule-engine-path { padding: 0; margin: 2.5rem 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.rule-engine-path li { position: relative; min-height: 230px; padding: 1.7rem; display: flex; flex-direction: column; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.rule-engine-path li:not(:nth-child(3n))::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -.7rem; padding: .15rem; color: var(--signal); background: #111310; transform: translateY(-50%); }
.rule-engine-path li > span { margin-bottom: 2.6rem; color: var(--signal); font-size: .59rem; letter-spacing: .13em; }
.rule-engine-path li > strong { margin-bottom: .8rem; font-size: 1.12rem; font-weight: 550; }
.rule-engine-path li > p { margin: 0; color: #969a91; font-size: .9rem; line-height: 1.65; }
.rule-engine-outcomes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.rule-outcome { min-height: 155px; padding: 1.5rem; border: 1px solid var(--line-light); }
.rule-outcome > span { display: flex; align-items: center; gap: .65rem; font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.rule-outcome > span::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.rule-outcome p { margin: 2rem 0 0; color: #999d94; font-size: .9rem; line-height: 1.65; }
.rule-outcome-approved { color: var(--signal); }
.rule-outcome-review { color: #f2ce56; }
.rule-outcome-blocked { color: #ff746c; }
.rule-engine-trace { padding-top: 6rem; display: grid; grid-template-columns: 1fr .8fr; gap: clamp(4rem, 9vw, 9rem); border-top: 1px solid var(--line-light); }
.rule-engine-trace h3 { max-width: 700px; margin: 1rem 0 1.5rem; font-size: clamp(2.6rem, 4.5vw, 4.9rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.rule-engine-trace > div > p:last-child { max-width: 720px; color: #9da198; line-height: 1.75; }
.rule-engine-trace ul { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-light); }
.rule-engine-trace li { min-height: 67px; display: flex; align-items: center; gap: .9rem; border-bottom: 1px solid var(--line-light); }
.rule-engine-trace li span { color: var(--signal); }

.impact-value { padding: clamp(7rem, 11vw, 11rem) var(--page-padding); color: var(--white); background: var(--ink-soft); }
.impact-value-copy { display: grid; grid-template-columns: 170px 1fr; column-gap: clamp(3rem, 8vw, 9rem); }
.impact-value-copy .kicker { color: var(--signal); }
.impact-value-copy h2,
.impact-value-copy > p:last-child { grid-column: 2; }
.impact-value-copy h2 { max-width: 1100px; }
.impact-value-copy h2 em { color: var(--signal); }
.impact-value-copy > p:last-child { max-width: 760px; color: #aeb2a9; font-size: 1.06rem; line-height: 1.75; }
.impact-value ol { padding: 0; margin: 6rem 0; display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.impact-value li { min-height: 180px; padding: 1.5rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.impact-value li span { color: var(--signal); font-size: .6rem; letter-spacing: .13em; }
.impact-value li strong { font-size: .93rem; font-weight: 550; line-height: 1.45; }
.impact-formula { max-width: 1050px; margin-left: auto; padding: 2.5rem; border: 1px solid rgba(232,255,91,.35); background: rgba(232,255,91,.04); }
.impact-formula span { color: var(--signal); font-size: .65rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.impact-formula strong { margin: 1.3rem 0; display: block; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem, 3vw, 3.1rem); font-weight: 400; line-height: 1.25; }
.impact-formula p { max-width: 750px; margin: 0; color: #aeb2a9; line-height: 1.7; }
.impact-evidence { max-width: 1050px; margin: 2rem 0 0 auto; padding: 1.5rem 0; display: grid; grid-template-columns: 190px 1fr; border-top: 1px solid var(--line-light); }
.impact-evidence strong { color: #dfe2da; font-size: .8rem; }
.impact-evidence p { margin: 0; color: #8f938a; line-height: 1.7; }

.impact-faq { background: var(--paper-deep); }
.faq-list { max-width: 1100px; margin-left: auto; border-top: 1px solid var(--line-dark); }
.faq-item { border-bottom: 1px solid var(--line-dark); }
.faq-item summary { min-height: 110px; padding: 1.5rem 0; display: grid; grid-template-columns: 60px 1fr 36px; align-items: center; gap: 1rem; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary > span { color: #74776f; font-size: .64rem; font-weight: 750; letter-spacing: .12em; }
.faq-item summary strong { font-size: clamp(1.15rem, 2vw, 1.55rem); font-weight: 550; }
.faq-item summary i { position: relative; width: 34px; height: 34px; border: 1px solid #969990; border-radius: 50%; }
.faq-item summary i::before,
.faq-item summary i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 1px; background: var(--ink); transform: translate(-50%,-50%); }
.faq-item summary i::after { transform: translate(-50%,-50%) rotate(90deg); }
.faq-item[open] summary i { background: var(--signal); border-color: var(--signal); }
.faq-item[open] summary i::after { transform: translate(-50%,-50%) rotate(0); }
.faq-item > p { max-width: 820px; padding: 0 4rem 2.4rem 60px; margin: 0; color: #4f524b; font-size: 1.02rem; line-height: 1.75; }
.impact-contact { background: var(--signal); }

/* Transformation journey */
.journey-header {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 20;
    width: min(100%, var(--max-width));
    height: 94px;
    padding: 0 var(--page-padding);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    color: var(--white);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    transform: translateX(-50%);
}

.journey-header > .language-switch { justify-self: end; }
.journey-nav { display: flex; gap: clamp(1.4rem, 3vw, 3.2rem); }
.journey-nav a { font-size: .72rem; font-weight: 700; letter-spacing: .07em; }

.journey-hero {
    position: relative;
    min-height: min(920px, 100svh);
    padding: 150px var(--page-padding) 75px;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    align-items: center;
    gap: clamp(3rem, 7vw, 8rem);
    overflow: hidden;
    color: var(--white);
    background: var(--ink);
}

.journey-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: linear-gradient(90deg, transparent 5%, black 75%);
}

.journey-hero-copy { position: relative; z-index: 2; max-width: 800px; }
.journey-back { display: inline-flex; gap: .65rem; margin-bottom: 3rem; color: #898d84; font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.journey-back:hover { color: var(--signal); }
.journey-hero h1 { max-width: 820px; font-size: clamp(4.2rem, 7.2vw, 7.6rem); }
.journey-hero .hero-lead { max-width: 730px; }

.journey-signal {
    position: relative;
    z-index: 2;
    width: min(44vw, 560px);
    aspect-ratio: 1;
    justify-self: end;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
}

.signal-ring { position: absolute; border: 1px solid rgba(232,255,91,.2); border-radius: 50%; }
.signal-ring-one { inset: 17%; }
.signal-ring-two { inset: 33%; border-style: dashed; animation: spin 28s linear infinite reverse; }
.signal-core { position: absolute; inset: 39%; display: grid; place-content: center; text-align: center; color: var(--ink); background: var(--signal); border-radius: 50%; }
.signal-core span { font-weight: 850; letter-spacing: .08em; }
.signal-core small { margin-top: .3rem; font-size: .57rem; letter-spacing: .09em; }
.signal-label { position: absolute; padding: .5rem .7rem; color: #aeb2a8; background: #171914; border: 1px solid #494d44; font-size: .6rem; letter-spacing: .12em; }
.signal-label-one { top: 9%; left: 22%; }
.signal-label-two { right: -1%; top: 47%; }
.signal-label-three { bottom: 8%; left: 18%; }

.journey-thesis {
    padding: clamp(6rem, 11vw, 11rem) var(--page-padding);
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: clamp(3rem, 8vw, 9rem);
    background: var(--paper);
}

.journey-thesis h2 { max-width: 1080px; }
.journey-thesis h2 em { color: #71746c; }
.thesis-copy { max-width: 940px; margin-left: auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); }
.thesis-copy p { margin: 0; color: #555851; font-size: 1.05rem; line-height: 1.75; }

.enterprise-flow {
    padding: clamp(4rem, 7vw, 7rem) var(--page-padding);
    color: var(--white);
    background: var(--ink-soft);
}
.enterprise-flow .kicker { color: #858980; }
.enterprise-flow ol { display: grid; grid-template-columns: repeat(6, 1fr); padding: 0; margin: 3rem 0 0; list-style: none; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.enterprise-flow li { position: relative; min-height: 180px; padding: 2rem 1.2rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line-light); }
.enterprise-flow li:last-child { border-right: 0; }
.enterprise-flow li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -.62rem; color: var(--signal); background: var(--ink-soft); transform: translateY(-50%); }
.enterprise-flow li span { color: var(--signal); font-size: .62rem; letter-spacing: .13em; }
.enterprise-flow li strong { max-width: 130px; font-size: .95rem; font-weight: 550; }

.informationship-section {
    padding: clamp(6rem, 11vw, 11rem) var(--page-padding);
    color: var(--white);
    background: #111310;
}
.informationship-intro { display: grid; grid-template-columns: 170px minmax(0, 1fr); column-gap: clamp(3rem, 8vw, 9rem); }
.informationship-intro .kicker { color: var(--signal); }
.informationship-intro h2 { grid-column: 2; max-width: 1080px; }
.informationship-intro > p:last-child { grid-column: 2; max-width: 780px; color: #aeb2a9; font-size: 1.08rem; line-height: 1.75; }
.informationship-definition { max-width: 1020px; margin: 6rem 0 6rem auto; padding: 2rem 2.2rem; display: grid; grid-template-columns: 180px 1fr; gap: 2rem; border: 1px solid rgba(232,255,91,.32); background: rgba(232,255,91,.045); }
.informationship-definition span { color: var(--signal); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-style: italic; }
.informationship-definition p { margin: 0; color: #d1d4cc; font-size: 1.04rem; line-height: 1.7; }
.informationship-comparison { margin: 0 0 8rem; border-top: 1px solid var(--line-light); }
.comparison-head, .comparison-row { display: grid; grid-template-columns: 1fr 1fr; }
.comparison-head { min-height: 85px; align-items: center; color: #8d9188; border-bottom: 1px solid var(--line-light); font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
.comparison-head > *:last-child { color: var(--signal); }
.comparison-row { min-height: 95px; align-items: stretch; border-bottom: 1px solid var(--line-light); }
.comparison-row span { padding: 1.7rem 2rem 1.7rem 0; display: flex; align-items: center; color: #858980; line-height: 1.5; }
.comparison-row span:last-child { padding-left: 2rem; color: #e3e5df; border-left: 1px solid var(--line-light); }
.informationship-graph-copy { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(500px,1.3fr); align-items: center; gap: clamp(4rem, 9vw, 10rem); }
.informationship-graph-copy h3 { margin: 1.5rem 0; font-size: clamp(2.5rem, 4.2vw, 4.6rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.informationship-graph-copy > div:first-child > p:last-child { color: #9fa39a; line-height: 1.75; }
.property-graph { position: relative; aspect-ratio: 600 / 470; }
.property-graph svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.property-graph path { fill: none; stroke: rgba(232,255,91,.42); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.property-graph .graph-secondary { stroke: rgba(255,255,255,.13); stroke-dasharray: 4 6; }
.graph-node { position: absolute; width: 122px; min-height: 68px; padding: .8rem; display: flex; flex-direction: column; justify-content: center; gap: .35rem; background: #1b1e19; border: 1px solid #51554d; transform: translate(-50%,-50%); }
.graph-node span { color: var(--signal); font-size: .55rem; letter-spacing: .12em; }
.graph-node strong { font-size: .72rem; font-weight: 550; line-height: 1.25; }
.graph-core { width: 155px; min-height: 92px; left: 50%; top: 50%; color: var(--ink); background: var(--signal); border-color: var(--signal); }
.graph-core span { color: #5f681d; }
.graph-core strong { font-size: .9rem; }
.graph-organisation { left: 20.8%; top: 17%; }
.graph-rules { left: 81%; top: 19%; }
.graph-decision { left: 86.7%; top: 55%; }
.graph-system { left: 68.3%; top: 89%; }
.graph-actor { left: 15.8%; top: 83%; }
.informationship-rules { margin-top: clamp(7rem, 11vw, 11rem); padding-top: clamp(4rem, 7vw, 7rem); border-top: 1px solid var(--line-light); }
.informationship-rules-intro { display: grid; grid-template-columns: minmax(180px,.42fr) minmax(420px,1.1fr); column-gap: clamp(3rem, 8vw, 9rem); }
.informationship-rules-intro .kicker { color: var(--signal); }
.informationship-rules-intro h3 { margin: 0 0 1.8rem; max-width: 920px; font-size: clamp(2.8rem, 5vw, 5.4rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.informationship-rules-intro > p:last-child { grid-column: 2; max-width: 820px; margin: 0; color: #aeb2a9; font-size: 1.04rem; line-height: 1.75; }
.informationship-rule-principles { display: grid; grid-template-columns: repeat(4,1fr); margin: 5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.informationship-rule-principles li { min-height: 310px; padding: 2rem 1.8rem; display: flex; flex-direction: column; border-right: 1px solid var(--line-light); }
.informationship-rule-principles li:last-child { border-right: 0; }
.informationship-rule-principles span { margin-bottom: auto; color: var(--signal); font-size: .62rem; letter-spacing: .13em; }
.informationship-rule-principles strong { margin: 2.5rem 0 1rem; font-size: 1.15rem; font-weight: 550; line-height: 1.3; }
.informationship-rule-principles p { margin: 0; color: #92968d; font-size: .9rem; line-height: 1.65; }
.informationship-rule-flow { display: grid; grid-template-columns: repeat(5,1fr); margin: 3rem 0 0; padding: 0; list-style: none; }
.informationship-rule-flow li { position: relative; min-height: 105px; padding: 1rem 1.5rem 1rem 0; display: flex; flex-direction: column; justify-content: space-between; border-bottom: 1px solid rgba(232,255,91,.35); }
.informationship-rule-flow li:not(:last-child)::after { content: "→"; position: absolute; right: 1rem; bottom: 1rem; color: var(--signal); }
.informationship-rule-flow span { color: #70746b; font-size: .58rem; letter-spacing: .12em; }
.informationship-rule-flow strong { max-width: 130px; font-size: .78rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.informationship-closing { max-width: 1100px; margin: 9rem auto 0; display: flex; flex-direction: column; text-align: center; font-size: clamp(2.8rem, 5vw, 5.5rem); }
.informationship-closing span { color: #858980; }
.informationship-closing strong { color: var(--signal); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }

.journey-stages {
    padding: clamp(6rem, 11vw, 11rem) var(--page-padding);
    display: grid;
    grid-template-columns: minmax(260px, .68fr) minmax(500px, 1.32fr);
    gap: clamp(4rem, 10vw, 11rem);
    background: var(--paper-deep);
}
.journey-stages-heading { position: sticky; top: 3rem; align-self: start; }
.journey-stages-heading h2 { font-size: clamp(3.2rem, 5.2vw, 5.7rem); }
.journey-stages-heading > p:last-child { max-width: 550px; color: #5d6059; line-height: 1.75; }
.journey-stage-list { border-top: 1px solid var(--line-dark); }
.journey-stage { border-bottom: 1px solid var(--line-dark); }
.journey-stage summary { min-height: 155px; padding: 2rem 0; display: grid; grid-template-columns: 55px 1fr 42px; align-items: center; gap: 1.4rem; cursor: pointer; list-style: none; }
.journey-stage summary::-webkit-details-marker { display: none; }
.stage-number { align-self: start; padding-top: .5rem; color: #74776f; font-size: .65rem; font-weight: 750; letter-spacing: .12em; }
.stage-summary-copy { display: flex; flex-direction: column; gap: .75rem; }
.stage-summary-copy strong { font-size: clamp(1.45rem, 2.1vw, 2rem); font-weight: 550; letter-spacing: -.03em; }
.stage-summary-copy small { max-width: 610px; color: #63665f; font-size: .95rem; line-height: 1.55; }
.stage-toggle { position: relative; width: 38px; height: 38px; border: 1px solid #a2a59d; border-radius: 50%; }
.stage-toggle::before, .stage-toggle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 1px; background: var(--ink); transform: translate(-50%,-50%); }
.stage-toggle::after { transform: translate(-50%,-50%) rotate(90deg); transition: transform .2s ease; }
.journey-stage[open] .stage-toggle { color: var(--ink); background: var(--signal); border-color: var(--signal); }
.journey-stage[open] .stage-toggle::after { transform: translate(-50%,-50%) rotate(0); }
.stage-detail { padding: 0 0 2.5rem 79px; display: grid; grid-template-columns: 1fr .8fr; gap: 3rem; }
.stage-detail > p { margin: 0; color: #4e514b; line-height: 1.75; }
.stage-detail > div { padding: 1.2rem; background: rgba(255,255,255,.45); border-left: 2px solid var(--signal); }
.stage-detail span { display: block; margin-bottom: .5rem; color: #74776f; font-size: .6rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.stage-detail strong { font-size: .9rem; line-height: 1.5; }

.intelligence-section {
    padding: clamp(6rem, 11vw, 11rem) var(--page-padding);
    color: var(--white);
    background: #151713;
}
.intelligence-intro { display: grid; grid-template-columns: 170px minmax(0, 1fr); column-gap: clamp(3rem, 8vw, 9rem); }
.intelligence-intro .kicker { color: var(--signal); }
.intelligence-intro h2 { grid-column: 2; max-width: 1050px; }
.intelligence-intro > p:last-child { grid-column: 2; max-width: 700px; color: #aeb1a9; font-size: 1.08rem; line-height: 1.75; }
.intelligence-grid { margin: 6rem 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.intelligence-grid article { min-height: 265px; padding: 2.2rem; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.intelligence-grid article > span { color: var(--signal); font-size: .63rem; letter-spacing: .13em; }
.intelligence-grid h3 { margin: 3rem 0 1rem; font-size: 1.55rem; font-weight: 550; }
.intelligence-grid p { max-width: 560px; margin: 0; color: #9fa39a; line-height: 1.7; }
.intelligence-section blockquote { max-width: 1000px; margin: 0 auto; text-align: center; font-size: clamp(2.6rem, 5vw, 5.4rem); }

.journey-results {
    padding: clamp(6rem, 10vw, 10rem) var(--page-padding);
    display: grid;
    grid-template-columns: 1fr .85fr;
    gap: clamp(4rem, 9vw, 9rem);
    background: var(--paper);
}
.journey-results h2 { font-size: clamp(3.1rem, 5.5vw, 6rem); }
.journey-results ul { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.journey-results li { min-height: 78px; padding: 1.4rem 0; display: flex; align-items: center; gap: 1rem; border-bottom: 1px solid var(--line-dark); font-size: 1.08rem; }
.journey-results li span { color: #7b861a; }

.journey-contact {
    padding: clamp(6rem, 10vw, 10rem) var(--page-padding);
    color: var(--ink);
    background: var(--signal);
}
.journey-contact .kicker { color: #626b20; }
.journey-contact h2 { max-width: 1000px; margin-bottom: 2rem; }
.journey-contact h2 em { color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .12em; }
.journey-contact > p:not(.kicker) { max-width: 720px; margin-bottom: 2.5rem; color: #454b17; font-size: 1.08rem; line-height: 1.75; }
.journey-contact .button { width: fit-content; min-width: 250px; }
.journey-footer { min-height: 210px; }

.blazor-error-boundary { padding: 1rem; color: white; background: #a82424; }
.blazor-error-boundary::after { content: "Ett oväntat fel har inträffat."; }

@media (min-width: 1441px) {
    .hero, .client-strip, .home-operating-model, .executive-proof, .section, .site-footer, .journey-preview, .journey-hero, .journey-thesis, .enterprise-flow, .informationship-section, .journey-stages, .intelligence-section, .journey-results, .journey-contact, .subpage-hero, .subpage-services, .subpage-method, .subpage-next, .contact-page-hero, .impact-patterns, .operating-model-section, .rule-engine-section, .impact-value, .impact-faq { padding-left: calc((100vw - var(--max-width)) / 2 + var(--page-padding)); padding-right: calc((100vw - var(--max-width)) / 2 + var(--page-padding)); }
}

@media (max-width: 1050px) {
    .hero { grid-template-columns: 1fr 400px; gap: 2rem; }
    .hero-visual { transform: scale(.92); }
    .method-content { grid-template-columns: 1fr; gap: 4rem; }
    .client-strip { grid-template-columns: 1fr; gap: 1.25rem; }
    .client-strip ul { flex-wrap: wrap; justify-content: flex-start; gap: 1.4rem 2.5rem; }
    .header-actions { gap: 1.25rem; }
    .journey-hero { grid-template-columns: 1fr 380px; }
    .journey-stages { grid-template-columns: 1fr; }
    .journey-stages-heading { position: static; }
    .enterprise-flow ol { grid-template-columns: repeat(3, 1fr); }
    .enterprise-flow li:nth-child(3) { border-right: 0; }
    .enterprise-flow li:nth-child(-n+3) { border-bottom: 1px solid var(--line-light); }
    .informationship-graph-copy { grid-template-columns: 1fr; }
    .informationship-rules-intro { grid-template-columns: 1fr; }
    .informationship-rules-intro > p:last-child { grid-column: 1; }
    .informationship-rule-principles { grid-template-columns: repeat(2,1fr); }
    .informationship-rule-principles li:nth-child(2) { border-right: 0; }
    .informationship-rule-principles li:nth-child(-n+2) { border-bottom: 1px solid var(--line-light); }
    .property-graph { width: min(100%, 700px); margin: 0 auto; }
    .subpage-services, .subpage-method { grid-template-columns: 1fr; }
    .subpage-section-heading { position: static; }
    .executive-proof { grid-template-columns: 1fr; }
    .home-executable-flow { grid-template-columns: 1fr; }
    .impact-pattern-grid { grid-template-columns: 1fr; }
    .impact-pattern-grid > div { min-height: 0; }
    .rule-engine-path { grid-template-columns: 1fr 1fr; }
    .rule-engine-path li:not(:nth-child(3n))::after { display: none; }
    .executable-flow { grid-template-columns: 1fr; }
    .impact-value ol { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
    .site-header { height: 78px; grid-template-columns: 1fr auto auto; }
    .main-nav { display: none; }
    .mobile-nav { position: relative; display: block; margin-left: 1rem; }
    .mobile-nav summary { padding: .5rem 0; color: var(--white); cursor: pointer; list-style: none; font-size: .67rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
    .mobile-nav summary::-webkit-details-marker { display: none; }
    .mobile-nav summary::after { content: "+"; margin-left: .5rem; color: var(--signal); }
    .mobile-nav[open] summary::after { content: "−"; }
    .mobile-nav nav { position: absolute; top: 51px; right: 0; width: min(82vw, 330px); padding: 1rem 1.4rem; display: flex; flex-direction: column; color: var(--white); background: #171914; border: 1px solid #44483f; box-shadow: 0 22px 50px rgba(0,0,0,.35); }
    .mobile-nav nav a { padding: 1rem 0; border-bottom: 1px solid var(--line-light); font-size: .88rem; }
    .mobile-nav nav a:last-child { border-bottom: 0; }
    .mobile-nav nav a[aria-current="page"] { color: var(--signal); }
    .hero { min-height: 920px; height: auto; padding-top: 125px; grid-template-columns: 1fr; align-content: center; }
    .hero-copy { max-width: 670px; }
    .hero-visual { width: min(90vw, 470px); justify-self: center; }
    .hero-index { display: none; }
    .section { grid-template-columns: 1fr; }
    .section-label { margin-bottom: 1rem; }
    .intro-columns { margin-left: 0; }
    .journey-header { height: 78px; grid-template-columns: 1fr auto; }
    .journey-nav { display: none; }
    .journey-hero { min-height: 1050px; padding-top: 120px; grid-template-columns: 1fr; gap: 4rem; }
    .journey-signal { width: min(85vw, 480px); justify-self: center; }
    .journey-thesis { grid-template-columns: 1fr; }
    .intelligence-intro { grid-template-columns: 1fr; }
    .intelligence-intro h2, .intelligence-intro > p:last-child { grid-column: 1; }
    .journey-results { grid-template-columns: 1fr; }
    .journey-preview { grid-template-columns: 1fr; align-items: start; }
    .informationship-intro { grid-template-columns: 1fr; }
    .informationship-intro h2, .informationship-intro > p:last-child { grid-column: 1; }
    .subpage-hero { min-height: 760px; grid-template-columns: 1fr; align-content: end; gap: 3rem; }
    .subpage-hero h1 { font-size: clamp(4rem, 13vw, 7rem); }
    .impact-value-copy { grid-template-columns: 1fr; }
    .impact-value-copy h2, .impact-value-copy > p:last-child { grid-column: 1; }
    .rule-engine-intro { grid-template-columns: 1fr; }
    .rule-engine-intro h2, .rule-engine-intro > p:last-child { grid-column: 1; }
    .operating-model-intro { grid-template-columns: 1fr; }
    .operating-model-intro h2, .operating-model-intro > p:last-child { grid-column: 1; }
    .rule-engine-trace { grid-template-columns: 1fr; }
    .home-operating-model-heading { grid-template-columns: 1fr; }
    .home-operating-model-heading h2, .home-operating-model-heading > p:last-child { grid-column: 1; }
    .impact-value ol { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 580px) {
    .site-header { padding-right: 1.25rem; padding-left: 1.25rem; }
    .brand { font-size: .7rem; letter-spacing: .12em; }
    .brand-mark { width: 26px; height: 26px; }
    .header-actions { gap: 1rem; }
    .header-cta { display: none; }
    .language-switch { font-size: .67rem; }
    .mobile-nav { margin-left: .75rem; }
    .hero { min-height: 860px; padding-top: 120px; padding-bottom: 4rem; gap: 4rem; }
    h1 { font-size: clamp(3.65rem, 17vw, 5.25rem); }
    .eyebrow { font-size: .61rem; line-height: 1.5; }
    .hero-lead { font-size: 1rem; }
    .hero-actions { align-items: stretch; flex-direction: column; gap: 1.2rem; }
    .button { width: 100%; }
    .text-link { width: fit-content; }
    .hero-visual { width: 92vw; margin-left: -4vw; }
    .node { width: 80px; height: 80px; }
    .node-core { width: 100px; height: 100px; }
    .node-info { left: 13%; }
    .node-ops { left: 13%; }
    .visual-caption { display: none; }
    .client-strip { padding-top: 2.3rem; padding-bottom: 2.3rem; }
    .client-strip ul { gap: 1.1rem 1.7rem; }
    .home-operating-model { padding-top: 5.5rem; padding-bottom: 5.5rem; }
    .home-operating-model-figure { margin-top: 3.5rem; }
    .home-operating-model-figure figcaption { padding: 1rem; font-size: .54rem; }
    .home-operating-model-comparison { grid-template-columns: 1fr; }
    .home-operating-model-comparison article { min-height: 0; padding: 2rem 1.3rem; }
    .home-operating-model-comparison article + article { border-top: 1px solid var(--line-dark); border-left: 0; }
    .home-operating-model-comparison h3 { margin-top: 2rem; }
    .home-executable-flow { margin-top: 5rem; padding-top: 4rem; gap: 2.5rem; }
    .section { padding-top: 5.5rem; padding-bottom: 5.5rem; gap: 1.5rem; }
    h2 { font-size: clamp(3rem, 14vw, 4.4rem); }
    .intro-columns { grid-template-columns: 1fr; gap: 1.3rem; }
    .service-card { min-height: 0; grid-template-columns: 42px 1fr; }
    .service-arrow { display: none; }
    .service-card p { font-size: .92rem; }
    .method-content { grid-template-columns: 1fr; }
    .steps li { grid-template-columns: 42px 1fr; }
    .statement { min-height: 550px; }
    .statement-mark { margin-bottom: 3rem; }
    .site-footer { grid-template-columns: 1fr; }
    .site-footer > p { justify-self: start; text-align: left; }
    .footer-meta { grid-column: 1; justify-content: flex-start; flex-wrap: wrap; gap: 1rem 1.5rem; }
    .journey-header { padding-right: 1.25rem; padding-left: 1.25rem; }
    .journey-hero { min-height: 950px; padding-top: 110px; }
    .journey-back { margin-bottom: 2rem; }
    .journey-hero h1 { font-size: clamp(3.45rem, 16vw, 5rem); }
    .journey-signal { width: 90vw; margin-left: -2vw; }
    .journey-thesis { padding-top: 5.5rem; padding-bottom: 5.5rem; }
    .thesis-copy { grid-template-columns: 1fr; gap: 1.4rem; }
    .enterprise-flow ol { grid-template-columns: 1fr 1fr; }
    .enterprise-flow li { min-height: 140px; }
    .enterprise-flow li:nth-child(3) { border-right: 1px solid var(--line-light); }
    .enterprise-flow li:nth-child(even) { border-right: 0; }
    .enterprise-flow li:nth-child(-n+4) { border-bottom: 1px solid var(--line-light); }
    .enterprise-flow li:nth-child(2)::after, .enterprise-flow li:nth-child(4)::after { display: none; }
    .journey-stages { padding-top: 5.5rem; padding-bottom: 5.5rem; }
    .journey-stage summary { grid-template-columns: 36px 1fr 36px; gap: .9rem; }
    .stage-detail { padding-left: 45px; grid-template-columns: 1fr; gap: 1.3rem; }
    .intelligence-section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
    .intelligence-grid { margin: 4rem 0; grid-template-columns: 1fr; }
    .intelligence-grid article { min-height: 230px; }
    .journey-contact .button { width: 100%; }
    .journey-preview { padding-top: 6rem; padding-bottom: 6rem; }
    .journey-preview-action .button { width: 100%; }
    .informationship-section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
    .informationship-definition { margin: 4rem 0; grid-template-columns: 1fr; gap: 1rem; }
    .comparison-head, .comparison-row { grid-template-columns: 1fr; }
    .comparison-head strong { padding: 1rem 0; }
    .comparison-head strong:last-child { border-top: 1px solid var(--line-light); }
    .comparison-row span { padding: 1.2rem 0; }
    .comparison-row span:last-child { padding: 1.2rem 0; border-top: 1px dashed rgba(232,255,91,.2); border-left: 0; }
    .informationship-comparison { margin-bottom: 5rem; }
    .property-graph { width: 112%; margin-left: -6%; }
    .graph-node { width: 90px; min-height: 58px; padding: .55rem; }
    .graph-node strong { font-size: .6rem; }
    .graph-core { width: 112px; min-height: 75px; }
    .informationship-rule-principles { grid-template-columns: 1fr; }
    .informationship-rule-principles li { min-height: 245px; border-right: 0; border-bottom: 1px solid var(--line-light); }
    .informationship-rule-principles li:last-child { border-bottom: 0; }
    .informationship-rule-flow { grid-template-columns: 1fr; }
    .informationship-rule-flow li { min-height: 78px; }
    .informationship-rule-flow li:not(:last-child)::after { content: "↓"; }
    .informationship-closing { margin-top: 6rem; }
    .subpage-hero { min-height: 720px; padding-top: 125px; padding-bottom: 5rem; }
    .subpage-hero h1 { font-size: clamp(3.6rem, 16vw, 5rem); }
    .subpage-services, .subpage-method, .subpage-next { padding-top: 5.5rem; padding-bottom: 5.5rem; }
    .contact-page-hero { padding-top: 125px; padding-bottom: 5rem; }
    .contact-page-hero h1 { font-size: clamp(3.7rem, 16vw, 5.2rem); }
    .contact-detail-grid { grid-template-columns: 1fr; }
    .contact-detail-grid > div { min-height: 105px; padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid var(--line-light); }
    .contact-detail-grid > div:not(:first-child) { padding-left: 0; }
    .impact-patterns, .impact-faq, .impact-value, .operating-model-section, .rule-engine-section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
    .executive-proof { padding-top: 5.5rem; padding-bottom: 5.5rem; grid-template-columns: 1fr; }
    .impact-pattern header { grid-template-columns: 42px 1fr; gap: .5rem; }
    .impact-pattern-grid, .impact-measures { margin-left: 0; }
    .impact-pattern-grid { grid-template-columns: 1fr; }
    .impact-measures { grid-template-columns: 1fr; gap: .8rem; }
    .operating-model-figure { margin-top: 4rem; }
    .operating-model-figure img { width: 100%; max-width: none; transform: none; }
    .operating-model-figure figcaption { padding: 1rem; font-size: .54rem; }
    .operating-model-comparison { grid-template-columns: 1fr; }
    .operating-model-comparison article { min-height: 0; padding: 2rem 1.3rem; }
    .operating-model-comparison article + article { border-top: 1px solid var(--line-dark); border-left: 0; }
    .operating-model-comparison h3 { margin-top: 2rem; }
    .executable-flow { margin-top: 5rem; padding-top: 4rem; gap: 2.5rem; }
    .impact-value ol { margin: 4rem 0; grid-template-columns: 1fr; }
    .impact-value li { min-height: 125px; }
    .rule-engine-visual { margin: 4rem 0; }
    .rule-engine-input { grid-template-columns: 1fr; }
    .rule-engine-path { grid-template-columns: 1fr; }
    .rule-engine-path li { min-height: 0; }
    .rule-engine-outcomes { grid-template-columns: 1fr; }
    .rule-engine-trace { padding-top: 4rem; grid-template-columns: 1fr; }
    .impact-formula { padding: 1.5rem; }
    .impact-evidence { grid-template-columns: 1fr; gap: .8rem; }
    .faq-item summary { grid-template-columns: 34px 1fr 32px; }
    .faq-item > p { padding-right: 0; padding-left: 34px; }
}

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