:root{--g:#1b4332;--a:#52b788;--navy:#112233;--bg:#fff;--ink:#333;--card:#fff;--news:#eef7f2;--shadow:rgba(0,0,0,.1);--muted:#5b6b66;--now:#e09f1f;--h:#1b4332;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0e1a16;--ink:#e3ece8;--card:#16261f;--news:#12211b;--shadow:rgba(0,0,0,.4);--muted:#9db3aa;--h:#52b788}}
:root[data-theme="dark"]{--bg:#0e1a16;--ink:#e3ece8;--card:#16261f;--news:#12211b;--shadow:rgba(0,0,0,.4);--muted:#9db3aa;--h:#52b788}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:4rem}
body{margin:0;font-family:"Segoe UI",Arial,sans-serif;line-height:1.6;color:var(--ink);background:var(--bg)}
:focus-visible{outline:3px solid var(--now);outline-offset:2px}
a{color:var(--h)}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--navy);color:#fff}
.navin{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:10px 20px;max-width:1800px;margin:0 auto}
.brand{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
#links{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
#links a{color:#fff;text-decoration:none;font-size:.88rem;padding:6px 10px;border-radius:5px;white-space:nowrap}
#links a:hover{background:rgba(255,255,255,.12)}
#links a.on{background:var(--a);color:#0b1d14;font-weight:600}
.menu{display:none;background:transparent;color:#fff;border:1px solid #fff;border-radius:6px;padding:6px 14px;font:inherit;cursor:pointer}
@media (max-width:1350px){.menu{display:block}#links{display:none;flex-direction:column;width:100%}#links.open{display:flex}.navin{display:flex;flex-wrap:wrap;justify-content:space-between}#links a{padding:10px}}
header.hero{position:relative;overflow:hidden;background:linear-gradient(rgba(9,26,40,.66),rgba(12,40,52,.58)),url('img/hero.jpg') center 60%/cover #12394a;display:flex;justify-content:center;text-align:center;color:#fff;padding:90px 20px 120px}
header.hero svg{position:absolute;left:0;bottom:0;width:100%;height:70px;opacity:.35}
header.hero>div{position:relative;max-width:60rem}header.hero p{max-width:46rem;margin-left:auto;margin-right:auto}
header.page{background:linear-gradient(160deg,#0b1d2e,#12394a 60%,#1b4332);color:#fff;padding:48px 10% 40px}
header.page p{margin:.5rem 0 0;max-width:46rem;opacity:.9}
h1{font-size:3.2rem;line-height:1.12;margin:0 0 1rem}
header.page h1{font-size:2.6rem;margin:0}
h2{font-size:2rem;margin:0 0 1rem;color:var(--h)}
h3{margin:0 0 .4rem}
header.hero p{font-size:1.2rem;margin:0 auto 1.5rem}
.btn{background:var(--a);padding:12px 20px;border-radius:6px;color:#0b1d14;font-weight:600;text-decoration:none;margin:5px;display:inline-block;border:0;font:inherit;font-weight:600;cursor:pointer}
.status{margin:2rem auto 0;padding:14px 18px;background:rgba(255,255,255,.12);border-left:5px solid var(--now);border-radius:6px;text-align:left;max-width:34rem}
.status b{display:block}
section{padding:60px 10%}
section>p,section>ul,section>ol{max-width:48rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.card{background:var(--card);padding:20px;border-radius:12px;box-shadow:0 2px 10px var(--shadow)}
.card p{margin:0;color:var(--muted)}
.card.stack{margin-bottom:16px}
a.card{text-decoration:none;color:inherit;display:block}
a.card h3{color:var(--h)}
@media (min-width:1400px){.cards.six{grid-template-columns:repeat(6,1fr);gap:16px}.cards.six .card{padding:18px 16px}.cards.six h3{font-size:1.05rem}.cards.six p{font-size:.92rem}}
.news{background:var(--news)}
.timeline{border-left:4px solid var(--a);padding-left:22px;margin:0;list-style:none}
.timeline li{margin:0 0 26px;position:relative}
.timeline li::before{content:"";position:absolute;left:-33px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:4px solid var(--a)}
.timeline li.done::before{background:var(--a)}
.timeline li.now::before{background:var(--now);border-color:var(--now);box-shadow:0 0 0 6px rgba(224,159,31,.28)}
.timeline time{font-weight:600;color:var(--muted);font-size:.95rem}
.timeline h3{font-size:1.2rem}
.timeline p{margin:0;color:var(--muted);max-width:44rem}
.tag{font-size:.78rem;font-weight:600;padding:1px 10px;border-radius:99px;border:1px solid currentColor;margin-left:8px;vertical-align:middle;color:var(--muted)}
.timeline li.now .tag{color:var(--now)}.timeline li.next .tag{color:var(--h)}
table{border-collapse:collapse;width:100%;max-width:60rem;background:var(--card);box-shadow:0 2px 10px var(--shadow);border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:12px 16px;border-bottom:1px solid rgba(128,128,128,.25)}
th{background:var(--g);color:#fff}
.tw{overflow-x:auto}
.contact{background:var(--g);color:#fff}
.contact h2{color:#fff}.contact a{color:#fff}
form{max-width:34rem}
label{display:block;font-weight:600;margin-top:8px}
form input,form textarea{width:100%;padding:12px;margin:6px 0;border-radius:6px;border:none;font:inherit;color:#222}
.note{font-size:.9rem;opacity:.85}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:40px;align-items:start}
footer{background:#081c15;color:#fff;text-align:center;padding:20px;font-size:.92rem}
footer a{color:var(--a)}
@media (max-width:768px){h1{font-size:2.4rem}header.page h1{font-size:2rem}section{padding:44px 6%}header.page{padding:36px 6% 30px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.strip{background:var(--g);color:#fff;text-align:center;padding:8px 16px;display:flex;gap:6px 22px;justify-content:center;flex-wrap:wrap;font-size:.95rem}
.strip span{opacity:.9}
header.hero p.big{font-size:1.7rem;font-weight:700;line-height:1.3;margin:0 auto 1.2rem}
header.hero p.big span{display:block;font-size:1.25rem;font-weight:500;color:#9fe0bf;margin-top:.3rem}
@media (max-width:768px){header.hero p.big{font-size:1.3rem}header.hero p.big span{font-size:1.05rem}}
footer .fm{max-width:52rem;margin:0 auto 10px;font-size:1rem}footer .fs{margin:0;opacity:.8;font-size:.85rem}
.copy{background:var(--news);border-left:5px solid var(--a);padding:16px 20px;border-radius:8px;max-width:52rem;margin:0 0 1.2rem}
.copy p{margin:0 0 .8rem}.copy p:last-child{margin:0}
.src{font-size:.85rem;color:var(--muted);max-width:52rem}
.ask{background:var(--g);color:#fff;padding:20px 24px;border-radius:12px;max-width:52rem}
.ask h3{color:#fff}.ask p{margin:0}
h2.sub{font-size:1.5rem;margin-top:2.2rem}
section h2+h2.sub{margin-top:0}
img.diagram{max-width:100%;height:auto;border-radius:8px;display:block;background:#fff}
details{background:var(--card);border-radius:12px;box-shadow:0 2px 10px var(--shadow);margin:0 0 12px;max-width:60rem}
details summary{cursor:pointer;padding:16px 20px;font-weight:600;font-size:1.1rem;color:var(--h)}
details .in{padding:0 20px 18px}
details .in p{max-width:52rem}
.est{list-style:none;padding:0;margin:.6rem 0}.est li{margin:.2rem 0}
.pet{display:none}
.pet.on{display:block}
a.pet-link{display:none}a.pet-link.on{display:inline-block}
tr.cat td{background:var(--news);font-weight:700;color:var(--h)}
table.docs td:nth-child(3){white-space:nowrap}
.btn-nav{display:none;background:var(--a);color:#0b1d14;font-weight:600;text-decoration:none;padding:6px 14px;border-radius:6px;margin-left:auto;margin-right:8px}
@media (max-width:1350px){.btn-nav{display:block}}
.panel{background:var(--card);border-left:6px solid var(--now);box-shadow:0 2px 10px var(--shadow);border-radius:8px;padding:18px 22px;max-width:60rem}
.panel h3{margin:0 0 .4rem}
.panel p{margin:0}
.lead{font-size:1.15rem;max-width:52rem}
.full{max-width:60rem}
ol.q{max-width:52rem}ol.q li{margin:.35rem 0}
header.hero h1,header.hero p{text-shadow:0 2px 12px rgba(0,0,0,.45)}
label .hint{font-weight:400;font-size:.88rem;opacity:.85}
header.hero p.credit{position:absolute;left:0;right:0;bottom:6px;max-width:none;margin:0;padding:0 12px;text-align:center;font-size:.75rem;line-height:1.35;opacity:.95;text-shadow:0 1px 4px rgba(0,0,0,.7)}
header.hero p.credit a{color:#fff}
header.page.photo{position:relative;padding:72px 10% 64px;min-height:320px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}
header.page.bay{background:linear-gradient(rgba(9,26,40,.60),rgba(12,40,52,.52)),url('img/header-bay.jpg') center/cover #12394a}
header.page.action{background:linear-gradient(90deg,rgba(9,26,40,.72) 0%,rgba(9,26,40,.35) 45%,rgba(9,26,40,.12) 100%),url('img/header-action.jpg') center bottom/cover #12394a}
header.page.proposed{background:linear-gradient(90deg,rgba(9,26,40,.70) 0%,rgba(9,26,40,.42) 50%,rgba(9,26,40,.24) 100%),url('img/header-proposed.jpg') center/cover #12394a}
header.page.plant{background:linear-gradient(90deg,rgba(9,26,40,.70) 0%,rgba(9,26,40,.42) 50%,rgba(9,26,40,.24) 100%),url('img/header-plant.jpg') center/cover #12394a}
header.page.process{background:linear-gradient(90deg,rgba(9,26,40,.70) 0%,rgba(9,26,40,.42) 50%,rgba(9,26,40,.24) 100%),url('img/header-process.jpg') center/cover #12394a}
header.page.place{background:linear-gradient(90deg,rgba(9,26,40,.70) 0%,rgba(9,26,40,.42) 50%,rgba(9,26,40,.24) 100%),url('img/header-place.jpg') center/cover #12394a}
header.page.docs{background:linear-gradient(90deg,rgba(9,26,40,.70) 0%,rgba(9,26,40,.42) 50%,rgba(9,26,40,.24) 100%),url('img/header-docs.jpg') center/cover #12394a}
header.page.news{background:linear-gradient(90deg,rgba(9,26,40,.70) 0%,rgba(9,26,40,.42) 50%,rgba(9,26,40,.24) 100%),url('img/header-news.jpg') center/cover #12394a}
header.page.contact{background:linear-gradient(90deg,rgba(9,26,40,.70) 0%,rgba(9,26,40,.42) 50%,rgba(9,26,40,.24) 100%),url('img/header-contact.jpg') center/cover #12394a}
header.page.photo.action{min-height:400px}
header.page.contact{background-position:center 22%}
header.page.proposed{background-position:center 40%}
@media (max-width:768px){header.page.photo{padding:48px 6% 52px;min-height:240px}header.page.photo.action{min-height:300px}}
