@font-face{font-family:'Noto Serif';src:url('./assets/NotoSerif-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Serif';src:url('./assets/NotoSerif-Italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Noto Serif';src:url('./assets/NotoSerif-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
:root{--dark:#103922;--ink:#193c29;--head:'Noto Serif',Georgia,serif;--body:'Noto Serif',Georgia,serif}
body{font-family:var(--body);font-size:17px;line-height:1.75}
h1,h2,h3{font-family:var(--head);font-weight:400;letter-spacing:-.035em}
nav,button,.button,.eyebrow,.hero-label,.hero-kicker,.hero-bottom,.work-meta,.case-info,.footer-links,.footer-bottom,.tiny,.fineprint,.field-caption-label,.field-heading,.field-controls,.diagnostic-form legend,.field label,.sensitive-note{font-family:Arial,Helvetica,sans-serif}
.hero{background-color:#103922;background-image:linear-gradient(90deg,#092f2370,#1039222b 65%,#09281740),url('./assets/appalachian-digital-forest-v41.webp');background-size:cover;background-position:center bottom}
.hero-grid{align-items:start;padding-top:62px;padding-bottom:65px;grid-template-columns:1fr 1.05fr;gap:38px}
.hero-copy{padding-top:30px}
.hero h1{font-family:var(--head);font-weight:400;letter-spacing:-.055em;font-size:clamp(59px,6.5vw,96px);line-height:1.12}
.hero h1 em{font-family:var(--head);font-style:italic;font-weight:400;letter-spacing:-.06em;white-space:normal}
.hero-promise{font-family:var(--head);font-size:25px;font-weight:400}
.hero-description{font-family:var(--body);font-size:17px;line-height:1.8;color:#e1e7d8;max-width:510px}
.hero-label,.hero-kicker{color:#e4ecd9}.hero-bottom{color:#d4e2c9;border-color:#9dbe8560}.hero-actions .button,.hero-actions .text-link{font-family:Arial,Helvetica,sans-serif}
.section-head h2,.about-grid h2,.page-hero h1,.case-hero h1,.case-section h2,.case-close h2{font-family:var(--head);font-weight:400;letter-spacing:-.04em}
.section-head h2{font-size:clamp(36px,4vw,59px);line-height:1.17}
.capability-list h3{font-family:var(--head);font-weight:400;font-size:25px;line-height:1.3}
.capability-list p,.method-grid p,.work-card p,.section-intro{font-family:var(--body);line-height:1.8}
.condition-panel h3,.method-grid h3,.transfer h3,.work-card h3,.timeline h3,.case-facts h3{font-family:var(--head);font-weight:400;letter-spacing:-.025em;line-height:1.25}
.method-grid h3{font-size:32px}.method-grid p{font-size:15px}.work-card h3{font-size:29px}.about-grid h2{line-height:1.15}.faq-list summary{font-family:var(--head);font-weight:400;line-height:1.45}.closing h2,.closing h2 em{font-family:var(--head);font-weight:400;letter-spacing:-.055em;line-height:1.1}.closing h2{font-size:clamp(52px,6.6vw,98px)}
/* Keep the introduction and identity mark exactly as approved. */
.intro-monogram,.orbit-char,.intro-static-name{font-family:'Kelly Slab',Georgia,serif}.wordmark{font-family:Arial,Helvetica,sans-serif}
.signal-field{justify-content:flex-start;align-self:start;padding:0}.signal-stage{position:relative;width:100%;aspect-ratio:640/620;isolation:isolate}.signal-stage .signal-art{position:absolute;inset:0;width:100%;height:100%}.signal-stage .field-tracers{pointer-events:none}.signal-stage .field-structure{opacity:.5}.is-interactive .field-origin{display:none}.is-interactive .field-halo{display:none}.signal-field.has-example .field-structure{opacity:1;filter:drop-shadow(0 0 6px #bcf88b)}.signal-field.has-example .field-noise{opacity:.4}.field-noise{transition:opacity .4s}.signal-stage .field-reveal-wave{display:none}
.signal-lens{position:absolute;left:50.9375%;top:47.7419%;transform:translate(-50%,-50%);z-index:4;width:62px;height:62px;padding:0;border:1px solid #fff6be;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fffef4 0%,#efff8b 24%,#ffc45e 53%,#fa62c5 84%,#b76bfa);box-shadow:0 0 14px #ffce7780,0 0 33px #f652bf75,inset -5px -6px 10px #923ee633;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transition:left .4s cubic-bezier(.2,.8,.2,1),top .4s cubic-bezier(.2,.8,.2,1),box-shadow .2s}
.signal-lens:before{content:'';position:absolute;inset:-7px;border:1px solid #dcffb9aa;border-radius:50%;pointer-events:none}.signal-lens:hover{box-shadow:0 0 20px #ffce77cc,0 0 49px #f652bfa0}.signal-lens:focus-visible{outline:3px solid #fff;outline-offset:10px}.lens-cross:before,.lens-cross:after{content:'';position:absolute;background:#183425;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:2px}.lens-cross:before{width:23px;height:2px}.lens-cross:after{width:2px;height:23px}.is-dragging .signal-lens{cursor:grabbing;transition:none;box-shadow:0 0 25px #d7ff83bb,0 0 60px #5df2ff55}
.signal-node{position:absolute;z-index:5;transform:translate(-50%,-50%);padding:14px;min-width:44px;min-height:44px;border:0;background:none;color:#eef6e3;cursor:pointer;touch-action:manipulation}.node-dot{display:block;width:15px;height:15px;border:2px solid #c6ff94;background:#133723;border-radius:50%;box-shadow:0 0 9px #b9f98588;pointer-events:none}.node-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%,5px);display:block;padding:3px 7px;border-radius:3px;background:#102f22d9;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.4;letter-spacing:.04em;white-space:nowrap;pointer-events:none}.signal-node:hover .node-label,.signal-node[aria-pressed=true] .node-label{background:#d9f798;color:#113520}.signal-node[aria-pressed=true] .node-dot{background:#e3ffb5;border-color:#fff}.signal-node[aria-pressed=true]{z-index:3}
.signal-field figcaption{margin-top:0;gap:15px;padding:4px 5px 0;align-items:center}.signal-field figcaption p{font-family:var(--head);font-style:normal;font-size:14px;line-height:1.55}.field-controls{gap:10px}.field-toggle{font-size:10px;padding:9px 11px}.field-motion{color:#d2dfc8}.field-heading{color:#c8dcb9;font-size:8px;gap:15px}.field-heading span:last-child{color:#d7f99e}.field-caption-label{color:#d6e1c8;font-size:9px}.signal-field .field-orbit-counter{opacity:.7}
.lens-example{display:grid;grid-template-columns:110px minmax(0,1fr);gap:21px;align-items:start;border:1px solid #8bab7466;background:linear-gradient(145deg,#0b281feb,#123e2fe8);border-radius:6px;padding:20px;margin-top:25px;min-height:292px;box-shadow:0 15px 50px #001c191f}.lens-example-visual{height:130px;display:grid;place-items:center;background:#cde597;border:1px solid #d5ecb033;overflow:hidden;border-radius:2px;color:#1b3727}.lens-example-visual img{width:100%;height:100%;object-fit:cover}.lens-overview-mark{font-family:Arial,sans-serif;font-size:26px;letter-spacing:-.06em;font-weight:800}.lens-award{font-family:var(--head);font-size:27px;letter-spacing:-.04em}.lens-example .eyebrow{font-size:9px;line-height:1.6;color:#cde5a6;margin:0 0 10px;letter-spacing:.05em}.lens-example h2{font-family:var(--head);font-size:24px;line-height:1.25;letter-spacing:-.03em;font-weight:400;color:#f6f2e8}.lens-example-copy>p:not(.eyebrow){font-size:13px;line-height:1.75;color:#e0e8d6;margin-top:12px}.lens-example .lens-evidence{font-family:Arial,sans-serif;font-size:11px!important;line-height:1.6!important;color:#b4c8ab!important}.lens-example .text-link{font-family:Arial,sans-serif;font-size:12px;line-height:1.5;gap:10px;margin-top:14px;color:#d8f7a9;border-color:#93b26b}.lens-example .text-link:hover{color:#fff}.lens-fallback{font-size:14px;line-height:1.8;color:#e3eecf;padding-left:20px}.lens-fallback a{text-decoration:underline}
@media(min-width:1550px){.hero h1{font-size:96px}}
@media(max-width:1150px){.hero h1{font-size:clamp(53px,6.5vw,76px)}.hero-grid{gap:25px;grid-template-columns:1fr 1.05fr}.hero-description{font-size:16px}.hero-promise{font-size:23px}.lens-example{grid-template-columns:85px 1fr;gap:16px;padding:16px;min-height:340px}.lens-example-visual{height:115px}.lens-example h2{font-size:22px}.lens-overview-mark{font-size:22px}.lens-award{font-size:24px}.signal-lens{width:55px;height:55px}.signal-field figcaption{flex-direction:column;align-items:flex-start}.field-controls{max-width:none;justify-content:flex-start}.hero-copy{padding-top:20px}}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;gap:40px;padding-top:35px}.hero h1{font-size:clamp(60px,10vw,84px)}.hero-copy{padding:0}.hero-description{font-size:17px;max-width:660px}.hero{background-position:62% bottom;background-image:linear-gradient(#0c3023aa,#0f372344 45%,#0c302377),url('./assets/appalachian-digital-forest-v41.webp')}.signal-field{max-width:580px}.signal-field figcaption{flex-direction:row;align-items:center}.lens-example{grid-template-columns:110px 1fr;min-height:280px;padding:20px;gap:20px}.lens-example h2{font-size:25px}.lens-example-visual{height:130px}.lens-overview-mark{font-size:26px}.signal-lens{width:60px;height:60px}.section-head h2{font-size:40px}.about-grid h2{font-size:45px}.page-hero h1,.case-hero h1{font-size:47px}.closing h2{font-size:clamp(51px,8vw,73px)}}
@media(max-width:520px){.hero h1{font-size:clamp(45px,10.8vw,60px);line-height:1.17}.hero h1 em{letter-spacing:-.055em}.hero-promise{font-size:22px}.hero-description{font-size:16px}.hero-label{font-size:8px}.hero-grid{gap:34px}.signal-lens{width:49px;height:49px}.signal-lens:before{inset:-5px}.node-label{font-size:9px;padding:3px 5px}.node-dot{width:12px;height:12px}.signal-node{padding:16px}.field-heading{font-size:7px}.signal-field figcaption{flex-wrap:wrap;gap:12px}.signal-field figcaption p{font-size:13px}.lens-example{grid-template-columns:1fr;gap:15px;padding:19px;min-height:0}.lens-example-visual{height:80px;width:110px;float:left}.lens-example h2{font-size:25px}.lens-example-copy>p:not(.eyebrow){font-size:14px}.lens-example .eyebrow{font-size:9px}.field-controls{flex-direction:row-reverse}.section-head h2{font-size:35px}.capability-list h3{font-size:24px}.method-grid h3{font-size:25px}.method-grid p{font-size:14px}.work-card h3{font-size:28px}.about-grid h2{font-size:39px}.page-hero h1,.case-hero h1{font-size:39px}.closing h2{font-size:clamp(42px,10vw,56px)}.closing-copy{font-size:16px}}
@media(prefers-reduced-motion:reduce){.signal-lens,.field-noise{transition:none!important}.signal-lens:hover{box-shadow:0 0 14px #ffce7780,0 0 33px #f652bf75}}
@media print{.hero{background:white!important}.hero h1,.hero-promise,.hero-description{color:black}.signal-field{display:none!important}}

/* Current work leads the portfolio; earlier evidence remains on its own routes. */
.current-work-card .work-visual{position:relative;overflow:hidden;height:auto;aspect-ratio:3/2}
.current-work-card .work-visual img{width:100%;height:100%;object-fit:cover}
.project-cover-name{position:absolute;left:7%;right:15%;bottom:8%;font-size:clamp(19px,2.2vw,31px);line-height:1.2;letter-spacing:-.035em;color:#eef5da}
.current-work-card:nth-child(2) .project-cover-name{color:#274b34}
.project-stage{display:block;margin-top:17px;font:11px/1.55 Arial,Helvetica,sans-serif;letter-spacing:.015em;color:#d5e5c5;border-top:1px solid #9eb68750;padding-top:13px}
.project-jump{position:static;display:flex;flex-direction:row;align-items:center;padding:0;border:0;flex-wrap:wrap;gap:12px 25px;margin-top:36px;font:12px/1.5 Arial,Helvetica,sans-serif}
.project-jump a{border-bottom:1px solid #97ab85;padding:7px 0;display:inline-flex;gap:20px}
.current-project{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding:65px 0 80px;border-top:1px solid #aebaa3;scroll-margin-top:115px;align-items:start}
.project-art{position:relative}.project-art img{display:block;width:100%;height:auto}.project-art>span{position:absolute;bottom:8%;left:7%;right:7%;color:#eef5da;font-size:clamp(18px,2vw,29px);line-height:1.2;letter-spacing:-.035em}
#recovery-passport .project-art>span{color:#274b34}
.project-copy h2{font-size:clamp(30px,3vw,44px);line-height:1.2;margin-bottom:20px}
.project-copy .eyebrow{font-size:10px}.project-copy p{font-size:15px;line-height:1.85;margin-bottom:20px;color:#3e5545}.project-copy .project-headline{font-size:23px;color:var(--ink);line-height:1.4;margin-bottom:20px}
.project-copy h3{font:700 11px/1.5 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.08em;margin:27px 0 9px;color:#506745}
.project-features{list-style:none;margin:25px 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}.project-features li{font:11px/1.5 Arial,Helvetica,sans-serif;border:1px solid #a9b89c;padding:7px 10px}
.project-copy .text-link{font:13px/1.6 Arial,Helvetica,sans-serif;display:inline-flex;margin-top:12px}
.earlier-work{border-top:1px solid #aebaa3}.earlier-work .work-card p{color:#53634e}.earlier-work .work-meta{color:#596c4c}
@media(max-width:1000px){.current-project{gap:35px;grid-template-columns:.8fr 1.2fr}}
@media(max-width:650px){.current-project{grid-template-columns:1fr;gap:30px;padding:45px 0 55px}.project-art{max-width:500px}.project-cover-name,.project-art>span{font-size:25px}.project-copy h2{font-size:33px}.project-jump{gap:8px 18px}.project-jump a{font-size:11px}}
