
:root{--bg:#06110e;--paper:#f3f0e7;--ink:#18211d;--green:#8dcc4a;--green2:#b6ec76;--teal:#58cdbf;--gold:#d5aa56;--muted:#68736d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:#f7fbf7;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(16px,3vw,48px);background:rgba(4,13,11,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:14px}.logo{width:104px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;background:#526674;border:1px solid rgba(88,205,191,.35);box-shadow:0 0 28px rgba(88,205,191,.09)}.logo img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.brand-copy{display:flex;flex-direction:column;line-height:1.04}.brand-copy strong{font-family:Georgia,serif;font-size:1.08rem;font-weight:500;letter-spacing:.08em}.brand-copy strong span{color:var(--green)}.brand-copy small{font-size:.54rem;letter-spacing:.13em;text-transform:uppercase;color:#bdc8c1;margin-top:5px}
nav{display:flex;gap:14px;align-items:center;font-size:.67rem;text-transform:uppercase;letter-spacing:.04em}nav a:hover{color:var(--green2)}.langs{display:flex;gap:5px}.langs a{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 8px}.langs a.active{background:var(--green);color:#07100c}.menu{display:none;background:none;border:0;color:white;font-size:1.4rem}
.hero{min-height:91vh;position:relative;display:flex;align-items:center;padding:95px 6vw 70px;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:url('../assets/maggie.jpg') center 42%/cover no-repeat}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,9,7,.98),rgba(2,9,7,.83) 35%,rgba(2,9,7,.18) 64%,rgba(2,9,7,.84)),linear-gradient(0deg,rgba(2,9,7,.98),transparent 46%)}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr .7fr;gap:45px;width:100%}.kicker{font-size:.68rem;letter-spacing:.18em;font-weight:800;color:var(--green2);text-transform:uppercase;margin:0 0 14px}h1,h2,h3{font-family:Georgia,serif;font-weight:500}.hero h1{font-size:clamp(3.5rem,7vw,7.4rem);line-height:.94;margin:.2rem 0}.hero h1 span{color:var(--green);font-style:italic}.lead{max-width:730px;color:#d3ddd7;font-size:1.05rem}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;padding:11px 18px;border-radius:999px;font-size:.74rem;text-transform:uppercase;font-weight:700}.primary{background:#587f32}.ghost{border:1px solid rgba(255,255,255,.35)}.tribute{align-self:center;border-left:1px solid rgba(213,170,86,.45);padding-left:24px}.tribute h2{font-size:4rem;color:var(--gold);font-style:italic;margin:0}
.section{padding:90px 6vw}.light{background:var(--paper);color:var(--ink)}.dark{background:linear-gradient(#07130f,#0a1a16)}.page-hero{padding:110px 6vw 65px;background:radial-gradient(circle at 80% 0,#173d30,transparent 43%),#07130f}.page-hero h1{font-size:clamp(3rem,6vw,6rem);line-height:.98;margin:0}.page-hero p{max-width:830px;color:#c6d1cb}.head{max-width:900px;margin-bottom:36px}.head h2{font-size:clamp(2.4rem,4.5vw,4.6rem);line-height:1.02;margin:0}.grid2,.grid3,.grid4{display:grid;gap:15px}.grid2{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}.card{padding:22px;border-radius:17px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.03)}.light .card{background:#fbf9f2;border-color:#d6d2c8}.card h3{font-size:1.4rem;margin:.3rem 0}.card p{font-size:.87rem;color:#b9c5be}.light .card p{color:#68736d}.signature{max-width:1000px;margin:auto;padding:32px;border-left:3px solid var(--gold);font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.25}.platform-card{cursor:pointer}.detail{max-height:0;overflow:hidden;transition:max-height .35s;color:#9fb0a7}.platform-card.open .detail{max-height:230px;margin-top:10px}.bio-shell{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.process{position:relative;min-height:600px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:radial-gradient(circle at 50% 40%,rgba(88,205,191,.13),transparent 44%),#081713}.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;background:#173d31;border:1px solid var(--gold)}.stream{position:absolute;width:175px;padding:13px;border-radius:14px;color:#fff;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14)}.stream strong{display:block;color:var(--green2)}.s1{left:5%;top:12%}.s2{left:5%;bottom:14%}.s3{right:5%;top:12%}.s4{right:5%;bottom:14%}.bio-panel{padding:26px;border-radius:24px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.03)}.pathway span{display:inline-block;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:5px 9px;margin:3px;font-size:.68rem}.memorial{text-align:center;padding:95px 6vw;background:#020705}.memorial img{width:min(560px,90vw);margin:0 auto 25px;border-radius:24px;border:1px solid rgba(213,170,86,.45)}.memorial h2{font-size:4rem;margin:.2rem 0}.memorial blockquote{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.5rem,2.6vw,2.4rem);max-width:800px;margin:25px auto}.footer{padding:30px 6vw;background:#020705;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px}.footer p{color:#d6b360;font-family:Georgia,serif;font-style:italic}
@media(max-width:1000px){nav{display:none;position:absolute;top:78px;left:18px;right:18px;background:#07130f;border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:20px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu{display:block}.hero-inner,.bio-shell{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.brand-copy small{display:none}.logo{width:84px;height:58px}.hero{padding-inline:20px;min-height:950px}.section,.page-hero,.memorial{padding-left:20px;padding-right:20px}.grid2,.grid3,.grid4{grid-template-columns:1fr}.footer{flex-direction:column}.process{min-height:820px}.s1{left:7%;top:7%}.s3{right:7%;top:29%}.s4{right:7%;bottom:29%}.s2{left:7%;bottom:7%}}


/* ===== V7.1 REAL INTERACTIVE BIOREFINERY ===== */
.bio-instructions{
 display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;
 margin:0 auto 26px;max-width:980px;padding:12px 18px;border:1px solid rgba(255,255,255,.12);
 border-radius:999px;background:rgba(255,255,255,.035);color:#b9c8c0;font-size:.78rem
}
.bio-instructions strong{color:var(--green2);letter-spacing:.09em;font-size:.67rem}
.interactive-shell{align-items:stretch}
.interactive-process{overflow:hidden;min-height:650px;isolation:isolate}
.route-layer{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.route{
 fill:none;stroke:rgba(255,255,255,.09);stroke-width:4;stroke-linecap:round;
 transition:stroke .35s ease,stroke-width .35s ease,filter .35s ease
}
.interactive-process[data-active="protein"] .route-protein,
.interactive-process[data-active="lipid"] .route-lipid,
.interactive-process[data-active="chitin"] .route-chitin,
.interactive-process[data-active="residual"] .route-residual{
 stroke:var(--green2);stroke-width:8;filter:drop-shadow(0 0 8px rgba(182,236,118,.6))
}
.bio-stream{
 cursor:pointer;z-index:5;transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
 text-align:left
}
.bio-stream:hover,.bio-stream.active{
 transform:scale(1.055);border-color:var(--green2);background:rgba(141,204,74,.11);
 box-shadow:0 0 32px rgba(141,204,74,.12)
}
.bio-stream small{display:block;color:#9eb0a7;font-size:.64rem;line-height:1.3;margin-top:3px}
.stream-icon{
 width:27px;height:27px;border-radius:50%;display:grid;place-items:center;float:left;margin-right:9px;
 border:1px solid rgba(255,255,255,.25);color:var(--gold);font-family:Georgia,serif
}
.interactive-core{z-index:4;box-shadow:0 0 60px rgba(141,204,74,.1)}
.interactive-core span{display:block;font-size:.57rem;color:#b7c5bd;letter-spacing:.05em;margin-top:5px}
.micro-node{
 position:absolute;z-index:3;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.1);
 background:rgba(255,255,255,.035);font-size:.61rem;color:#7f9188;
 transition:.28s ease;opacity:.52
}
.interactive-process[data-active="protein"] .micro-node[data-route="protein"],
.interactive-process[data-active="lipid"] .micro-node[data-route="lipid"],
.interactive-process[data-active="chitin"] .micro-node[data-route="chitin"],
.interactive-process[data-active="residual"] .micro-node[data-route="residual"]{
 opacity:1;color:#e9f4ed;border-color:rgba(182,236,118,.55);background:rgba(141,204,74,.09);
 box-shadow:0 0 18px rgba(141,204,74,.08);transform:translateY(-2px)
}
.mn1{left:25%;top:22%}.mn2{left:34%;top:34%}.mn3{left:25%;bottom:23%}.mn4{left:35%;bottom:35%}
.mn5{right:24%;top:22%}.mn6{right:34%;top:34%}.mn7{right:23%;bottom:23%}.mn8{right:31%;bottom:35%}
.dynamic-bio-panel{min-height:650px;transition:background .25s ease,border-color .25s ease}
.dynamic-bio-panel.flash{animation:bioFlash .36s ease}
@keyframes bioFlash{50%{border-color:rgba(182,236,118,.75);background:rgba(141,204,74,.07)}}
.bio-section-title{margin-top:22px;font-size:.64rem;font-weight:800;letter-spacing:.14em;color:var(--gold)}
.value-ladder{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:9px}
.value-ladder span{
 padding:7px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);
 background:rgba(255,255,255,.035);font-size:.7rem;color:#d7e1dc
}
.value-ladder b{color:var(--green2)}
.convergence-copy{font-size:.84rem}
.bio-secondary{
 display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px
}
.bio-secondary article{
 padding:20px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.025)
}
.bio-secondary article span{color:var(--gold);font-family:Georgia,serif}
.bio-secondary article h3{font-size:1.2rem;margin:.25rem 0}
.bio-secondary article p{font-size:.78rem;color:#aebcb4;margin:0}
.ip-note{
 margin-top:20px;border-left:2px solid var(--gold);padding-left:11px;color:#92a49b!important;
 font-size:.72rem!important
}
@media(max-width:1000px){
 .bio-secondary{grid-template-columns:repeat(2,1fr)}
 .interactive-process{min-height:720px}
}
@media(max-width:650px){
 .bio-secondary{grid-template-columns:1fr}
 .interactive-process{min-height:900px}
 .micro-node{display:none}
 .bio-instructions{border-radius:18px;justify-content:flex-start}
}


/* ===== V7.2 DYNAMIC ROUTE REFINEMENT ===== */
.route{
  stroke-width:2.2 !important;
  opacity:.55;
  stroke-dasharray:1;
  stroke-dashoffset:0;
}
.interactive-process[data-active="protein"] .route-protein,
.interactive-process[data-active="lipid"] .route-lipid,
.interactive-process[data-active="chitin"] .route-chitin,
.interactive-process[data-active="residual"] .route-residual{
  stroke:var(--green2) !important;
  stroke-width:3.6 !important;
  opacity:1;
  filter:drop-shadow(0 0 4px rgba(182,236,118,.42)) !important;
  animation:routeTravel .72s ease-out both;
}
@keyframes routeTravel{
  0%{
    stroke-dasharray:1 1;
    stroke-dashoffset:1;
    opacity:.15;
  }
  45%{opacity:.75}
  100%{
    stroke-dasharray:1 1;
    stroke-dashoffset:0;
    opacity:1;
  }
}
.route-pulse{
  position:absolute;
  width:9px;height:9px;border-radius:50%;
  background:var(--green2);
  box-shadow:0 0 10px rgba(182,236,118,.8);
  z-index:4;
  opacity:0;
  pointer-events:none;
}
.interactive-process.pulse-protein .route-pulse{animation:pulseProtein .72s ease-out}
.interactive-process.pulse-lipid .route-pulse{animation:pulseLipid .72s ease-out}
.interactive-process.pulse-chitin .route-pulse{animation:pulseChitin .72s ease-out}
.interactive-process.pulse-residual .route-pulse{animation:pulseResidual .72s ease-out}
@keyframes pulseProtein{
  0%{opacity:0;left:49.5%;top:49.5%}
  10%{opacity:1}
  100%{opacity:0;left:16.5%;top:18%}
}
@keyframes pulseLipid{
  0%{opacity:0;left:49.5%;top:49.5%}
  10%{opacity:1}
  100%{opacity:0;left:16.5%;top:81%}
}
@keyframes pulseChitin{
  0%{opacity:0;left:49.5%;top:49.5%}
  10%{opacity:1}
  100%{opacity:0;left:82.5%;top:18%}
}
@keyframes pulseResidual{
  0%{opacity:0;left:49.5%;top:49.5%}
  10%{opacity:1}
  100%{opacity:0;left:82.5%;top:81%}
}

/* V7.3 CONTACT */
.contact-hero p{max-width:760px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:start}
.contact-person{padding:32px;border-radius:22px;background:#fff;border:1px solid #d8d4c9;box-shadow:0 18px 50px rgba(0,0,0,.06)}
.contact-person h2{font-size:2.8rem;margin:.15rem 0}.contact-person h3{font-family:Arial,Helvetica,sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:#68736d}
.contact-company{font-family:Georgia,serif;font-size:1.25rem;color:#587f32}.contact-lines{margin-top:26px;border-top:1px solid #dedad0}
.contact-lines a{display:block;padding:15px 0;border-bottom:1px solid #dedad0}.contact-lines span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#68736d}
.contact-lines strong{font-size:.96rem}.contact-reasons{display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact-reasons article{padding:20px;border-radius:16px;background:#fbf9f2;border:1px solid #d8d4c9}
.contact-reasons article>span{color:#b1863e;font-family:Georgia,serif}.contact-reasons h3{margin:.3rem 0;font-size:1.2rem}.contact-reasons p{font-size:.82rem;color:#68736d}
.contact-closing{text-align:center}.contact-closing h2{font-size:clamp(2rem,4vw,4rem);max-width:850px;margin:0 auto 25px}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr}.contact-reasons{grid-template-columns:1fr}}
