:root {
  --ink: #19221e;
  --canvas: #f7f7f2;
  --paper: #ffffff;
  --mist: #e7e9e1;
  --muted: #67706a;
  --rule: #d4d9d1;
  --focus: #526a5e;
  --acid: #c7d3a1;
  --display: "Plus Jakarta Sans", Arial, sans-serif;
  --body: Inter, Arial, sans-serif;
  --gutter: clamp(1.25rem, 4vw, 5rem);
  --content: 90rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: var(--body); font-size: 16px; line-height: 1.55; overflow-x: hidden; }
a { color: inherit; }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 10; padding: .75rem 1rem; background: var(--focus); color: #fff; }
.skip-link:focus { top: 1rem; }
.cursor-trail { display:none; }
@media (hover: hover) and (pointer: fine) {
  .cursor-trail { --cursor-x: 50vw; --cursor-y: 50vh; --cursor-scale: .38; position:fixed; z-index:20; top:0; left:0; display:grid; width:3.5rem; height:3.5rem; place-items:center; border:1px solid var(--focus); border-radius:50%; color:var(--focus); pointer-events:none; opacity:0; transform:translate3d(var(--cursor-x), var(--cursor-y), 0) translate(-50%, -50%) scale(var(--cursor-scale)); transition:opacity .25s ease, border-color .25s ease, background .25s ease, color .25s ease; mix-blend-mode:multiply; }.cursor-trail span { font-size:.48rem; font-weight:700; letter-spacing:.08em; }.cursor-trail.is-visible { opacity:1; }.cursor-trail.is-active { --cursor-scale: 1; border-color:var(--ink); background:var(--ink); color:var(--canvas); mix-blend-mode:normal; }
}
.site-header { position: absolute; z-index: 3; top: 0; left: 0; width: 100%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 1.5rem var(--gutter); }
.wordmark { display: block; width: clamp(10rem, 14vw, 13.5rem); text-decoration: none; line-height: 1; }
.wordmark img { display: block; width: 100%; height: auto; }
nav { display: flex; gap: 1.6rem; font-size: .72rem; }
nav a { padding-bottom: .25rem; border-bottom: 1px solid transparent; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
nav a:hover { border-color: currentColor; color: var(--focus); }
.contact-link { justify-self: end; display: inline-flex; gap: .75rem; align-items: center; padding-bottom: .25rem; border-bottom: 1px solid currentColor; font-size: .72rem; font-weight: 600; text-decoration: none; transition: gap .2s ease, color .2s ease; }
.contact-link:hover { gap: 1rem; color: var(--focus); }
.contact-link i, .arrow-link i, .contact-button i { font-style: normal; font-size: 1.2em; }
.hero { min-height: min(54rem, 100svh); max-width: var(--content); margin: 0 auto; padding: 10.5rem var(--gutter) 2rem; display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: 1fr auto; column-gap: 1.5rem; position: relative; }
.hero-intro { grid-column: 1 / 8; position: relative; z-index: 1; align-self: center; }
.eyebrow, .token-label { margin: 0 0 1.5rem; color: var(--muted); font-size: .67rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1, h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.075em; line-height: .91; }
h1 { max-width: 56rem; margin-bottom: 2.75rem; font-size: clamp(4rem, 8.9vw, 9.7rem); }
h1 span, h2 span { color: #a8a8a4; }
.hero-copy { max-width: 25rem; color: var(--muted); font-size: 1rem; }
.arrow-link { display: inline-flex; gap: 1.25rem; margin-top: 1.5rem; padding-bottom: .5rem; border-bottom: 1px solid currentColor; font-size: .75rem; font-weight: 600; text-decoration: none; transition: gap .2s ease, color .2s ease; }
.arrow-link:hover { gap: 1.75rem; color: var(--focus); }
.hero-art { grid-column: 8 / 13; min-height: 31rem; overflow: hidden; position: relative; isolation: isolate; background: radial-gradient(circle at 82% 15%, #c7d3a1 0, transparent 21%), linear-gradient(145deg, #dfe4d9, #b6c0b5 55%, #6a7b70); border-radius: .25rem; }
.art-grid { position: absolute; inset: 0; z-index: 0; opacity: .32; background-image: linear-gradient(#f6f6ef99 1px, transparent 1px), linear-gradient(90deg, #f6f6ef99 1px, transparent 1px); background-size: 2.5rem 2.5rem; mask-image: linear-gradient(to bottom, #000, transparent 80%); }
.hero-art b { position: absolute; bottom: 1.4rem; left: 1.4rem; z-index: 2; font: 600 clamp(1.7rem, 2.5vw, 2.8rem)/.9 var(--display); letter-spacing: -.08em; }
.art-label { position: absolute; top: 1.25rem; left: 1.4rem; z-index: 2; font-size: .6rem; line-height: 1.4; letter-spacing: .12em; }
.orb { position: absolute; border-radius: 50%; mix-blend-mode: multiply; background: linear-gradient(140deg, #fefefd 4%, #748279 48%, #19221e 70%, #dce2d7); box-shadow: inset -1.3rem -1.3rem 2.5rem #0007, inset 1.5rem 1rem 2rem #fff9; }
.orb-one { width: 15rem; height: 15rem; top: 3.1rem; right: -3rem; }
.orb-two { width: 9.5rem; height: 9.5rem; top: 12rem; left: 4%; background: radial-gradient(circle at 30% 22%, #fff, #9c9c98 30%, #121212 72%); }
.orb-three { width: 6rem; height: 6rem; top: 4.1rem; left: 17%; background: linear-gradient(120deg, #fff, #888 43%, #000 88%); }
.line { position: absolute; width: 130%; height: 1px; background: #10101055; transform: rotate(-42deg); }
.line-one { top: 18%; left: -30%; }.line-two { bottom: 12%; right: -42%; transform: rotate(32deg); }
.hero-foot { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-top: 2rem; color: var(--muted); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-status { display: inline-flex; align-items: center; gap: .55rem; }.hero-status i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--focus); box-shadow: 0 0 0 .3rem #c7d3a166; }
.manifesto { max-width: var(--content); margin: 0 auto; padding: 12rem var(--gutter) 10rem; display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.5rem; border-top: 1px solid var(--rule); }
.manifesto > .eyebrow { grid-column: span 3; }.manifesto > div { grid-column: 5 / 13; }
h2 { margin-bottom: 3rem; font-size: clamp(2.8rem, 5.2vw, 6rem); }
.manifesto div > p { max-width: 28rem; margin-left: auto; color: var(--muted); }
.statement { position: relative; min-height: 46rem; overflow: hidden; padding: clamp(2rem, 5vw, 5rem) var(--gutter); background: var(--ink); color: var(--canvas); }
.statement > p { position: relative; z-index: 1; font: 500 clamp(4rem, 10vw, 10.5rem)/.83 var(--display); letter-spacing: -.09em; }.statement > p span { color: #83837e; }
.statement-mark { position: absolute; right: -5vw; bottom: -8.5vw; color: #f4f4ee; font: 700 clamp(15rem, 42vw, 45rem)/.7 var(--display); letter-spacing: -.21em; opacity: .96; }.statement-mark span { color: var(--ink); }
.dynamic-section { padding:9rem var(--gutter); }.dynamic-section-inner { max-width:var(--content); margin:0 auto; display:grid; grid-template-columns:repeat(12,1fr); gap:1.5rem; }.block-copy { display:contents; }.dynamic-section h2 { grid-column:1 / 7; margin:0; white-space:pre-line; }.dynamic-section .block-copy > p { grid-column:8 / 12; margin:0; color:var(--muted); white-space:pre-line; }.dynamic-section .block-copy > .arrow-link { grid-column:8 / 12; justify-self:start; }.dynamic-section.mist { background:var(--mist); }.dynamic-section.ink { background:var(--ink); color:var(--canvas); }.dynamic-section.ink .block-copy > p, .dynamic-section.ink .quote-attribution, .dynamic-section.ink .card-list p { color:#cbd1c5; }.dynamic-section.ink .arrow-link { border-color:var(--canvas); }
.dynamic-section--imageText { overflow:hidden; }.dynamic-section--imageText .dynamic-section-inner { position:relative; min-height:44rem; align-items:start; }.dynamic-section--imageText figure { grid-column:2 / 9; position:relative; z-index:0; margin:0; min-height:41rem; background:var(--mist); overflow:hidden; border-radius:0; }.dynamic-section--imageText figure::after { position:absolute; inset:0; content:""; background:linear-gradient(135deg, #19221e2b, transparent 42%, #19221e38); pointer-events:none; }.dynamic-section--imageText figure img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.58) contrast(1.11); transition:transform 1.1s cubic-bezier(.2,.7,.2,1), filter .5s ease; }.dynamic-section--imageText:hover figure img { transform:scale(1.035); filter:saturate(.78) contrast(1.05); }.dynamic-section--imageText .block-copy { position:absolute; right:0; bottom:5.5rem; z-index:1; width:clamp(20rem, 34vw, 31rem); display:block; margin:0; padding:2.7rem; background:var(--canvas); box-shadow:0 1.5rem 4rem #19221e13; transform:translateY(-5rem); }.dynamic-section--imageText .block-copy h2, .dynamic-section--imageText .block-copy > p, .dynamic-section--imageText .block-copy > .arrow-link { grid-column:auto; }.dynamic-section--imageText .block-copy h2 { margin-bottom:1.8rem; font-size:clamp(2.6rem,4vw,4.8rem); }.dynamic-section--imageText .block-copy > p { margin:0; }.dynamic-section--imageText .block-copy > .arrow-link { margin-top:1.5rem; }.dynamic-section--imageText.mist .block-copy { background:#f4f5f0; }.dynamic-section--imageText.image-text-0 figure img { object-position:50% 72%; }.dynamic-section--imageText.image-text-1 .dynamic-section-inner { min-height:37rem; }.dynamic-section--imageText.image-text-1 figure { grid-column:4 / 13; min-height:33rem; }.dynamic-section--imageText.image-text-1 .block-copy { right:auto; bottom:3.5rem; left:0; transform:translateY(-3.5rem); }.dynamic-section--imageText.image-text-1 figure img { object-position:center; }
.dynamic-section--quote .dynamic-section-inner { grid-template-columns:repeat(12,1fr); }.dynamic-section--quote blockquote { grid-column:2 / 12; margin:0; font:500 clamp(2.5rem,5.7vw,6.6rem)/.93 var(--display); letter-spacing:-.07em; }.quote-attribution { grid-column:2 / 12; margin:2rem 0 0; color:var(--muted); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.dynamic-section--cards .block-copy > p { margin-bottom:2rem; }.card-list { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; }.card-list article { min-height:18rem; padding:2rem; border:1px solid var(--rule); border-radius:0; background:var(--paper); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }.card-list article:hover { transform: translateY(-.4rem); border-color:var(--focus); box-shadow:0 1rem 2.5rem #19221e12; }.card-list h3 { max-width:18rem; margin:0 0 4.5rem; font:500 clamp(1.5rem,2.5vw,2.6rem)/.96 var(--display); letter-spacing:-.065em; }.card-list p { max-width:28rem; margin:0; color:var(--muted); }.card-list .arrow-link { margin-top:2rem; }.dynamic-section.ink .card-list article { border-color:#5a665e; background:#202b25; }

/* Portfolio feature and advisory index: deliberately not generic cards. */
.dynamic-section--cards.mist .card-list { grid-template-columns:repeat(12,1fr); gap:1.5rem; background:none; border:0; }.dynamic-section--cards.mist .card-list article { position:relative; min-height:32rem; padding:2.3rem; border:0; background:var(--ink); color:var(--canvas); overflow:hidden; }.dynamic-section--cards.mist .card-list article:first-child { grid-column:1 / 10; }.dynamic-section--cards.mist .card-list article:first-child::before { content:"PORTFOLIO / 01"; position:absolute; top:2.3rem; left:2.3rem; color:#c7d3a1; font-size:.65rem; font-weight:600; letter-spacing:.14em; }.dynamic-section--cards.mist .card-list article:first-child h3 { position:absolute; left:2.3rem; bottom:2rem; max-width:none; margin:0; font-size:clamp(5rem,11vw,12rem); line-height:.76; letter-spacing:-.11em; }.dynamic-section--cards.mist .card-list article:first-child p { position:absolute; right:2.3rem; bottom:2.5rem; max-width:15rem; color:#cbd1c5; }.dynamic-section--cards.mist .card-list article:nth-child(2) { grid-column:10 / 13; align-self:end; min-height:14rem; padding:0 0 1rem; border-top:1px solid var(--ink); background:transparent; color:var(--ink); }.dynamic-section--cards.mist .card-list article:nth-child(2) h3 { margin:1.2rem 0 2rem; }.dynamic-section--cards.mist .card-list article:nth-child(2) p { color:var(--muted); }
.dynamic-section--cards.ink .card-list { display:block; background:none; border:0; counter-reset:advisory; }.dynamic-section--cards.ink .card-list article { display:grid; grid-template-columns:4rem minmax(14rem,1fr) minmax(15rem,1fr); gap:1.5rem; align-items:baseline; min-height:0; padding:1.4rem 0; border:0; border-top:1px solid #5a665e; background:transparent; }.dynamic-section--cards.ink .card-list article::before { counter-increment:advisory; content:"0" counter(advisory); color:#c7d3a1; font-size:.65rem; font-weight:600; letter-spacing:.12em; }.dynamic-section--cards.ink .card-list article:hover { transform:none; border-color:#c7d3a1; box-shadow:none; }.dynamic-section--cards.ink .card-list h3 { max-width:none; margin:0; font-size:clamp(1.7rem,3vw,3.2rem); }.dynamic-section--cards.ink .card-list p { max-width:28rem; color:#cbd1c5; }.dynamic-section--cards.ink .card-list article:last-child { border-bottom:1px solid #5a665e; }
/* Scruffy Cub is a brand chapter, not a generic project card. */
.scruffy-cub-logo { position:absolute; z-index:2; top:2.2rem; right:2.2rem; width:clamp(8rem,15vw,14rem); transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.dynamic-section--cards.mist .card-list--portfolio article:first-child { isolation:isolate; background:#25282a; border-left:.35rem solid #d22630; }
.dynamic-section--cards.mist .card-list--portfolio article:first-child::before { z-index:2; color:#cfcbc4; }
.dynamic-section--cards.mist .card-list--portfolio article:first-child::after { content:""; position:absolute; z-index:0; width:clamp(24rem,42vw,42rem); aspect-ratio:1; right:-14rem; bottom:-28rem; border-radius:50%; background:#d22630; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.dynamic-section--cards.mist .card-list--portfolio article:first-child h3, .dynamic-section--cards.mist .card-list--portfolio article:first-child p { z-index:2; }
.dynamic-section--cards.mist .card-list--portfolio article:first-child:hover .scruffy-cub-logo { transform:rotate(-5deg) scale(1.07); }
.dynamic-section--cards.mist .card-list--portfolio article:first-child:hover::after { transform:scale(1.18) translate(-5%, -5%); }
.dynamic-section--cards.mist .card-list--portfolio article:first-child:hover h3 { color:#d22630; }

/* Advisory is an expandable, keyboard-accessible index. */
.dynamic-section--cards.ink .card-list--advisory article { position:relative; cursor:default; transition:padding-left .35s ease, background .35s ease, border-color .35s ease; }
.dynamic-section--cards.ink .card-list--advisory article::after { content:"↗"; position:absolute; right:0; opacity:0; color:#d22630; font-size:1.3rem; transition:opacity .25s ease, transform .25s ease; }
.dynamic-section--cards.ink .card-list--advisory article:hover, .dynamic-section--cards.ink .card-list--advisory article:focus { padding-left:1rem; border-color:#d22630; background:#25282a; outline:none; }
.dynamic-section--cards.ink .card-list--advisory article:hover::after, .dynamic-section--cards.ink .card-list--advisory article:focus::after { opacity:1; transform:translateX(-.3rem); }
.dynamic-section--cards.ink .card-list--advisory article:hover h3, .dynamic-section--cards.ink .card-list--advisory article:focus h3 { color:#d22630; }
.dynamic-section--cards.ink .card-list--advisory article p { opacity:.58; transform:translateX(.75rem); transition:opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.dynamic-section--cards.ink .card-list--advisory article:hover p, .dynamic-section--cards.ink .card-list--advisory article:focus p { opacity:1; transform:none; }
.dynamic-section--cards.ink .card-list--advisory article:focus-visible { box-shadow:inset 3px 0 #d22630; }
.principles { max-width: var(--content); margin: 0 auto; padding: 11rem var(--gutter); display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.5rem; }.principles > div { grid-column: 1 / 6; }.principles ol { grid-column: 7 / 13; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }.principles li { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; min-height: 8rem; padding: 1.5rem 0; border-bottom: 1px solid var(--rule); transition: padding-left .2s ease, background .2s ease; }.principles li:hover { padding-left: .65rem; background:#eef0e9; }.principles li span { color: var(--focus); font-size: .67rem; font-weight: 600; letter-spacing: .12em; }.principles li p { max-width: 27rem; margin: 0; font: 500 clamp(1.15rem, 1.7vw, 1.55rem)/1.2 var(--display); letter-spacing: -.04em; }
.system { max-width: var(--content); margin: 0 auto; padding: 10rem var(--gutter); }.system-heading { display: grid; grid-template-columns: repeat(12,1fr); gap: 1.5rem; }.system-heading .eyebrow { grid-column: span 3; }.system-heading h2 { grid-column: 5 / 10; }.system-heading > p:last-child { grid-column: 10 / 13; padding-top: .75rem; color: var(--muted); font-size: .88rem; }
.system-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 4rem; background: var(--rule); border: 1px solid var(--rule); }.token-card { min-height: 30rem; padding: 2rem; background: var(--paper); }.specimen-display { margin: 6rem 0 2.5rem; font: 500 clamp(3.5rem, 6vw, 6.5rem)/.84 var(--display); letter-spacing: -.09em; }.specimen-body { max-width: 24rem; color: var(--muted); font-size: .86rem; }.token-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem 1rem; margin-top: 4rem; padding-top: 1rem; border-top: 1px solid var(--rule); font-size: .72rem; }.token-card dt { color: var(--muted); }.token-card dd { margin: 0; font-weight: 600; }.swatches { display: grid; grid-template-columns: repeat(4,1fr); gap: .6rem; margin: 3.8rem 0; }.swatches div { display: grid; gap: .35rem; font-size: .65rem; }.swatch { display: block; aspect-ratio: 1; border: 1px solid var(--rule); }.ink { background:#101010; }.canvas { background:#fafaf8; }.mist { background:#edede8; }.focus { background:#3f514b; }.swatches small { color: var(--muted); font-size: .58rem; }.colour-note { max-width: 21rem; color: var(--muted); font-size: .86rem; }
.grid-study { padding: 7rem var(--gutter) 9rem; background: var(--mist); }.grid-study > * { max-width: var(--content); margin-left: auto; margin-right: auto; }.grid-study h2 { margin-bottom: 4rem; }.grid-demo { display: grid; grid-template-columns: repeat(12,1fr); gap: 1.5rem; position: relative; min-height: 30rem; background-image: repeating-linear-gradient(90deg, transparent 0 calc((100% - 16.5rem)/12), #aaa9a155 calc((100% - 16.5rem)/12) calc((100% - 16.5rem)/12 + 1px)); }.grid-numbers { position: absolute; top: -.5rem; left: 0; right: 0; display: grid; grid-template-columns: repeat(12,1fr); gap: 1.5rem; color: var(--muted); font-size: .55rem; }.grid-content { z-index: 1; padding: 1.4rem; display: flex; align-items: end; font-size: .8rem; }.grid-content p { margin: 0; }.grid-a { grid-column: 1 / 6; margin-top: 5rem; background: var(--ink); color: var(--canvas); }.grid-b { grid-column: 7 / 11; margin-top: 11rem; background: var(--paper); color: var(--ink); }.grid-c { grid-column: 11 / 13; margin-top: 3rem; padding: 0; align-items: start; flex-direction: column; background: transparent; }.grid-c b { font: 500 5rem/.8 var(--display); letter-spacing: -.1em; }.grid-c span { color: var(--muted); font-size: .65rem; line-height: 1.3; }
.contact { padding: 12rem var(--gutter) 2rem; background: var(--canvas); }.contact h2 { margin-bottom: 7rem; }.contact-bottom { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--rule); font-size: .82rem; }.contact-bottom a { text-decoration-thickness: 1px; text-underline-offset: .25em; }.contact-button { align-self: start; justify-self: end; display: inline-flex; gap: 1.2rem; padding: .9rem 1.1rem; border:0; border-radius: 3rem; background: var(--ink); color: var(--canvas); text-decoration: none !important; font-size: .72rem; font-weight: 600; cursor:pointer; transition:transform .2s ease, background .2s ease; }.contact-button:hover { transform:translateY(-2px); background:var(--focus); }
footer { min-height: 33rem; padding: 3rem var(--gutter); display: grid; grid-template-columns: 1fr 1fr; align-content: space-between; background: var(--ink); color: var(--canvas); }.inverse { width: clamp(10rem, 14vw, 13.5rem); }footer > p { font-size: .7rem; color: #a7a7a1; }.footer-word { justify-self: end; align-self: end; margin: 0; color: var(--canvas); font: 500 clamp(4rem, 8vw, 9rem)/.78 var(--display); letter-spacing: -.09em; text-align: right; }

/* Full-width editorial image chapters. Images lead; copy remains a small overlay. */
.dynamic-section--imageText { padding:0; background:var(--ink); }.dynamic-section--imageText .dynamic-section-inner, .dynamic-section--imageText.image-text-1 .dynamic-section-inner { display:block; width:100%; max-width:none; min-height:clamp(38rem, 72vw, 62rem); }.dynamic-section--imageText figure, .dynamic-section--imageText.image-text-1 figure { position:absolute; inset:0; width:100%; min-height:0; margin:0; }.dynamic-section--imageText figure::after { background:linear-gradient(90deg, #10171324 18%, transparent 54%, #101713a8); }.dynamic-section--imageText.image-text-1 figure::after { background:linear-gradient(90deg, #101713bd, transparent 62%); }.dynamic-section--imageText figure img, .dynamic-section--imageText.image-text-0 figure img, .dynamic-section--imageText.image-text-1 figure img { width:100%; height:100%; object-position:center; filter:saturate(.68) contrast(1.08); }.dynamic-section--imageText .block-copy, .dynamic-section--imageText.image-text-1 .block-copy { position:absolute; right:var(--gutter); bottom:clamp(2rem, 6vw, 6rem); left:auto; width:min(27rem, calc(100% - (var(--gutter) * 2))); margin:0; padding:0; background:transparent; box-shadow:none; color:var(--canvas); transform:none; }.dynamic-section--imageText.image-text-1 .block-copy { right:auto; left:var(--gutter); }.dynamic-section--imageText .block-copy h2 { margin-bottom:1.4rem; color:var(--canvas); font-size:clamp(3rem,5vw,6rem); text-shadow:0 .15rem 1rem #0006; }.dynamic-section--imageText .block-copy > p { color:#edf0e9; font-size:1rem; text-shadow:0 .1rem .7rem #000b; }.dynamic-section--imageText .block-copy > .arrow-link { border-color:var(--canvas); color:var(--canvas); }.dynamic-section--imageText:hover figure img { transform:scale(1.02); }

@media (prefers-reduced-motion: no-preference) {
  .motion-ready .reveal { opacity: 0; transform: translateY(1.75rem); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
  .motion-ready .hero-art.reveal { transform: none; }
  .motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }
  .motion-ready .hero-art.reveal.is-visible { transform: translateY(0); }
}

@media (max-width: 760px) { .site-header { grid-template-columns: 1fr auto; padding-top: 1.4rem; }.site-header nav { display:none; }.wordmark { width: 8.7rem; }.contact-link { padding:.58rem .75rem; }.hero { min-height: 49rem; padding-top: 8.5rem; display: block; }.hero-intro { padding-top: 1rem; }.hero-art { min-height: 17.5rem; margin-top: 3.5rem; }.hero-art b { font-size: 2rem; }.hero-foot { margin-top: 1.4rem; padding: 0; font-size: .55rem; }.manifesto { display: block; padding-top: 7rem; padding-bottom: 7rem; }.manifesto > .eyebrow { margin-bottom: 4rem; }.manifesto div > p { margin-left: 0; }.statement { min-height: 30rem; }.statement > p { font-size: clamp(3.4rem, 15vw, 5rem); }.statement-mark { font-size: 19rem; bottom: -2rem; right: -9rem; }.dynamic-section { padding-top:6.5rem; padding-bottom:6.5rem; }.dynamic-section-inner { display:block; }.dynamic-section .block-copy { display:block; }.dynamic-section .block-copy > p { margin:2rem 0; }.dynamic-section--imageText figure { min-height:18rem; margin-bottom:2rem; }.dynamic-section--quote blockquote { font-size:clamp(2.5rem,11vw,4.2rem); }.dynamic-section--quote .quote-attribution { margin-top:1.5rem; }.card-list { grid-template-columns:1fr; margin-top:2rem; }.card-list article { min-height:0; }.principles { display: block; padding-top: 7rem; padding-bottom: 7rem; }.principles > div { margin-bottom: 4rem; }.principles li { grid-template-columns: 3rem 1fr; }.principles li:hover { padding-left:0; background:transparent; }.contact { padding-top: 7rem; }.contact h2 { margin-bottom: 4rem; }.contact-bottom { grid-template-columns: 1fr; gap: 1.2rem; }.contact-button { justify-self: start; }.contact-bottom p { margin-bottom: 0; }footer { min-height: 25rem; grid-template-columns: 1fr; }.footer-word { justify-self: start; text-align:left; font-size: 5rem; }.footer-word { margin-top: 2rem; } }
@media (max-width: 760px) { .contact-link { padding:0 0 .25rem; }.dynamic-section--imageText .dynamic-section-inner, .dynamic-section--imageText.image-text-1 .dynamic-section-inner { min-height:0; }.dynamic-section--imageText figure, .dynamic-section--imageText.image-text-1 figure { min-height:29rem; margin:0; }.dynamic-section--imageText .block-copy, .dynamic-section--imageText.image-text-1 .block-copy { position:relative; right:auto; bottom:auto; left:auto; width:auto; margin:-3rem var(--gutter) 0; padding:1.75rem; transform:none; }.dynamic-section--imageText.image-text-0 figure img { object-position:50% 70%; } }
@media (max-width: 760px) { .dynamic-section--imageText .dynamic-section-inner, .dynamic-section--imageText.image-text-1 .dynamic-section-inner { min-height:34rem; }.dynamic-section--imageText figure, .dynamic-section--imageText.image-text-1 figure { min-height:0; }.dynamic-section--imageText .block-copy, .dynamic-section--imageText.image-text-1 .block-copy { right:1.25rem; bottom:2rem; left:1.25rem; width:auto; margin:0; padding:0; background:transparent; }.dynamic-section--imageText .block-copy h2 { font-size:clamp(2.8rem,13vw,4.5rem); }.dynamic-section--imageText .block-copy > p { font-size:.92rem; } }
@media (max-width: 760px) { .dynamic-section--cards.mist .card-list { display:block; }.dynamic-section--cards.mist .card-list article:first-child { min-height:25rem; margin-bottom:3rem; }.dynamic-section--cards.mist .card-list article:first-child h3 { font-size:clamp(4.5rem,21vw,7rem); }.dynamic-section--cards.mist .card-list article:first-child p { left:2.3rem; right:2.3rem; bottom:2.3rem; max-width:16rem; }.dynamic-section--cards.ink .card-list article { grid-template-columns:2.5rem 1fr; gap:.8rem; }.dynamic-section--cards.ink .card-list p { grid-column:2; margin-top:-.3rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
