@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Instrument+Serif:ital@0;1&display=swap"); :root { color: #f0e9dc; background: #14221f; font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif; font-synthesis: none; text-rendering: optimizeLegibility; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; min-width: 320px; min-height: 100vh; background: #14221f; } button, textarea { font: inherit; } a { color: inherit; } button:focus-visible, textarea:focus-visible, input:focus-visible, a:focus-visible { outline: 2px solid #e87b56; outline-offset: 5px; } .site-shell { overflow: hidden; background: #f0e9dc; color: #18312c; } .reading-progress { position: fixed; z-index: 20; inset: 0 auto auto 0; width: 100%; height: 3px; transform-origin: left; background: #e87b56; } .cursor-halo { position: fixed; z-index: 30; top: 0; left: 0; width: 24px; height: 24px; border: 1px solid rgba(232, 123, 86, 0.75); border-radius: 50%; pointer-events: none; mix-blend-mode: difference; } .hero-stage { --signal-x: 50%; --signal-y: 45%; position: relative; min-height: 100svh; overflow: hidden; padding: clamp(1.3rem, 3vw, 3rem); color: #f3eddf; background: radial-gradient( circle at var(--signal-x) var(--signal-y), rgba(232, 123, 86, 0.3), transparent 22rem ), radial-gradient( circle at 85% 104%, rgba(195, 202, 129, 0.24), transparent 29rem ), #14221f; } .hero-stage::before { position: absolute; inset: 0; content: ""; opacity: 0.32; background-image: linear-gradient(rgba(240, 233, 220, 0.09) 1px, transparent 1px), linear-gradient(90deg, rgba(240, 233, 220, 0.09) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, black, transparent 92%); } .paper-noise { position: absolute; inset: 0; pointer-events: none; opacity: 0.08; 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='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; } .masthead { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; font-family: "DM Mono", monospace; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; } .wordmark { display: inline-flex; align-items: center; gap: 0.65rem; width: fit-content; text-decoration: none; font-family: "DM Sans", sans-serif; font-size: 0.98rem; font-weight: 700; letter-spacing: -0.03em; text-transform: none; } .wordmark-glyph { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50% 50% 42% 50%; border: 1px solid rgba(240, 233, 220, 0.5); color: #d6df94; font-family: "Instrument Serif", serif; font-size: 1.25rem; } .masthead-note { color: rgba(240, 233, 220, 0.54); } .masthead-link { justify-self: end; text-decoration: none; color: #d6df94; transition: color 0.25s ease; } .masthead-link:hover { color: #f3eddf; } .masthead-link span { margin-left: 0.4rem; color: #e87b56; font-size: 1.1rem; } .hero-copy { position: relative; z-index: 2; width: min(78rem, 100%); margin: clamp(6rem, 16vh, 12rem) auto 0; padding-left: clamp(0rem, 7vw, 8rem); } .kicker, .section-number { margin: 0 0 1rem; color: #e87b56; font-family: "DM Mono", monospace; font-size: 0.69rem; letter-spacing: 0.12em; text-transform: uppercase; } .hero-copy h1 { max-width: 9ch; margin: 0; font-size: clamp(4.4rem, 11vw, 10.5rem); font-weight: 500; line-height: 0.8; letter-spacing: -0.09em; } .hero-word { display: block; overflow: hidden; } .hero-word:nth-child(2) { padding-left: clamp(1.1rem, 9vw, 10rem); font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; color: #d6df94; letter-spacing: -0.065em; } .hero-word:nth-child(3) { padding-left: clamp(0.5rem, 2vw, 2rem); } .hero-intro { max-width: 34rem; margin: clamp(2rem, 5vh, 4.2rem) 0 0 clamp(1rem, 11vw, 12rem); color: rgba(240, 233, 220, 0.7); font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.55; } .hero-index { position: absolute; z-index: 2; right: clamp(1.3rem, 4vw, 4rem); bottom: 2rem; display: grid; gap: 0.55rem; color: rgba(240, 233, 220, 0.57); font-family: "DM Mono", monospace; font-size: 0.62rem; letter-spacing: 0.08em; text-align: right; text-transform: uppercase; } .signal-orbit { position: absolute; z-index: 1; top: 25%; right: -5%; width: min(50vw, 47rem); color: rgba(214, 223, 148, 0.58); transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); transform: translate( calc((var(--signal-x) - 50%) * 0.06), calc((var(--signal-y) - 50%) * 0.06) ); } .signal-orbit svg { width: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-dasharray: 4 9; stroke-width: 1.2; } .signal-dot { position: absolute; width: 0.72rem; height: 0.72rem; border-radius: 50%; background: #e87b56; box-shadow: 0 0 0 0.5rem rgba(232, 123, 86, 0.1); animation: pulse 3.2s ease-in-out infinite; } .dot-one { top: 38%; left: 23%; } .dot-two { top: 53%; left: 52%; background: #d6df94; animation-delay: -1.1s; } .dot-three { right: 7%; bottom: 20%; animation-delay: -2s; } @keyframes pulse { 50% { transform: scale(1.8); opacity: 0.55; } } .editorial-section, .studio-section, .mosaic-section, .closing-section { padding: clamp(5.5rem, 12vw, 11rem) clamp(1.3rem, 5vw, 6rem); } .conflict-section { background: #e0d5c0; } .conflict-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(15rem, 0.65fr); gap: clamp(2rem, 8vw, 10rem); align-items: end; width: min(78rem, 100%); margin: 0 auto; } .conflict-grid h2, .studio-heading h2, .mosaic-header h2, .closing-section h2 { margin: 0; font-size: clamp(3rem, 7.3vw, 7.2rem); font-weight: 500; line-height: 0.9; letter-spacing: -0.075em; } .conflict-grid h2 em { display: block; color: #d16243; font-family: "Instrument Serif", Georgia, serif; font-style: italic; font-weight: 400; } .conflict-copy { padding-bottom: 0.6rem; font-size: 1rem; line-height: 1.7; } .conflict-copy p { margin: 0; } .focus-rule { display: inline-block; margin-top: 2rem; padding: 0.7rem 0.85rem; border: 1px solid rgba(24, 49, 44, 0.3); border-radius: 100%; font-family: "DM Mono", monospace; font-size: 0.58rem; letter-spacing: 0.06em; text-transform: uppercase; } .studio-section { background: #f0e9dc; } .studio-heading { width: min(78rem, 100%); margin: 0 auto clamp(3rem, 7vw, 6rem); } .studio-heading h2 { max-width: 8ch; } .studio-heading > p:last-child { max-width: 25rem; margin: 1.8rem 0 0 33%; color: #597068; line-height: 1.6; } .studio-layout { display: grid; grid-template-columns: minmax(18rem, 0.64fr) minmax(0, 1.45fr); gap: 1.2rem; width: min(82rem, 100%); margin: 0 auto; } .control-column { display: grid; align-content: start; gap: 1.2rem; } .input-panel, .tier-panel { padding: 1.35rem; border: 1px solid rgba(24, 49, 44, 0.25); border-radius: 1.5rem 1.5rem 0.4rem 1.5rem; background: #f8f4ea; box-shadow: 0 1rem 2.4rem rgba(24, 49, 44, 0.07); transition: transform 0.35s ease, box-shadow 0.35s ease; } .input-panel:hover, .tier-panel:hover { transform: translateY(-4px); box-shadow: 0 1.6rem 3rem rgba(24, 49, 44, 0.12); } .section-heading, .graph-header, .input-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; } .section-heading h2, .tier-panel h2, .graph-header h2 { margin: 0; font-size: 1.07rem; letter-spacing: -0.035em; } .character-count, .result-count { color: #597068; font-family: "DM Mono", monospace; font-size: 0.62rem; letter-spacing: 0.03em; white-space: nowrap; } textarea { width: 100%; min-height: 10rem; margin: 1.2rem 0 0.9rem; resize: vertical; border: 1px solid rgba(24, 49, 44, 0.3); border-radius: 1rem 0.2rem 1rem 1rem; background: #ede4d4; color: #18312c; padding: 0.95rem; line-height: 1.55; transition: border-color 0.2s ease, background 0.2s ease; } textarea:focus { border-color: #d16243; background: #f8f4ea; outline: none; } textarea::placeholder { color: #73877f; } .input-footer p { max-width: 14rem; margin: 0; color: #597068; font-size: 0.73rem; line-height: 1.5; } button { position: relative; overflow: hidden; flex: 0 0 auto; border: 0; border-radius: 0.8rem 0.8rem 0.2rem 0.8rem; padding: 0.78rem 0.95rem; background: #18312c; color: #f3eddf; font-weight: 700; font-size: 0.74rem; cursor: pointer; box-shadow: 0 0.45rem 0 #d16243; transition: transform 0.2s ease, box-shadow 0.2s ease; } button:hover:not(:disabled) { transform: translateY(-3px); box-shadow: 0 0.7rem 0 #d16243; } button:active:not(:disabled) { transform: translateY(0.2rem); box-shadow: 0 0.2rem 0 #d16243; } button:disabled { cursor: not-allowed; opacity: 0.55; } .tier-options { display: grid; gap: 0.55rem; margin-top: 1.1rem; } .tier-option { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 0.12rem 0.65rem; padding: 0.78rem; border: 1px solid rgba(24, 49, 44, 0.18); border-radius: 0.85rem 0.25rem 0.85rem 0.85rem; cursor: pointer; transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease; } .tier-option:hover { transform: translateX(4px); } .tier-option.active { border-color: #d16243; background: rgba(209, 98, 67, 0.09); } .tier-option input { grid-row: span 2; margin: 0.22rem 0 0; accent-color: #d16243; } .tier-option span { font-size: 0.78rem; font-weight: 700; text-transform: capitalize; } .tier-option small { color: #597068; font-size: 0.68rem; } .error-message { margin: 0; border-left: 3px solid #d16243; color: #8e3522; padding: 0.75rem 0.85rem; background: rgba(209, 98, 67, 0.12); font-size: 0.8rem; } .graph-panel { min-height: 39rem; overflow: hidden; border-radius: 2rem 0.3rem 2rem 2rem; background: #14221f; color: #f3eddf; box-shadow: 0 1.8rem 3.5rem rgba(24, 49, 44, 0.2); } .graph-header { padding: 1.35rem 1.5rem; border-bottom: 1px solid rgba(240, 233, 220, 0.15); } .graph-header .kicker { margin-bottom: 0.45rem; color: #d6df94; } .graph-header .result-count { color: rgba(240, 233, 220, 0.56); } .graph-canvas, .graph-empty { height: calc(39rem - 5.35rem); } .graph-empty { display: grid; place-items: center; align-content: center; gap: 1.25rem; color: rgba(240, 233, 220, 0.65); text-align: center; padding: 2rem; } .graph-empty p { max-width: 18rem; margin: 0; font-family: "Instrument Serif", serif; font-size: 1.35rem; line-height: 1.2; } .field-glyph { position: relative; width: 8rem; height: 5rem; } .field-glyph span { position: absolute; width: 0.8rem; height: 0.8rem; border-radius: 50%; background: #d6df94; box-shadow: 0 0 0 0.5rem rgba(214, 223, 148, 0.08); } .field-glyph span::after { position: absolute; top: 50%; left: 100%; width: 4rem; height: 1px; content: ""; background: linear-gradient(90deg, #d6df94, transparent); transform: rotate(-22deg); transform-origin: left; } .field-glyph span:nth-child(1) { top: 0.4rem; left: 0.5rem; } .field-glyph span:nth-child(2) { right: 1rem; bottom: 0.55rem; background: #e87b56; } .field-glyph span:nth-child(3) { top: 2.4rem; left: 3.55rem; background: #f3eddf; } .field-glyph span:nth-child(2)::after { width: 3rem; transform: rotate(-148deg); } .field-glyph span:nth-child(3)::after { display: none; } .mosaic-section { background: #d16243; color: #f8e9d5; } .mosaic-header { display: grid; grid-template-columns: 0.65fr 1.35fr; gap: 3rem; width: min(78rem, 100%); margin: 0 auto 3rem; } .mosaic-header .section-number { color: #f1c6a3; } .mosaic-grid { display: grid; grid-template-columns: 0.9fr 1.05fr 0.75fr; gap: 1rem; align-items: end; width: min(78rem, 100%); margin: 0 auto; } .mosaic-piece { display: flex; min-height: 19rem; flex-direction: column; justify-content: space-between; padding: 1.4rem; border: 1px solid rgba(248, 233, 213, 0.4); border-radius: 1.4rem 0.3rem 1.4rem 1.4rem; background: rgba(93, 43, 31, 0.18); box-shadow: 0 0.9rem 0 rgba(24, 49, 44, 0.15); transition: transform 0.35s ease, background 0.35s ease; } .mosaic-piece:hover { transform: translateY(-0.6rem) rotate(-0.5deg); background: rgba(24, 49, 44, 0.25); } .relation-piece { min-height: 27rem; border-radius: 0.3rem 1.5rem 1.5rem 1.5rem; background: #1e3a33; } .model-piece { min-height: 22rem; border-radius: 1.5rem 1.5rem 1.5rem 0.3rem; } .mosaic-piece span { color: #d6df94; font-family: "DM Mono", monospace; font-size: 0.68rem; } .mosaic-piece h3 { margin: auto 0 1rem; font-family: "Instrument Serif", serif; font-size: clamp(2rem, 3.4vw, 3.4rem); font-weight: 400; line-height: 0.92; letter-spacing: -0.045em; } .mosaic-piece p { margin: 0; color: rgba(248, 233, 213, 0.75); font-size: 0.83rem; line-height: 1.55; } .evidence-ribbon { overflow: hidden; padding: 1rem 0; background: #d6df94; color: #18312c; } .ribbon-track { display: flex; width: max-content; gap: 2.2rem; padding-left: 1.2rem; animation: marquee 28s linear infinite; font-family: "DM Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; } .ribbon-track span { white-space: nowrap; } .ribbon-track i { margin-left: 2.2rem; color: #d16243; font-style: normal; } @keyframes marquee { to { transform: translateX(-38%); } } .closing-section { min-height: 80svh; display: grid; align-content: center; justify-items: center; background: #14221f; color: #f3eddf; text-align: center; } .closing-section .section-number { color: #d6df94; } .closing-section h2 { max-width: 10ch; } .magnetic-link { display: inline-flex; align-items: center; gap: 1.2rem; margin-top: 2.8rem; padding: 1.1rem 1.2rem 1.1rem 1.5rem; border: 1px solid rgba(240, 233, 220, 0.5); border-radius: 99px; color: #f3eddf; font-size: 0.82rem; font-weight: 700; text-decoration: none; transition: background 0.25s ease, color 0.25s ease; } .magnetic-link:hover { background: #d6df94; color: #18312c; } .magnetic-link b { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #e87b56; color: #f3eddf; font-size: 1rem; } .closing-note { max-width: 22rem; margin: 2rem 0 0; color: rgba(240, 233, 220, 0.5); font-size: 0.8rem; line-height: 1.55; } @media (max-width: 800px) { .cursor-halo { display: none; } .masthead { grid-template-columns: 1fr auto; } .masthead-note { display: none; } .hero-copy { margin-top: 9rem; padding-left: 0; } .hero-copy h1 { font-size: clamp(4.2rem, 17vw, 7.5rem); } .hero-intro { margin-left: 1.2rem; } .signal-orbit { top: 53%; right: -38%; width: 34rem; } .conflict-grid, .studio-layout, .mosaic-header, .mosaic-grid { grid-template-columns: 1fr; } .studio-heading > p:last-child { margin-left: 0; } .mosaic-piece, .relation-piece, .model-piece { min-height: 16rem; } .graph-panel { min-height: 31rem; } .graph-canvas, .graph-empty { height: calc(31rem - 5.35rem); } .hero-index { left: 1.3rem; right: auto; text-align: left; } .mosaic-header { gap: 1rem; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } .cursor-halo { display: none; } }