:root {
  --ink: #0b1b17;
  --deep: #071a16;
  --forest: #0b2b23;
  --moss: #96aa5c;
  --acid: #ff9b73;
  --lime: #e47d5d;
  --ocean: #78b7b3;
  --amber: #e8b366;
  --sage: #8eae7a;
  --violet: #aa8daf;
  --clay: #d97868;
  --ochre: #c9905d;
  --cream: #f1efe5;
  --paper: #e8e7dc;
  --line: rgba(10, 28, 23, .15);
  --muted: #657069;
  --serif: 'Iowan Old Style', Baskerville, 'Times New Roman', serif;
  --sans: 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  --mono: 'SFMono-Regular', 'Cascadia Mono', 'Liberation Mono', monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.intro-active { overflow: hidden; }
.intro-sequence { position: fixed; z-index: 250; inset: 0; display: grid; place-items: center; overflow: hidden; color: #f7f1e7; cursor: pointer; animation: introVisibility .01s 4.72s forwards; }
.intro-panel { position: absolute; top: 0; bottom: 0; width: 50.15%; background: radial-gradient(circle at 50% 50%, #113b30 0%, #09271f 42%, #051713 100%); will-change: transform; }
.intro-panel::after { content: ''; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 11vw 11vw; }
.intro-panel-left { left: 0; transform-origin: left; animation: introLeft 1.05s cubic-bezier(.72,0,.18,1) 3.68s forwards; }
.intro-panel-right { right: 0; transform-origin: right; animation: introRight 1.05s cubic-bezier(.72,0,.18,1) 3.68s forwards; }
.intro-content { position: relative; z-index: 2; width: min(680px,86vw); display: grid; justify-items: center; text-align: center; animation: introContentOut .42s ease 3.43s forwards; }
.intro-rings { position: absolute; left: 50%; top: 20px; width: 1px; height: 1px; }
.intro-rings i { position: absolute; left: 0; top: 0; width: 90px; aspect-ratio: 1; border: 1px solid rgba(255,155,115,.42); border-radius: 47% 53% 48% 52%; opacity: 0; transform: translate(-50%,-50%) scale(.1); animation: introRipple 2.35s cubic-bezier(.16,.64,.26,1) forwards; }
.intro-rings i:nth-child(2) { border-color: rgba(120,183,179,.32); animation-delay: .34s; }
.intro-rings i:nth-child(3) { border-color: rgba(232,179,102,.25); animation-delay: .68s; }
.intro-mark { position: relative; width: 92px; height: 68px; filter: drop-shadow(0 0 35px rgba(255,155,115,.18)); }
.intro-mark i { position: absolute; top: 7px; width: 43px; height: 52px; border: 1px solid rgba(255,184,148,.9); background: linear-gradient(145deg, rgba(255,155,115,.15), rgba(120,183,179,.025)); opacity: 0; will-change: transform; }
.intro-mark i:first-child { right: 50%; border-radius: 100% 18% 84% 28%; transform-origin: 100% 62%; animation: introWingLeft 1.05s cubic-bezier(.2,.8,.2,1) .55s forwards, introFlapLeft .18s ease-in-out 1.48s 6 alternate; }
.intro-mark i:nth-child(2) { left: 50%; border-radius: 18% 100% 28% 84%; transform-origin: 0 62%; animation: introWingRight 1.05s cubic-bezier(.2,.8,.2,1) .55s forwards, introFlapRight .18s ease-in-out 1.48s 6 alternate; }
.intro-mark b { position: absolute; left: calc(50% - 2px); top: 20px; width: 4px; height: 35px; border-radius: 50%; background: #ffc5a7; box-shadow: 0 0 22px rgba(255,155,115,.8); opacity: 0; animation: introCore .5s ease .35s forwards; }
.intro-content p { margin: 27px 0 0; }
.intro-content span { display: block; color: rgba(255,255,255,.9); font: 650 clamp(13px,1.15vw,17px) var(--mono); letter-spacing: .18em; text-transform: uppercase; text-shadow: 0 0 24px rgba(255,255,255,.16); opacity: 0; animation: introCopy .6s ease 1.2s forwards; }
.intro-content strong { display: block; margin-top: 9px; color: #fff7ec; font: italic 500 clamp(34px,4vw,62px)/1 var(--serif); letter-spacing: -.035em; opacity: 0; transform: translateY(12px); animation: introCopyMain .75s cubic-bezier(.2,.75,.2,1) 1.38s forwards; }
.intro-meta { position: absolute; z-index: 2; left: 5vw; right: 5vw; bottom: 52px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; color: rgba(255,255,255,.34); font: 500 8px var(--mono); letter-spacing: .12em; animation: introContentOut .3s ease 3.35s forwards; }
.intro-meta i { height: 1px; overflow: hidden; background: rgba(255,255,255,.1); }
.intro-meta i::after { content: ''; display: block; width: 26%; height: 1px; background: linear-gradient(90deg, transparent, var(--acid), var(--ocean), transparent); animation: introSignal 1.8s ease-in-out .55s forwards; }
.intro-skip { position: absolute; z-index: 3; right: 5vw; top: 46px; color: rgba(255,255,255,.28); font: 500 8px var(--mono); letter-spacing: .12em; text-transform: uppercase; animation: introContentOut .3s ease 3.3s forwards; }
.intro-sequence.intro-skipped { opacity: 0; transition: opacity .35s ease; }
@keyframes introRipple { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.08) rotate(0); } 18% { opacity: .52; } 100% { opacity: 0; transform: translate(-50%,-50%) scale(7.5) rotate(24deg); } }
@keyframes introWingLeft { 0% { opacity: 0; transform: translateX(8px) scale(.25) rotate(18deg); } 65% { opacity: 1; transform: translateX(-2px) scale(1.04) rotate(-5deg); } 100% { opacity: .9; transform: translateX(0) scale(1) rotate(0); } }
@keyframes introWingRight { 0% { opacity: 0; transform: translateX(-8px) scale(.25) rotate(-18deg); } 65% { opacity: 1; transform: translateX(2px) scale(1.04) rotate(5deg); } 100% { opacity: .9; transform: translateX(0) scale(1) rotate(0); } }
@keyframes introFlapLeft { from { opacity: .9; transform: perspective(120px) rotateY(0) rotateZ(0); } to { opacity: 1; transform: perspective(120px) rotateY(-68deg) rotateZ(-2deg); } }
@keyframes introFlapRight { from { opacity: .9; transform: perspective(120px) rotateY(0) rotateZ(0); } to { opacity: 1; transform: perspective(120px) rotateY(68deg) rotateZ(2deg); } }
@keyframes introCore { to { opacity: 1; } }
@keyframes introCopy { to { opacity: 1; } }
@keyframes introCopyMain { to { opacity: 1; transform: translateY(0); } }
@keyframes introSignal { from { transform: translateX(-110%); } to { transform: translateX(385%); } }
@keyframes introContentOut { to { opacity: 0; transform: scale(.97); } }
@keyframes introLeft { to { transform: translateX(-102%); } }
@keyframes introRight { to { transform: translateX(102%); } }
@keyframes introVisibility { to { visibility: hidden; pointer-events: none; } }

.noise { position: fixed; inset: 0; z-index: 100; pointer-events: none; opacity: .035; 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='.65'/%3E%3C/svg%3E"); }
.topbar { height: 76px; padding: 0 3.5vw; display: flex; align-items: center; justify-content: space-between; position: absolute; top: 0; left: 0; width: 100%; z-index: 20; color: #f4f2e8; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand { display: inline-flex; align-items: center; gap: 19px; text-decoration: none; font: 500 11px/1 var(--mono); letter-spacing: .16em; }
.brand-mark { width: 26px; height: 21px; position: relative; display: inline-block; }
.brand-mark i { position: absolute; width: 13px; height: 18px; border: 1px solid var(--acid); border-radius: 100% 20% 100% 30%; top: 1px; transform-origin: 100% 60%; animation: wing 4s ease-in-out infinite; }
.brand-mark i:first-child { left: 0; transform: rotate(35deg); }
.brand-mark i:last-child { right: 0; transform: scaleX(-1) rotate(35deg); }
@keyframes wing { 0%,100% { opacity: .65; } 50% { opacity: 1; } }
.topnav { display: flex; gap: 40px; font-size: 12px; }
.topnav a { text-decoration: none; opacity: .86; text-shadow: 0 1px 12px rgba(0,0,0,.32); transition: .2s; }
.topnav a:hover, .topnav a:focus-visible { opacity: 1; }
.sound-toggle { border: 0; background: none; color: inherit; padding: 8px; display: flex; align-items: center; gap: 8px; font: 400 10px var(--mono); text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 0 rgba(255,155,115,.5); animation: pulse 2s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 8px rgba(255,155,115,0); } 100% { box-shadow: 0 0 0 0 rgba(255,155,115,0); } }

.hero { min-height: 100svh; background: linear-gradient(90deg, rgba(4,17,14,.7) 0%, rgba(5,20,16,.5) 42%, rgba(5,17,15,.28) 78%, rgba(5,17,15,.2) 100%), linear-gradient(0deg, rgba(5,18,14,.4), rgba(5,18,14,.1) 55%, rgba(5,18,14,.22)), url('assets/hero-climate-system-higgsfield-q40.jpg') center / cover no-repeat, var(--deep); color: #f5f2e8; display: grid; grid-template-columns: 44% 56%; position: relative; overflow: hidden; padding-top: 76px; }
.hero::after { content: ''; position: absolute; inset: 76px 0 0; background: linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px); background-size: 10vw 10vw; mask-image: linear-gradient(to right, rgba(0,0,0,.6), transparent 80%); pointer-events: none; }
.hero-copy { align-self: center; padding: 8vw 2vw 7vw 7vw; position: relative; z-index: 2; }
.hero-copy > * { opacity: 0; transform: translateY(24px); animation: heroReveal .85s cubic-bezier(.2,.72,.2,1) 3.72s forwards; }
.hero-copy > h1 { animation-delay: 3.84s; }
.hero-copy > .hero-topics { animation-delay: 3.98s; }
.hero-copy > .hero-intro { animation-delay: 4.08s; }
.hero-copy > .start-link { animation-delay: 4.18s; }
@keyframes heroReveal { to { opacity: 1; transform: translateY(0); } }
.eyebrow { margin: 0 0 30px; text-transform: uppercase; letter-spacing: .18em; font: 400 10px var(--mono); color: rgba(255,255,255,.55); }
.eyebrow span { color: var(--acid); margin-right: 14px; }
.eyebrow.dark { color: #707b74; }
.eyebrow.dark span { color: #9b452d; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 30px; font: 500 clamp(54px, 6.5vw, 112px)/.91 var(--serif); letter-spacing: -.055em; max-width: 850px; }
h1 em { font-weight: 500; color: var(--acid); }
.hero-topics { margin: -2px 0 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: rgba(255,255,255,.82); font: 600 clamp(11px,1vw,15px)/1.4 var(--mono); letter-spacing: .07em; text-transform: uppercase; text-shadow: 0 2px 14px rgba(0,0,0,.45); }
.hero-topics i { color: var(--acid); font-style: normal; opacity: .8; }
.hero-intro { color: rgba(255,255,255,.65); font-size: clamp(14px, 1.2vw, 18px); line-height: 1.8; max-width: 510px; }
.start-link { margin-top: 30px; display: inline-flex; align-items: center; gap: 45px; padding: 15px 0; border-bottom: 1px solid rgba(255,155,115,.5); color: var(--acid); text-decoration: none; text-transform: uppercase; font: 500 10px var(--mono); letter-spacing: .16em; }
.start-link span { font-size: 18px; transition: transform .2s; }
.start-link:hover span { transform: translateY(4px); }
.hero-world { position: relative; min-height: calc(100svh - 76px); display: grid; place-items: center; z-index: 1; opacity: 0; transform: scale(.94); animation: heroWorldReveal 1.45s cubic-bezier(.16,.68,.2,1) 3.55s forwards; }
@keyframes heroWorldReveal { to { opacity: 1; transform: scale(1); } }
.intro-bypassed .hero-copy > *, .intro-bypassed .hero-world { animation: none; opacity: 1; transform: none; }
#worldCanvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.world-halo { position: absolute; width: min(45vw, 700px); aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(255,155,115,.3); box-shadow: 0 0 100px rgba(255,155,115,.11), inset 0 0 100px rgba(255,155,115,.055); pointer-events: none; }
.world-halo::before, .world-halo::after { content: ''; position: absolute; inset: -5%; border: 1px dashed rgba(255,255,255,.15); border-radius: 48% 52% 50% 45%; animation: orbit 28s linear infinite; }
.world-halo::after { inset: 11%; animation-duration: 19s; animation-direction: reverse; }
@keyframes orbit { to { transform: rotate(360deg); } }
.world-label { position: absolute; font: 400 8px var(--mono); letter-spacing: .16em; color: rgba(255,255,255,.45); display: flex; align-items: center; gap: 8px; }
.world-label span { width: 4px; height: 4px; border: 1px solid var(--acid); border-radius: 50%; }
.label-atmosphere { top: 19%; right: 10%; }.label-society { bottom: 21%; right: 18%; }.label-biosphere { bottom: 27%; left: 8%; }
.label-atmosphere { color: var(--ocean); }.label-atmosphere span { border-color: var(--ocean); }
.label-society { color: var(--amber); }.label-society span { border-color: var(--amber); }
.label-biosphere { color: var(--sage); }.label-biosphere span { border-color: var(--sage); }
.temperature-readout { position: absolute; left: 52%; top: 50%; transform: translate(-50%,-50%); width: 190px; text-align: center; pointer-events: none; text-shadow: 0 2px 20px rgba(5,15,12,.8); }
.temperature-readout span { display: block; font: 400 8px var(--mono); text-transform: uppercase; letter-spacing: .13em; color: rgba(255,255,255,.62); }
.temperature-readout strong { display: block; margin: 8px 0 4px; font: 500 38px var(--serif); color: #fff; }
.temperature-readout small { display: block; font: 400 8px var(--mono); color: var(--acid); }
.hero-index { position: absolute; z-index: 3; bottom: 40px; right: 3.5vw; font: 400 9px var(--mono); color: rgba(255,255,255,.4); letter-spacing: .12em; }

.simulator { padding: 110px 6vw 120px; background: linear-gradient(135deg, #ebe8de 0%, #e5e9df 52%, #e9e3dc 100%); }
.simulator .eyebrow { color: #536159; font-size: 11px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 60px; }
.section-heading h2, .story h2, .method h2 { font: 500 clamp(48px, 6vw, 88px)/.95 var(--serif); letter-spacing: -.045em; margin: 0; }
.section-heading > p { max-width: 500px; margin: 0 0 5px; color: #273a31; line-height: 1.7; font-size: 16.5px; font-weight: 500; }
.scenario-bar { position: relative; isolation: isolate; overflow: hidden; min-height: 96px; padding: 19px 22px; display: flex; align-items: center; gap: 24px; border: 1px solid rgba(10,28,23,.3); background: linear-gradient(118deg, #10392f 0%, #0b2d25 58%, #08231d 100%); box-shadow: 0 18px 46px rgba(20,45,36,.16); }
.scenario-bar::before { content: ''; position: absolute; z-index: -1; width: 480px; height: 220px; right: -100px; top: -120px; border-radius: 50%; background: radial-gradient(circle, rgba(120,183,179,.18), transparent 68%); }
.scenario-bar.autoplay::after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; transform-origin: left; background: linear-gradient(90deg, var(--acid), var(--amber), var(--ocean), var(--sage)); animation: scenarioProgress 12s linear forwards; }
@keyframes scenarioProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.scenario-label { flex: 0 0 auto; display: grid; gap: 8px; }
.scenario-label > span { color: rgba(255,255,255,.88); text-transform: uppercase; font: 650 12.5px var(--mono); letter-spacing: .13em; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.scenario-autoplay:not([hidden]) { display: inline-flex; align-items: center; gap: 7px; width: max-content; color: var(--acid); font: 650 9.5px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.scenario-autoplay i { width: 6px; height: 6px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 0 rgba(255,155,115,.5); animation: autoplayPulse 1.25s ease-out infinite; }
@keyframes autoplayPulse { 70% { box-shadow: 0 0 0 7px rgba(255,155,115,0); } }
.scenario-buttons { min-width: 0; flex: 1; display: flex; flex-wrap: wrap; gap: 10px; }
.scenario { padding: 11px 16px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.76); font: 550 12.5px var(--mono); white-space: nowrap; cursor: pointer; transition: transform .2s, background .2s, border-color .2s, color .2s, box-shadow .2s; }
.scenario[data-scenario="pressure"] { --scenario-color: var(--clay); }.scenario[data-scenario="baseline"] { --scenario-color: var(--ocean); }.scenario[data-scenario="cleanPower"] { --scenario-color: #8fc9d5; }.scenario[data-scenario="foodLand"] { --scenario-color: #b1c875; }.scenario[data-scenario="pragmatic"] { --scenario-color: var(--amber); }.scenario[data-scenario="regenerative"] { --scenario-color: var(--sage); }
.scenario:hover { transform: translateY(-2px); color: #fff; border-color: var(--scenario-color); background: rgba(255,255,255,.075); }
.scenario.active { color: #17241f; background: var(--scenario-color); border-color: var(--scenario-color); box-shadow: 0 6px 18px color-mix(in srgb, var(--scenario-color) 35%, transparent); }
.reset-button { margin-left: auto; flex: 0 0 auto; border: 0; background: none; padding: 10px 2px; font: 650 11.5px var(--mono); letter-spacing: .05em; text-transform: uppercase; color: rgba(255,255,255,.68); cursor: pointer; transition: color .2s; }
.reset-button:hover, .reset-button:focus-visible { color: #fff; }
.change-summary { position: relative; z-index: 1; min-height: 72px; margin: 18px 0 -6px; padding: 16px 20px; display: grid; grid-template-columns: 126px 1fr 24px; align-items: center; gap: 20px; color: #2c3d35; background: rgba(255,255,255,.58); border: 1px solid rgba(10,28,23,.17); box-shadow: none; }
.change-summary > span { color: #475a50; font: 650 11px var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.change-summary p { margin: 0; color: #293b32; font-size: 15px; line-height: 1.6; }
.change-summary i { color: #53675d; font: normal 22px var(--serif); text-align: right; }
.change-summary.changed { animation: summaryFlash .42s ease; }
@keyframes summaryFlash { 40% { background: rgba(120,183,179,.16); border-color: rgba(70,124,119,.28); } }
.simulator-grid { display: grid; grid-template-columns: minmax(360px, .86fr) minmax(500px, 1.45fr); gap: 2.5vw; margin-top: 35px; align-items: stretch; }
.controls-panel { background: #f4f2e9; border: 1px solid var(--line); }
.control { --lever-color: var(--acid); border-bottom: 1px solid var(--line); transition: background .3s, box-shadow .3s; }
.control[data-control="meat"] { --lever-color: var(--clay); }.control[data-control="remote"] { --lever-color: var(--ocean); }.control[data-control="renewables"] { --lever-color: var(--amber); }.control[data-control="fertility"] { --lever-color: var(--violet); }.control[data-control="forest"] { --lever-color: var(--sage); }.control[data-control="foodWaste"] { --lever-color: var(--ochre); }
.control:last-child { border-bottom: 0; }
.control.active { background: #fffef7; box-shadow: inset 4px 0 0 var(--lever-color); }
.control.active .control-title b { color: color-mix(in srgb, var(--lever-color) 70%, var(--ink)); }
.control-heading { width: 100%; min-height: 92px; background: transparent; border: 0; padding: 0 25px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; text-align: left; cursor: pointer; color: var(--ink); }
.control-number { font: 500 10px var(--mono); color: #707a74; }
.control-title b { display: block; font: 500 15px var(--sans); }
.control-title small { display: block; margin-top: 6px; font: 500 10.5px var(--mono); color: #65716a; text-transform: uppercase; letter-spacing: .045em; }
.control-heading strong { display: flex; align-items: baseline; gap: 4px; font: 500 26px var(--serif); }
.control-heading strong i { font: 500 10.5px var(--mono); color: #606c65; }
.control-body { max-height: 0; opacity: 0; transition: max-height .35s ease, opacity .25s ease, padding .35s ease; padding: 0 25px; overflow: hidden; }
.control.active .control-body { max-height: 90px; opacity: 1; padding-bottom: 25px; }
input[type="range"] { appearance: none; width: 100%; height: 2px; background: linear-gradient(90deg, var(--lever-color) var(--fill,50%), #cbd0c6 var(--fill,50%)); outline: none; margin: 7px 0 13px; }
input[type="range"]::-webkit-slider-thumb { appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--lever-color); border: 5px solid var(--forest); cursor: grab; box-shadow: 0 0 0 3px color-mix(in srgb, var(--lever-color) 24%, transparent); }
input[type="range"]::-moz-range-thumb { width: 10px; height: 10px; border-radius: 50%; background: var(--lever-color); border: 5px solid var(--forest); cursor: grab; }
.range-labels { display: flex; justify-content: space-between; color: #65716a; text-transform: uppercase; font: 500 9.5px var(--mono); letter-spacing: .045em; }
.outcomes-panel { background: var(--forest); color: #f4f2e9; padding: 32px; position: relative; overflow: hidden; }
.outcomes-panel::after { content: ''; position: absolute; width: 500px; height: 500px; right: -270px; top: -250px; border: 1px solid rgba(255,155,115,.13); border-radius: 50%; box-shadow: 0 0 70px rgba(255,155,115,.045); }
.outcomes-topline { display: flex; justify-content: space-between; align-items: start; position: relative; z-index: 1; }
.live-indicator { color: var(--acid); font: 500 10.5px var(--mono); letter-spacing: .13em; }.live-indicator i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--acid); margin-right: 8px; }
.outcomes-topline p { margin: 8px 0 0; color: rgba(255,255,255,.68); font: 400 10.5px var(--mono); }
.confidence { color: rgba(255,255,255,.62); font: 500 9.5px var(--mono); text-transform: uppercase; letter-spacing: .06em; display: flex; align-items: center; gap: 7px; }
.info-button { width: 17px; height: 17px; padding: 0; border: 1px solid rgba(255,255,255,.25); color: inherit; background: none; border-radius: 50%; font: 400 9px var(--serif); cursor: help; position: relative; }
.info-button:hover::after, .info-button:focus-visible::after { content: attr(data-tooltip); position: absolute; width: 210px; right: 0; top: 25px; background: #f6f4e9; color: var(--ink); padding: 12px; z-index: 4; text-align: left; text-transform: none; letter-spacing: 0; line-height: 1.5; box-shadow: 0 8px 30px rgba(0,0,0,.2); }
.primary-outcome { display: grid; grid-template-columns: 1fr 41%; align-items: end; margin: 50px 0 35px; padding-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,.12); position: relative; z-index: 1; }
.primary-outcome span { display: block; color: rgba(255,255,255,.72); font: 500 10.5px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.primary-outcome strong { display: block; font: 500 clamp(62px, 6vw, 96px)/1 var(--serif); letter-spacing: -.06em; color: var(--acid); margin: 8px 0 0; }
.primary-outcome small { font: 400 11px var(--mono); color: rgba(255,255,255,.7); }
.gauge { height: 55px; border-bottom: 1px solid rgba(255,255,255,.18); position: relative; overflow: hidden; }
.gauge::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 17px, rgba(255,255,255,.07) 17px 18px); }
.gauge i { position: absolute; left: 0; bottom: 0; height: 2px; width: var(--gauge,0%); background: var(--acid); transition: width .7s ease; }
.gauge span { width: 6px; height: 6px; border-radius: 50%; background: var(--acid); position: absolute; bottom: -2px; left: calc(var(--gauge,0%) - 3px); box-shadow: 0 0 15px var(--acid); transition: left .7s ease; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); position: relative; z-index: 1; }
.metric-grid article { --metric-color: var(--acid); padding: 12px 18px 0; border-top: 2px solid var(--metric-color); border-right: 1px solid rgba(255,255,255,.11); }.metric-grid article:nth-child(1) { --metric-color: var(--clay); }.metric-grid article:nth-child(2) { --metric-color: var(--sage); }.metric-grid article:nth-child(3) { --metric-color: var(--ocean); }.metric-grid article:nth-child(4) { --metric-color: var(--amber); }.metric-grid article:first-child { padding-left: 0; }.metric-grid article:last-child { border-right: 0; }
.metric-grid span { display: block; min-height: 32px; color: rgba(255,255,255,.68); font: 500 9.5px/1.35 var(--mono); text-transform: uppercase; letter-spacing: .065em; }
.metric-grid strong { display: block; color: var(--metric-color); font: 500 25px var(--serif); }
.metric-grid small { color: rgba(255,255,255,.58); font: 400 9.5px var(--mono); }
.contribution-panel { margin-top: 34px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); position: relative; z-index: 1; }
.contribution-heading { display: flex; justify-content: space-between; margin-bottom: 15px; color: rgba(255,255,255,.7); font: 500 9.5px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.contribution-heading small { color: rgba(255,255,255,.45); font: inherit; }
.contribution-row { --row-color: var(--acid); min-height: 29px; display: grid; grid-template-columns: 92px 1fr 92px; align-items: center; gap: 12px; color: rgba(255,255,255,.62); font: 500 9px var(--mono); }
.contribution-row[data-contribution="meat"] { --row-color: var(--clay); }.contribution-row[data-contribution="remote"] { --row-color: var(--ocean); }.contribution-row[data-contribution="renewables"] { --row-color: var(--amber); }.contribution-row[data-contribution="fertility"] { --row-color: var(--violet); }.contribution-row[data-contribution="forest"] { --row-color: var(--sage); }.contribution-row[data-contribution="foodWaste"] { --row-color: var(--ochre); }
.contribution-row > span { text-transform: uppercase; letter-spacing: .04em; }
.contribution-row strong { color: rgba(255,255,255,.72); font: 500 8.5px var(--mono); text-align: right; }
.contribution-track { position: relative; height: 7px; background: rgba(255,255,255,.045); }
.contribution-track::after { content: ''; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 1px; background: rgba(255,255,255,.28); }
.contribution-track i { position: absolute; top: 2px; width: 0; height: 3px; transition: width .6s ease, background .3s; }
.contribution-row.positive .contribution-track i { left: 50%; background: var(--row-color); }
.contribution-row.positive > span, .contribution-row.positive strong { color: var(--row-color); }
.contribution-row.negative .contribution-track i { right: 50%; background: #e06655; }
.contribution-row.negative strong { color: #ffac98; }
.mini-visuals { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 35px; position: relative; z-index: 1; }
.city-card, .habitat-card { min-height: 175px; border: 1px solid rgba(255,255,255,.1); padding: 15px; position: relative; overflow: hidden; }.city-card { background: linear-gradient(145deg, rgba(232,179,102,.1), rgba(255,255,255,.025)); }.habitat-card { background: linear-gradient(145deg, rgba(142,174,122,.1), rgba(255,255,255,.025)); }
.card-label { display: flex; align-items: center; justify-content: space-between; font: 500 9px var(--mono); letter-spacing: .08em; color: rgba(255,255,255,.66); }.card-label b { font-weight: 500; color: var(--acid); }
.cityscape { height: 90px; margin: 15px 0 7px; border-bottom: 1px solid rgba(255,255,255,.13); display: flex; align-items: end; gap: 4px; position: relative; padding: 0 20px; }
.city-card .card-label b { color: var(--amber); }.habitat-card .card-label b { color: var(--sage); }
.cityscape span { display: block; width: 10%; height: var(--h); background: linear-gradient(rgba(232,179,102,.34), rgba(232,179,102,.05)); border-top: 1px solid rgba(232,179,102,.52); transition: height .8s; }
.city-sun { width: 24px; height: 24px; border: 1px solid rgba(232,179,102,.5); border-radius: 50%; position: absolute; right: 20px; top: 5px; box-shadow: 0 0 18px rgba(232,179,102,.12); }
.city-stats { display: flex; justify-content: space-between; font: 500 9px var(--mono); color: rgba(255,255,255,.6); text-transform: uppercase; }.city-stats b { color: #fff; font-weight: 500; }
#habitatCanvas { position: absolute; inset: 25px 0 0; width: 100%; height: calc(100% - 25px); }
.habitat-score { position: absolute; left: 16px; bottom: 15px; display: flex; align-items: end; gap: 7px; }.habitat-score strong { font: 500 32px var(--serif); color: var(--sage); }.habitat-score span { font: 500 9px/1.4 var(--mono); color: rgba(255,255,255,.58); text-transform: uppercase; }

.story { background: var(--deep); color: #f2f0e7; padding: 125px 6vw; overflow: hidden; }
.story-heading { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; column-gap: 10vw; }
.story-heading .eyebrow { grid-column: 1/-1; }
.story-heading > p:last-child { max-width: 480px; color: rgba(255,255,255,.57); font-size: 14px; line-height: 1.8; margin-bottom: 7px; }
.story-selector { max-width: 1200px; margin: 58px auto 0; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.13); }
.story-selector > span { display: block; margin-bottom: 15px; color: rgba(255,255,255,.52); font: 600 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.story-buttons { display: flex; flex-wrap: wrap; gap: 9px; }
.story-choice { --story-color: var(--acid); padding: 11px 16px; border: 1px solid color-mix(in srgb, var(--story-color) 42%, rgba(255,255,255,.13)); border-radius: 999px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.025); font: 550 11.5px var(--mono); cursor: pointer; transition: color .2s, background .2s, border-color .2s, transform .2s, box-shadow .2s; }
.story-choice[data-story="meat"] { --story-color: var(--clay); }.story-choice[data-story="remote"] { --story-color: var(--ocean); }.story-choice[data-story="renewables"] { --story-color: var(--amber); }.story-choice[data-story="fertility"] { --story-color: var(--violet); }.story-choice[data-story="forest"] { --story-color: var(--sage); }.story-choice[data-story="foodWaste"] { --story-color: var(--ochre); }
.story-choice:hover { color: #fff; border-color: var(--story-color); transform: translateY(-2px); }
.story-choice.active { color: #10231d; border-color: var(--story-color); background: var(--story-color); box-shadow: 0 7px 22px color-mix(in srgb, var(--story-color) 22%, transparent); }
.ripple-chain { margin: 95px auto 58px; display: grid; grid-template-columns: 1fr .45fr 1fr .45fr 1fr .45fr 1fr; align-items: center; max-width: 1200px; }
.ripple-step { text-align: center; opacity: .55; transition: opacity .5s, transform .5s; }.ripple-step.active, .ripple-step:hover { opacity: 1; transform: translateY(-4px); }
.ripple-step { --step-color: var(--acid); }.ripple-step:nth-child(1) { --step-color: var(--ocean); }.ripple-step:nth-child(3) { --step-color: var(--amber); }.ripple-step:nth-child(5) { --step-color: var(--sage); }.ripple-step:nth-child(7) { --step-color: var(--violet); }
.ripple-step > span { display: block; color: var(--step-color); font: 400 8px var(--mono); }
.step-icon { margin: 15px auto; display: grid; place-items: center; font: normal 26px var(--serif); width: 72px; height: 72px; border-radius: 50%; border: 1px solid var(--step-color); color: var(--step-color); box-shadow: inset 0 0 30px rgba(255,255,255,.035); }
.ripple-step b { display: block; font: 500 16px var(--serif); }.ripple-step small { display: block; margin-top: 5px; color: rgba(255,255,255,.4); font: 400 8px var(--mono); }
.ripple-line { height: 1px; background: rgba(255,255,255,.12); overflow: hidden; }.ripple-line i { display: block; width: 30%; height: 1px; background: linear-gradient(90deg,var(--ocean),var(--amber),var(--sage)); animation: travel 3s ease-in-out infinite; }
@keyframes travel { from { transform: translateX(-100%); } to { transform: translateX(450%); } }
.projection-card { max-width: 1250px; margin: 0 auto; border: 1px solid rgba(255,255,255,.13); padding: 35px 40px 25px; background: rgba(255,255,255,.025); }
.projection-header { display: flex; align-items: end; justify-content: space-between; margin-bottom: 35px; }.projection-header span { font: 500 11px var(--mono); letter-spacing: .08em; color: rgba(255,255,255,.68); }.projection-header h3 { margin: 8px 0 0; font: 500 28px var(--serif); }
.legend { display: flex; gap: 22px; }.legend span::before { content: ''; display: inline-block; width: 18px; height: 1px; margin: 0 7px 3px 0; background: rgba(255,255,255,.35); }.legend .legend-scenario::before { background: var(--ocean); }
.chart-wrap { height: 310px; position: relative; }.chart-wrap canvas { width: 100%; height: 100%; }.chart-tooltip { position: absolute; padding: 9px 11px; background: #f2f0e7; color: var(--ink); font: 500 10.5px/1.5 var(--mono); pointer-events: none; transform: translate(-50%,-115%); }
.chart-footer { display: flex; justify-content: space-between; margin-top: 10px; color: rgba(255,255,255,.62); font: 500 10.5px var(--mono); }

.method { position: relative; isolation: isolate; overflow: hidden; min-height: 780px; padding: 124px 7vw 130px; color: #f7f2e7; background: radial-gradient(circle at 12% 16%, rgba(120,183,179,.16), transparent 28%), radial-gradient(circle at 88% 82%, rgba(170,141,175,.13), transparent 30%), linear-gradient(135deg, #10372d 0%, #09251f 48%, #061a16 100%); }
.method::before { content: ''; position: absolute; z-index: -2; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 8vw 8vw; mask-image: linear-gradient(110deg, rgba(0,0,0,.85), transparent 78%); }
.method::after { content: ''; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(5,24,19,.3), transparent 34%, rgba(5,24,19,.14) 72%, rgba(5,24,19,.28)), linear-gradient(0deg, rgba(5,22,18,.22), transparent 28%); }
.method-ambient { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.method-ambient::before { content: ''; position: absolute; inset: -18%; background: radial-gradient(circle at 18% 68%, rgba(255,155,115,.13), transparent 14%), radial-gradient(circle at 58% 24%, rgba(120,183,179,.09), transparent 18%), radial-gradient(circle at 90% 76%, rgba(170,141,175,.1), transparent 16%); filter: blur(38px); }
#causalCanvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .78; mix-blend-mode: screen; }
.method-layout { position: relative; z-index: 2; width: min(1250px,100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0,.9fr) minmax(440px,1fr); gap: 8vw; align-items: start; }
.method-main { min-width: 0; }
.method-main .eyebrow.dark { color: rgba(255,255,255,.58); }
.method-main .eyebrow.dark span { color: var(--amber); }
.method-main h2 { color: #fff8ee; text-shadow: 0 12px 42px rgba(0,0,0,.24); }
.method-main h2::after { content: ''; display: block; width: 74px; height: 2px; margin-top: 31px; background: linear-gradient(90deg, var(--acid), var(--amber)); }
.method-copy { margin-top: 38px; }
.method-copy > p { margin: 0; max-width: 560px; color: rgba(244,242,232,.78); line-height: 1.8; font-size: 17px; }
.evidence-date { margin-top: 32px; width: min(340px,100%); padding-top: 14px; border-top: 1px solid rgba(255,255,255,.18); display: flex; justify-content: space-between; align-items: center; }
.evidence-date span { color: rgba(255,255,255,.5); font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.evidence-date strong { color: var(--amber); font: 600 11px var(--mono); }
.method-stats { width: min(580px,100%); margin-top: 38px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); display: grid; grid-template-columns: repeat(3,1fr); }
.method-stats div { min-width: 0; padding-right: 16px; }
.method-stats div + div { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.13); }
.method-stats strong { display: block; margin-bottom: 7px; color: #fff; font: 500 clamp(24px,2.2vw,34px)/1 var(--serif); }
.method-stats span { display: block; color: rgba(255,255,255,.5); font: 500 9px/1.45 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.method-details { min-width: 0; border-top: 1px solid rgba(255,255,255,.2); background: rgba(3,18,14,.13); backdrop-filter: blur(7px); }
.method-details details { --detail-color: var(--ocean); padding: 0 26px; border-bottom: 1px solid rgba(255,255,255,.18); background: transparent; transition: background .3s, border-color .3s; }
.method-details details:nth-child(2) { --detail-color: var(--amber); }
.method-details details:nth-child(3) { --detail-color: var(--violet); }
.method-details details[open] { border-bottom-color: color-mix(in srgb, var(--detail-color) 45%, rgba(255,255,255,.18)); background: linear-gradient(90deg, color-mix(in srgb, var(--detail-color) 10%, transparent), rgba(255,255,255,.025)); box-shadow: inset 2px 0 0 var(--detail-color); }
.method-details summary { list-style: none; min-height: 98px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; cursor: pointer; color: #f5f1e7; font: 600 18px var(--sans); }
.method-details summary::-webkit-details-marker { display: none; }
.method-details summary span { color: var(--detail-color); font: 600 10px var(--mono); }
.method-details summary i { color: var(--detail-color); font: normal 22px var(--serif); }
.method-details details p { margin: 0 8px 28px 48px; color: rgba(244,242,232,.74); font-size: 16px; line-height: 1.78; }
.source-links { margin: -6px 8px 30px 48px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.11); display: flex; flex-wrap: wrap; gap: 8px; }
.source-links > span { width: 100%; margin-bottom: 3px; color: rgba(255,255,255,.46); font: 600 9.5px var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.source-links a { padding: 8px 9px; border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.72); background: rgba(255,255,255,.035); text-decoration: none; font: 500 9px var(--mono); transition: background .2s, color .2s, border-color .2s; }
.source-links a:hover, .source-links a:focus-visible { color: #10251e; border-color: var(--detail-color); background: var(--detail-color); }

footer { min-height: 285px; background: #061612; color: rgba(255,255,255,.72); padding: 55px 6vw 35px; display: grid; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr; align-items: center; }
.footer-mark { width: 60px; height: 50px; position: relative; }.footer-mark span { width: 30px; height: 46px; border: 1px solid var(--acid); border-radius: 100% 20% 100% 30%; position: absolute; }.footer-mark span:last-child { left: 29px; transform: scaleX(-1); }
footer > p { font: italic 500 clamp(26px,3vw,44px) var(--serif); text-align: right; color: var(--acid); }
footer > div:last-child { grid-column: 1/-1; border-top: 1px solid rgba(255,255,255,.12); padding-top: 22px; display: flex; justify-content: space-between; font: 400 8px var(--mono); letter-spacing: .12em; color: rgba(255,255,255,.35); }
.footer-credit { color: #fff; text-decoration: none; font: 600 13px var(--mono); letter-spacing: .1em; text-shadow: 0 0 20px rgba(255,155,115,.3); transition: color .2s; }
.footer-credit:hover, .footer-credit:focus-visible { color: var(--acid); }

body.motion-off *, body.motion-off *::before, body.motion-off *::after { animation-play-state: paused !important; }
:focus-visible { outline: 2px solid var(--acid); outline-offset: 4px; }

@media (min-width: 981px) {
  .world-label { font-size: 10px; color: rgba(255,255,255,.58); }
  .temperature-readout { width: 230px; }
  .temperature-readout span { font-size: 10.5px; }
  .temperature-readout strong { font-size: 46px; }
  .temperature-readout small { font-size: 10px; }
  .hero-index { font-size: 11px; }
  .primary-outcome span { font-size: 12px; color: rgba(255,255,255,.82); }
  .metric-grid span { min-height: 38px; font-size: 11.5px; color: rgba(255,255,255,.8); }
  .contribution-heading { margin-bottom: 18px; font-size: 11.5px; color: rgba(255,255,255,.82); }
  .contribution-heading small { font-size: 10.5px; color: rgba(255,255,255,.58); }
  .contribution-row { min-height: 34px; grid-template-columns: 116px 1fr 108px; font-size: 11px; color: rgba(255,255,255,.74); }
  .contribution-row strong { font-size: 10.5px; }
}

@media (max-width: 980px) {
  .topnav { display: none; }
  .hero { grid-template-columns: 1fr; min-height: 920px; }
  .hero-copy { padding: 110px 8vw 10px; }
  .hero-world { min-height: 500px; }
  .world-halo { width: 68vw; }
  .simulator { padding-left: 4vw; padding-right: 4vw; }
  .scenario-bar { flex-wrap: wrap; padding: 18px 20px; gap: 15px 20px; }.scenario-buttons { order: 3; width: 100%; }.reset-button { margin-left: auto; }
  .simulator-grid { grid-template-columns: 1fr; }
  .story-heading { grid-template-columns: 1fr; gap: 30px; }
  .story-heading > p:last-child { margin-top: 25px; }
  .method { padding: 100px 7vw 110px; }
  .method-layout { grid-template-columns: 1fr; gap: 68px; }
  .method-main { max-width: 680px; }
  .method-details { width: 100%; }
}

@media (max-width: 640px) {
  .topbar { height: 64px; padding: 0 20px; }.brand { font-size: 9px; }.sound-toggle span:last-child { display: none; }
  .hero { padding-top: 64px; min-height: 830px; background-position: 60% center; }.hero-copy { padding: 90px 22px 0; }.hero-topics { max-width: 92%; gap: 7px; }.hero-intro { max-width: 90%; }.hero-world { min-height: 430px; }.world-halo { width: 88vw; }.label-atmosphere { right: 4%; }.label-biosphere { left: 4%; }
  .section-heading { display: block; }.section-heading > p { margin-top: 25px; }.simulator { padding: 80px 16px; }
  .scenario-bar { padding: 18px 16px; gap: 14px 12px; }.scenario-label > span { font-size: 11.5px; }.scenario-buttons { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; }.scenario { flex: 0 0 auto; padding: 11px 15px; scroll-snap-align: start; }.reset-button { padding: 5px 0; font-size: 11px; }
  .change-summary { margin-top: 12px; padding: 16px; grid-template-columns: 1fr 20px; gap: 7px 12px; }.change-summary > span { grid-column: 1; }.change-summary p { grid-column: 1; font-size: 14px; line-height: 1.6; }.change-summary i { grid-column: 2; grid-row: 1/3; }
  .simulator-grid { display: block; }.outcomes-panel { margin-top: 16px; padding: 24px 18px; }.confidence { display: none; }.primary-outcome { grid-template-columns: 1fr; }.gauge { margin-top: 15px; }.metric-grid { grid-template-columns: 1fr 1fr; gap: 25px 0; }.metric-grid article:nth-child(2) { border-right: 0; }.metric-grid article:nth-child(3) { padding-left: 0; }.mini-visuals { grid-template-columns: 1fr; }
  .contribution-row { grid-template-columns: 74px 1fr 88px; gap: 8px; }.contribution-row strong { font-size: 8px; }
  .story { padding: 90px 20px; }.story-selector { margin: 45px auto 0; }.story-buttons { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 7px; scroll-snap-type: x mandatory; }.story-choice { flex: 0 0 auto; scroll-snap-align: start; }.ripple-chain { grid-template-columns: 1fr; margin: 65px auto 45px; gap: 0; }.ripple-line { width: 1px; height: 45px; margin: 0 auto; }.ripple-line i { width: 1px; height: 30%; animation: travelVertical 3s ease-in-out infinite; }.ripple-step { display: grid; grid-template-columns: 30px 65px 1fr; grid-template-rows: 1fr 1fr; align-items: center; text-align: left; width: 290px; margin: 0 auto; }.ripple-step > span { grid-row: 1/3; }.step-icon { grid-row: 1/3; margin: 0; width: 52px; height: 52px; }.ripple-step b { align-self: end; }.ripple-step small { align-self: start; }
  @keyframes travelVertical { from { transform: translateY(-100%); } to { transform: translateY(450%); } }
  .projection-card { padding: 25px 16px 18px; }.projection-header { display: block; }.legend { margin-top: 20px; }.chart-wrap { height: 250px; }
  .method { padding: 82px 20px 90px; }.method-layout { gap: 56px; }.method-stats { gap: 0; }.method-stats div { padding-right: 10px; }.method-stats div + div { padding-left: 12px; }.method-stats strong { font-size: 24px; }.method-stats span { font-size: 8px; }.method-details details { padding: 0 16px; }.method-details summary { grid-template-columns: 39px 1fr auto; font-size: 16px; }.method-details details p { margin-left: 39px; margin-right: 2px; }.source-links { margin-left: 39px; margin-right: 2px; }.source-links a { width: 100%; }
  footer { grid-template-columns: 1fr; min-height: 340px; } footer > p { text-align: left; align-self: start; } footer > div:last-child { display: grid; gap: 14px; }.footer-credit { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) { .intro-sequence { display: none; } .hero-copy > *, .hero-world { opacity: 1; transform: none; animation: none; } *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
