:root {
  --ink: #f0f3e7;
  --ink-soft: rgba(240, 243, 231, .66);
  --acid: #c9f57a;
  --dark: #0c120d;
  --line: rgba(240, 243, 231, .18);
  --progress: 0;
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--dark); color-scheme: dark; -webkit-text-size-adjust: 100%; }
body { margin: 0; overflow-x: clip; background: var(--dark); color: var(--ink); font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; }
button, input { font: inherit; }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .75rem 1rem; border-radius: 999px; background: var(--acid); color: #14200f; transform: translateY(-180%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }

.act-one { position: relative; height: 520svh; background: #090d09; }
.scrub-stage { position: sticky; top: 0; height: 100svh; min-height: 34rem; overflow: hidden; isolation: isolate; }
.germination-loader { position:absolute; z-index:50; inset:0; display:grid; place-items:center; background:#090d09; opacity:1; visibility:visible; transition:opacity .7s ease,visibility 0s linear 0s; }
.loader-inner { width:min(11rem,58vw); text-align:center; }
.loader-stage-icons { display:block; width:2.4rem; height:2.4rem; margin:0 auto 1.4rem; position:relative; animation:germinate 1.8s ease-in-out infinite; }
.loader-stage-icons .si { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:var(--acid); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; opacity:0; transition:opacity .45s ease; filter:drop-shadow(0 0 14px rgba(201,245,122,.35)); }
.germination-loader[data-stage="0"] .si-0, .germination-loader[data-stage="1"] .si-1, .germination-loader[data-stage="2"] .si-2, .germination-loader[data-stage="3"] .si-3 { opacity:1; }
.germination-loader:not([data-stage]) .si-0 { opacity:1; }
.loader-inner p { display:flex; justify-content:space-between; margin:0 0 .65rem; color:var(--ink-soft); font:500 .48rem/1.2 "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.loader-count { color:var(--acid); font-variant-numeric:tabular-nums; }
.loader-track { display:block; height:1px; overflow:hidden; background:rgba(240,243,231,.18); }
.loader-fill { display:block; width:calc(var(--loader-progress, 0) * 100%); height:100%; background:var(--acid); transition:width .16s linear; }
html.js.is-loading { overflow:hidden; }
html.js.is-loading body { overflow:hidden; height:100svh; }
.js.is-loading .site-header, .js.is-loading .beat-stack, .js.is-loading .phone-wrap, .js.is-loading .scrub-ui { opacity:0; }
.js.is-loading .phone-wrap { translate:0 2rem; }
.site-header, .beat-stack, .phone-wrap, .scrub-ui { transition:opacity .7s ease; }
.phone-wrap { transition-property:opacity,translate; transition-duration:.7s,.85s; transition-timing-function:ease,cubic-bezier(.2,.8,.2,1); }
.is-revealed .germination-loader { opacity:0; visibility:hidden; transition:opacity .7s ease,visibility 0s linear .7s; }
@keyframes germinate { 0%,100% { transform:scale(.86); } 50% { transform:scale(1.06); } }
.germination, .germination-fallback, .film-shade, .grain { position: absolute; inset: 0; width: 100%; height: 100%; }
.germination { z-index: -5; display: block; }
.germination-fallback { z-index: -6; object-fit: cover; }
.film-shade { z-index: -4; background: linear-gradient(180deg, rgba(5, 10, 6, .14), rgba(5, 10, 6, .03) 58%, rgba(5, 10, 6, .1)); }
.grain { z-index: 20; pointer-events: none; opacity: .12; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }

.site-header { position: absolute; z-index: 30; inset: max(1.1rem, env(safe-area-inset-top)) 1.1rem auto; display: flex; align-items: center; justify-content: space-between; }
.wordmark { display: inline-flex; align-items: center; gap: .5rem; color: var(--ink); font-size: .9rem; font-weight: 700; letter-spacing: -.035em; text-decoration: none; }
.seed-mark { width: .72rem; height: .72rem; border-radius: 65% 12% 65% 12%; background: var(--acid); transform: rotate(-12deg); box-shadow: 0 0 22px rgba(201,245,122,.28); }
.login-link { padding: .55rem .9rem; border: 1px solid var(--line); border-radius: 999px; font: 500 .7rem "DM Mono", monospace; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; backdrop-filter: blur(8px); }

.beat-stack { position: absolute; z-index: 5; top: 14svh; left: 1.1rem; right: 1.1rem; height: 14rem; pointer-events: none; }
.beat { --headline-size: clamp(2.4rem, 4.4vw, 3.35rem); position: absolute; inset: 0; visibility: hidden; opacity: 0; will-change: opacity, transform; }
.kicker { margin: 0 0 .8rem; color: var(--acid); font: 600 calc(var(--headline-size) / 1.9)/1.2 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; text-wrap: balance; }
.section-label { margin: 0 0 .8rem; color: var(--acid); font: 500 .52rem/1.3 "DM Mono", monospace; letter-spacing: .15em; text-transform: uppercase; }
.beat h1, .beat h2 { max-width: 9.2em; margin: 0; font-size: var(--headline-size); font-weight: 500; line-height: .98; letter-spacing: -.025em; text-shadow: 0 2px 18px rgba(3, 8, 4, .52); text-wrap: balance; }
.beat em, .impact em { color: var(--acid); font-family: Newsreader, Georgia, serif; font-weight: 400; }
.beat .accent { font-size: 1em; line-height: inherit; }
.beat .w { display: inline-block; will-change: opacity, transform; }
.scroll-hint { margin: 1.2rem 0 0; color: var(--ink-soft); font: 500 .78rem "DM Mono", monospace; letter-spacing: .08em; will-change: opacity, transform; }
.hint-arrow { display: inline-block; margin-right: .35rem; color: var(--acid); animation: hint-bob 1.6s ease-in-out infinite; }
@keyframes hint-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(.22em); } }
.beat .strike { position: relative; text-decoration: none; color: rgba(240,243,231,.45); }
.beat .strike::after { content: ""; position: absolute; left: -2%; right: -2%; top: 52%; height: .09em; border-radius: 999px; background: var(--acid); transform: rotate(-3deg); }

.phone-wrap { position: absolute; z-index: 10; right: 50%; bottom: 8.8svh; width: min(70vw, 288px); container-type: inline-size; aspect-ratio: 9 / 18.8; perspective: 1200px; transform: translateX(50%); }
.phone-shadow { position: absolute; inset: 18% -18% -10%; border-radius: 50%; background: rgba(0,0,0,.54); filter: blur(34px); transform: translate3d(14px, 20px, -80px); }
.phone { position: relative; width: 100%; height: 100%; padding: 7px; border: 1px solid rgba(255,255,255,.42); border-radius: 43px; background: linear-gradient(120deg,#798079,#2b302c 18%,#8b938b 48%,#262b27 74%,#a1a8a1); box-shadow: 0 34px 70px rgba(0,0,0,.48), inset 0 0 0 1px rgba(255,255,255,.18); transform-style: preserve-3d; will-change: transform; transform: rotateX(12deg) rotateY(-18deg) rotateZ(7deg); }
.phone-metal { position: absolute; inset: 3px; border-radius: 40px; box-shadow: inset 1px 0 rgba(255,255,255,.4), inset -2px 0 rgba(0,0,0,.45); pointer-events: none; }
.phone-screen { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 36px; background: #f5f2ed; color: #151815; transform: translateZ(2px); font-size: 5.55cqi; }
.dynamic-island { position: absolute; z-index: 20; top: 10px; left: 50%; width: 76px; height: 20px; border-radius: 999px; background: #080908; transform: translateX(-50%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.profile { position: absolute; z-index: 0; inset: 0; overflow: hidden; opacity: 0; visibility: hidden; will-change: opacity; }
.profile a { pointer-events: none; cursor: default; }

.social-profile { padding: 2.6em .72em 0; background: #f7f2e9; font-family: Arial, sans-serif; height: 100%; display: flex; flex-direction: column; }
.social-topbar { display: flex; justify-content: space-between; padding: 0 .18em .65em; border-bottom: 1px solid #dedede; font-size: .64em; font-weight: 700; }
.social-head { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); align-items: center; padding: .8em 0 .55em; }
.avatar { display: block; width: 3.4em; height: 3.4em; border-radius: 50%; object-fit: cover; object-position: center 35%; box-shadow: 0 0 0 2px #f7f2e9, 0 0 0 3px #df6478; }
.social-stats { display: flex; flex-direction: column; align-items: center; font-size: .53em; }
.social-stats b { font-size: 1.17em; }
.social-stats small { font-size: .81em; }
.social-bio { display: flex; flex-direction: column; gap: .13em; font-size: .48em; line-height: 1.25; }
.social-bio a { color: #174c77; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.social-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .3em; margin: .65em 0; }
.social-actions span { padding: .35em; border: 1px solid #d7d7d7; border-radius: 6px; text-align: center; font-size: .48em; font-weight: 700; }
.social-grid { display: grid; grid-template-columns: repeat(3,1fr); row-gap: 2px; column-gap: 2px; margin: 0 -.72em; flex: 1; min-height: 0; overflow: hidden; align-content: start; }
.social-grid img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }

.good-profile { padding: 3.2em 2em 1.8em; }
.profile-wash { position: absolute; inset: 0; z-index: -1; }
.profile-chrome { position:absolute; top:2.7em; right:2em; left:2em; display:flex; align-items:center; justify-content:space-between; font:600 .5em "DM Mono",monospace; letter-spacing:-.02em; }
.profile-chrome span { display:flex; align-items:center; gap:.28em; }
.profile-chrome i { width:.34em; height:.34em; border-radius:65% 12% 65% 12%; background:currentColor; transform:rotate(-12deg); }
.profile-chrome b { font-size:1.1em; letter-spacing:.08em; }
.good-profile .avatar { width: 4em; height: 4em; margin-bottom: 1.1em; box-shadow: 0 0 0 3px rgba(255,255,255,.75), 0 12px 28px rgba(36,21,10,.19); }
.profile-type { margin: 0 0 .7em; font: 500 .46em "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.good-profile h3 { margin: 0; font: 500 1.9em/.96 Newsreader, serif; letter-spacing: -.055em; }
.profile-bio { min-height: 2.6em; margin: .6em 0 1em; font-size: .62em; line-height: 1.45; }
.trees-line { margin: .55em 0 .9em; }
.profile-links { display: grid; gap: .58em; }
.profile-links a { display: flex; align-items: center; justify-content: space-between; min-height: 3.35em; padding: .65em 1.1em; border-radius: 14px; font-size: .6em; font-weight: 700; text-decoration: none; box-shadow: 0 7px 18px rgba(31,24,13,.08); }
.profile-links b { font: 500 1.06em "DM Mono", monospace; }
.profile-foot { position: absolute; left: 2em; right: 2em; bottom: 1.3em; display: flex; flex-direction: column; gap: .9em; align-items: center; text-align: center; font: 500 .5em "DM Mono", monospace; }
.profile-foot small { display: inline-flex; align-items: center; gap: .5em; font-size: .9em; opacity: .65; }
.foot-mark { width: .7em; height: .7em; border-radius: 65% 12% 65% 12%; background: currentColor; transform: rotate(-12deg); opacity: .9; }
.trees-pill { display: inline-flex; align-items: center; gap: .5em; padding: .45em .9em; border-radius: 999px; font-size: .58em; background: rgba(97,141,57,.14); color: #3d5a26; font-weight: 700; }
.trees-pill i { width: .68em; height: .68em; border-radius: 65% 12% 65% 12%; background: #6a9a3e; transform: rotate(-12deg); }
.poster-profile .trees-pill { color:#351957; background:rgba(255,243,110,.9); }
.personal-profile { color: #30241d; background: #d9c2aa; }
.personal-profile .profile-wash { background: linear-gradient(180deg,rgba(241,226,207,.72),rgba(222,196,168,.93)),url('../assets/persona-pottery-wheel.webp') center/cover; }
.personal-profile { text-align:center; }
.personal-profile .avatar { margin-right:auto; margin-left:auto; }
.personal-profile .profile-links a { color:#30241d; background:rgba(255,249,239,.8); border: 1px solid rgba(86,60,35,.18); }
.personal-profile .profile-links a { position:relative; justify-content:center; padding-right:2.6em; padding-left:2.6em; }
.personal-profile .profile-links b { position:absolute; right:1.1em; }

.james-editorial-profile { color:#edf0f2; background:#151d26; }
.james-photo { height:42%; background:linear-gradient(180deg,transparent 48%,#151d26),url('../assets/persona-james-architecture.webp') center/cover; }
.james-head { position:relative; z-index:2; margin-top:-5.6em; padding:0 1.65em; }
.james-head .trees-line { margin:0; }
.james-head .trees-pill { color:#151d26; background:var(--acid); }
.james-head .profile-type { margin:1.4em 0 1.5em; }
.james-head h3 { margin:0; font:500 3.4em/1.02 Newsreader,serif; letter-spacing:-.055em; }
.james-head .profile-bio { max-width:17em; min-height:0; margin:1.05em 0 0; }
.james-links { display:grid; margin:1em 1.65em 0; border-top:1px solid rgba(246,236,223,.35); }
.james-links a { display:grid; grid-template-columns:2em 1fr auto; gap:.5em; align-items:center; padding:.9em 0; border-bottom:1px solid rgba(246,236,223,.2); font-size:.66em; text-decoration:none; }
.james-links b { color:var(--acid); font:500 .8em "DM Mono",monospace; }
.james-links em { font-style:normal; }

.cafe-menu-profile { color:#edf1e4; background:#253023; }
.cafe-photo { height:28%; background:linear-gradient(180deg,transparent 54%,#253023),url('../assets/moss.jpg') center/cover; }
.cafe-copy { position:relative; margin-top:-3em; padding:0 1.7em 3em; }
.cafe-copy .trees-line { margin:0; }
.cafe-copy .trees-pill { color:#263125; background:#d9ff62; }
.cafe-copy .profile-type { margin:.9em 0 1.05em; color:#b7c6a8; }
.cafe-copy h3 { margin:0; font:500 3.25em/.95 Newsreader,serif; letter-spacing:-.055em; }
.cafe-copy h3 span { color:#a8bd76; font-style:italic; }
.open-now { display:flex; align-items:center; gap:.5em; margin:.8em 0; font:500 .63em "DM Mono",monospace; }
.open-now i { width:.65em; height:.65em; border-radius:50%; background:#d9ff62; box-shadow:0 0 0 .25em rgba(217,255,98,.12); }
.cafe-links { border-top:1px solid rgba(237,241,228,.25); }
.cafe-links a { display:flex; justify-content:space-between; padding:.9em 0; border-bottom:1px solid rgba(237,241,228,.2); font-size:.68em; text-decoration:none; }

.poster-profile { color:#fff6ff; background:#291445; }
.poster-photo { position:absolute; inset:0; background:linear-gradient(180deg,rgba(30,7,52,.08),rgba(41,20,69,.78) 75%),url('../assets/persona-dj.webp') 58% center/cover; filter:saturate(1.18) contrast(1.05); }
.poster-star { position:absolute; top:1em; right:-.06em; width:5.5em; height:5.5em; background:#fff36e; clip-path:polygon(50% 0,61% 34%,85% 15%,66% 39%,100% 50%,66% 61%,85% 85%,61% 66%,50% 100%,39% 66%,15% 85%,34% 61%,0 50%,34% 39%,15% 15%,39% 34%); opacity:.92; transform:rotate(12deg); }
.poster-copy { position:absolute; z-index:2; top:2.8em; right:1.55em; left:1.55em; }
.poster-copy .trees-line { margin:0 0 .7em; }
.poster-copy .profile-type { margin:.8em 0 0; color:#fff36e; }
.poster-copy h3 { margin:.12em 0 .3em; font:800 5em/.8 Manrope,sans-serif; letter-spacing:-.1em; transform:rotate(-5deg); text-shadow:.1em .12em 0 #ff6138; }
.poster-date { margin:1.5em 0 .9em; font:700 .88em/1.05 "DM Mono",monospace; }
.music-player { display:grid; grid-template-columns:2.7em 1fr; gap:.8em; align-items:center; margin-bottom:.75em; padding:.85em .95em; border:.13em solid #351957; border-radius:1.25em; color:#351957; background:rgba(255,246,255,.94); box-shadow:.2em .26em 0 #7447ed; }
.play-button { display:grid; place-items:center; width:2.7em; height:2.7em; padding-left:.14em; border-radius:50%; color:#fff6ff; background:#7447ed; font-size:.62em; }
.track-info { min-width:0; }
.track-info strong { display:block; overflow:hidden; font-size:.57em; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.player-progress { display:block; height:.2em; margin:.65em 0 .38em; border-radius:99em; background:rgba(53,25,87,.2); }
.player-progress i { display:block; width:32%; height:100%; border-radius:inherit; background:#ff6138; }
.player-times { display:flex; justify-content:space-between; }
.player-times small { font:500 .42em "DM Mono",monospace; }
.poster-links { display:grid; gap:.55em; }
.poster-links a { display:flex; justify-content:space-between; align-items:center; min-height:4.6em; padding:1.35em 1.3em; border:.13em solid #351957; border-radius:1.7em; color:#351957; background:#fff36e; box-shadow:.2em .26em 0 #ff6138; font-size:.62em; font-weight:800; text-decoration:none; }

.scrub-ui { position: absolute; z-index: 25; right: 1.1em; bottom: max(1.1em, env(safe-area-inset-bottom)); left: 1.1em; }
.progress-track { height: 1px; overflow: hidden; background: rgba(255,255,255,.2); }
.progress-fill { display: block; width: calc(var(--progress) * 100%); height: 100%; background: var(--acid); }
.scrub-label { display: grid; grid-template-columns: auto 1fr auto; gap: .55rem; align-items: center; padding-top: .6rem; font: 400 .62rem "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.scroll-arrow { color: var(--acid); animation: nudge 1.5s ease-in-out infinite; }
.progress-number { font-variant-numeric: tabular-nums; }
@keyframes nudge { 50% { transform: translateY(4px); } }

.impact { position: relative; min-height: 210svh; overflow: clip; isolation: isolate; background: #101810; }
.impact-backdrop { position:sticky; z-index:-3; top:0; height:100svh; margin-bottom:-100svh; overflow:hidden; }
.forest-image, .forest-grade, .fireflies { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; }
.forest-image { object-fit: cover; object-position: center; }
.forest-grade { z-index: -2; background: linear-gradient(180deg,rgba(8,15,9,.78),rgba(19,36,20,.54) 26%,rgba(8,14,9,.91) 70%,#080d09), radial-gradient(circle at 74% 22%,rgba(202,229,130,.2),transparent 30%); background-blend-mode: multiply, normal; }
html[data-daypart="day"] .forest-image { filter: saturate(.88) brightness(1.08) sepia(.06); }
html[data-daypart="night"] .forest-image { filter: saturate(.76) brightness(.7) hue-rotate(8deg); }
html[data-daypart="night"] .forest-grade { background: linear-gradient(180deg,rgba(5,12,8,.66),rgba(7,19,12,.68) 38%,rgba(4,10,7,.94) 76%,#080d09), radial-gradient(circle at 72% 20%,rgba(120,163,126,.22),transparent 34%); }
.fireflies { z-index:-1; }
.fireflies i { position:absolute; left:var(--x); top:var(--y); width:4px; height:4px; border-radius:50%; background:#ffe9a0; box-shadow:0 0 10px 3px rgba(255,233,160,.55); opacity:0; animation:firefly 4.5s ease-in-out var(--d) infinite; }
@keyframes firefly { 0%,100%{opacity:0;transform:translate(0,0)}45%{opacity:.9}70%{opacity:.25;transform:translate(18px,-24px)} }
.impact .section-label { font-size:.85rem; letter-spacing:.18em; }
.impact-stat { width:max-content; } .impact-stat .section-label { display:block; text-align:center; margin-bottom:clamp(1.5rem,2.5vw,3rem); }
.impact-inner { width:min(100% - 2.2rem,72rem); margin:auto; padding:clamp(5rem,14vw,9rem) 0 max(3rem,env(safe-area-inset-bottom)); }
.impact-lead { display:grid; gap:1.5rem; align-items:start; }
.moss-51 { width:max-content; color:var(--ink); font:500 clamp(6.5rem,34vw,15rem)/1 Newsreader,serif; letter-spacing:-.09em; text-shadow:0 13px 35px rgba(0,0,0,.45); }
.moss-51 span { font-size:.3em; letter-spacing:-.03em; }
.impact-copy { max-width:35rem; }
.impact-copy h2, .claim-block h2 { margin:0; font:400 clamp(2.3rem,6vw,4.2rem)/.98 Newsreader,serif; letter-spacing:-.06em; text-wrap:balance; }
.impact-copy p { max-width:38rem; margin:1.4rem 0 0; color:rgba(240,243,231,.72); font-size:clamp(.9rem,2vw,1.05rem); line-height:1.7; }
.cause-list { margin:3.2rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.cause-list li { display:grid; grid-template-columns:1.7rem 1fr; align-items:center; padding:1.1rem 0; border-bottom:1px solid var(--line); font:400 clamp(1.35rem,5vw,2.6rem)/1.1 Newsreader,serif; }
.cause-list span { color:var(--acid); font:.46rem "DM Mono",monospace; }
.claim-block { margin-top:clamp(5rem,12vw,8rem); padding-top:2rem; border-top:1px solid var(--line); }
.claim-block .section-label { margin-bottom:1rem; }
.claim-block h2 { max-width:12em; }
.claim-form { max-width:36rem; margin-top:2.2rem; }
.claim-form > label { display:block; margin:0 0 .7rem; color:var(--ink-soft); font:.72rem "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.claim-control { display:grid; grid-template-columns:auto 1fr; align-items:center; padding:.65rem; border:1px solid rgba(240,243,231,.27); border-radius:18px; background:rgba(5,10,6,.48); backdrop-filter:blur(12px); }
.claim-control > span { padding-left:.35rem; color:var(--ink-soft); font:.85rem "DM Mono",monospace; }
.claim-control input { min-width:0; width:100%; padding:.55rem 0; border:0; outline:0; color:var(--ink); background:transparent; font:.85rem "DM Mono",monospace; }
.claim-control button { grid-column:1/-1; justify-self:end; width:auto; min-height:2.35rem; margin-top:.5rem; padding:0 1.1rem; gap:.6rem; display:flex; justify-content:space-between; align-items:center; border:0; border-radius:12px; color:#16200f; background:var(--acid); font-size:.85rem; font-weight:700; cursor:pointer; }
.claim-control button:hover { background:#dcffa0; }
.claim-control button:disabled { cursor:not-allowed; opacity:.48; }
a:focus-visible, .claim-control button:focus-visible { outline:2px solid #fff29d; outline-offset:3px; }
.claim-control input:focus, .claim-control input:focus-visible { outline:none; }
.claim-control:focus-within { border-color:rgba(201,245,122,.55); box-shadow:0 0 0 1px rgba(201,245,122,.25); }
.claim-status { min-height:1.25em; margin:.7rem 0 0; color:var(--ink-soft); font:.72rem/1.45 "DM Mono",monospace; }
.claim-status[data-state="available"] { color:var(--acid); }
.claim-status[data-state="taken"], .claim-status[data-state="invalid"] { color:#ffc0ae; }
.claim-note { color:var(--ink-soft); font:.82rem "DM Mono",monospace; }

.impact-reveal { opacity:0; transform:translateY(1.1rem); }
.impact-reveal.is-visible { opacity:1; transform:none; }

.site-footer { display:grid; gap:.85rem; padding:1.6rem 1.1rem calc(1.6rem + env(safe-area-inset-bottom)); border-top:1px solid rgba(240,243,231,.12); background:#080d09; color:rgba(240,243,231,.5); font:.66rem/1.55 "DM Mono",monospace; }
.site-footer .credits { font-size:.56rem; color:rgba(240,243,231,.35); }
.site-footer .footer-actions { margin-top:.4rem; }
.site-footer .footer-actions a:first-child { padding:.5rem .9rem; border:1px solid var(--line); border-radius:999px; font-size:.62rem; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.site-footer .signup-link { font-size:.62rem; }
@media (min-width: 760px) { .site-footer { grid-template-columns:auto 1fr auto; align-items:center; gap:1.6rem; } .site-footer .credits { text-align:right; } .site-footer .footer-actions { margin:0; } }
.site-footer p { margin:0; }
.site-footer > a:last-child { width:max-content; }

@media (max-width: 759px) {
  .beat-stack { top:clamp(6.2rem,13svh,8.2rem); height:10rem; }
  .mobile-copy-centred { text-align:center; }
  .mobile-copy-centred h1, .mobile-copy-centred h2 { margin-inline:auto; }
  .beat { --headline-size:clamp(1.85rem,7.2vw,2.45rem); }
  .beat h1, .beat h2 { max-width:9.7em; }
  .phone-wrap { top:max(calc(var(--beats-bottom, 24rem) + .9rem),30svh); bottom:auto; width:min(88vw, max(min(70vw,301px), 34svh)); }
  .james-photo { height:34%; }
  .james-head { margin-top:-4.6em; }
}

@media (min-width: 760px) {
  .site-header { inset-inline:2.2rem; }
  .beat-stack { top:18svh; left:6vw; right:auto; width:48vw; }
  .phone-wrap { right:10vw; bottom:8svh; width:min(28vw,320px); transform:none; }
  .film-shade { background:linear-gradient(90deg,rgba(6,11,7,.82),rgba(6,11,7,.22) 58%,rgba(6,11,7,.35)); }
  .scrub-ui { right:2.2rem; left:2.2rem; }
  .impact .section-label { font-size:.85rem; letter-spacing:.18em; }
.impact-inner { width:min(88%,76rem); }
  .impact-lead { grid-template-columns:minmax(24rem,.9fr) 1fr; gap:6vw; }
  .moss-51 { font-size:clamp(9rem,17vw,15rem); }
  .impact-stat { position:sticky; top:clamp(4rem,10vh,7rem); }
  .claim-control { grid-template-columns:auto 1fr 12rem; border-radius:15px; }
  .claim-control button { grid-column:auto; min-height:3.4rem; margin-top:0; }
  .site-footer { grid-template-columns:1.2fr 1fr 2fr auto; align-items:start; padding:2.5rem 2.2rem; }
}

@media (min-width: 1024px) {
  .beat-stack { top:50%; left:max(calc(50vw - 31rem), 3rem); width:min(38vw,34rem); height:22rem; transform:translateY(-50%); }
  .scroll-hint { margin-top:1.6rem; font-size:1rem; }
  .beat { --headline-size:clamp(2.6rem,3.35vw,3.35rem); }
  .beat h1, .beat h2 { max-width:100%; }
  .phone-wrap { top:auto; right:max(calc(50vw - 31rem), 3rem); bottom:clamp(3rem,7svh,5rem); width:min(25vw,380px,calc((100svh - 8rem) * 9 / 18.8)); }
  .film-shade { background:linear-gradient(90deg,rgba(6,11,7,.86) 0%,rgba(6,11,7,.6) 38%,rgba(6,11,7,.14) 61%,rgba(6,11,7,.34) 100%); }
}

@media (max-width: 420px) {
  .scrub-stage { min-height: 34rem; }
  .profile-bio { min-height:2.15rem; }
  .profile-links a { min-height:2.25rem; }
}

@media (max-height: 740px) and (max-width: 759px) {
  .beat-stack { top: 11svh; }
  .beat { --headline-size: clamp(1.75rem, 6.9vw, 2.25rem); }
  .phone-wrap { top:max(calc(11svh + 11rem),35.5svh); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .act-one { height:auto; min-height:100svh; }
  .scrub-stage { position:relative; }
  .germination-loader { display:none; }
  .js.is-loading .site-header, .js.is-loading .beat-stack, .js.is-loading .phone-wrap, .js.is-loading .scrub-ui { opacity:1; translate:none; }
  .germination { display:none; }
  .germination-fallback { z-index:-5; }
  .beat { display:none; }
  .beat-1 { display:block; opacity:1; transform:none; }
  .social-profile { display:none; }
  .personal-profile { visibility:visible; opacity:1; transform:none; }
  .phone { transform:none !important; }
  .scrub-ui { display:none; }
  .impact-reveal { opacity:1; transform:none; transition:none; }
}

@supports not (overflow: clip) { body { overflow-x:hidden; } }


.revenue-kicker { display:block; margin-top:.55em; color:var(--acid); font-weight:700; font-size:1.15em; }

.views-line { max-width: 34rem; margin: 1.4rem 0 0; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.55; }
.views-line strong { color: var(--ink); }

.scroll-hint strong { color: var(--acid); font-weight: 600; }
@media (min-width: 1024px) {
  .wordmark { font-size: 1.2rem; }
  .wordmark .seed-mark { width: .95rem; height: .95rem; }
}

.header-actions { display:flex; align-items:center; gap:.5rem; }
.signup-link { padding:.55rem .95rem; border-radius:999px; color:#16200f; background:var(--acid); font:600 .7rem "DM Mono",monospace; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.signup-link:hover { background:#dcffa0; }

.trees-pill .pill-tree { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.trees-pill i { display: none; }

@media (min-width: 1024px) {
  .claim-block { text-align: center; }
  .claim-block h2 { max-width: none; }
  .claim-form { margin-left: auto; margin-right: auto; }
  .claim-form > label { text-align: center; }
}
.footer-actions { display: flex; align-items: center; gap: .7rem; }
