:root{--blue:#087fbd;--deep:#064f73;--green:#4c8d2b;--lime:#7aaa3c;--ink:#18333d;--muted:#60757d;--paper:#fff;--light:#f2f8f8;--sand:#f5efe5;--line:#d7e5e7;--shadow:0 18px 45px rgba(8,62,79,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.62;background:#fff}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.topbar .container{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px;min-width:275px}.brand-logo{width:110px;height:auto;object-fit:contain}.brand-name{font-size:26px;font-weight:800;letter-spacing:.04em;color:var(--blue);line-height:1}.brand-sub{display:block;color:var(--deep);font-size:10px;line-height:1.2;max-width:245px;margin-top:4px}.nav{display:flex;align-items:center;gap:17px;font-size:13px;font-weight:700}.nav a{padding:8px 0}.nav a:hover,.nav .active{color:var(--green)}.btn{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:24px;padding:11px 19px;font-weight:700;box-shadow:0 7px 18px rgba(76,141,43,.2)}.btn.secondary{background:#fff;color:var(--deep);border:1px solid #c7dde2;box-shadow:none}.mobile{display:none}.hero{min-height:660px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(3,42,56,.82) 0%,rgba(3,42,56,.55) 44%,rgba(3,42,56,.12) 75%),url('../images/aquaponic_01.jpg') center/cover}.hero-inner{padding:95px 0;max-width:760px}.eyebrow,.kicker{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--green)}.hero .eyebrow{color:#d8efcd}.hero h1{font-size:76px;line-height:.95;margin:17px 0 10px;letter-spacing:.02em;color:#fff}.hero h2{font-size:35px;line-height:1.12;margin:0 0 20px;color:#fff;max-width:760px}.hero p{font-size:19px;max-width:660px}.hero-actions{display:flex;gap:12px;margin-top:30px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);background:#f7fbfb;border-bottom:1px solid var(--line)}.pillar{padding:25px 6%;display:flex;align-items:center;gap:17px;border-right:1px solid var(--line)}.pillar:last-child{border-right:0}.icon{width:54px;height:54px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:25px;flex:none}.pillar:nth-child(2) .icon{background:var(--green)}.pillar h3{margin:0;font-size:21px}.pillar p{margin:2px 0 0;color:var(--muted);font-size:14px}.section{padding:78px 0}.section.alt{background:var(--light)}.section.sand{background:var(--sand)}h1,h2,h3{color:var(--deep);line-height:1.15}h2{font-size:39px;margin:8px 0 20px}h3{font-size:21px;margin:0 0 9px}.lead{font-size:18px;color:#405d66}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px;box-shadow:0 8px 25px rgba(12,60,75,.05)}.photo{border-radius:18px;overflow:hidden;background:#e8f0ef;box-shadow:var(--shadow)}.photo img{width:100%;height:100%;min-height:350px;object-fit:cover;display:block}.caption{font-size:12px;color:var(--muted);margin-top:8px}.hero-page{padding:82px 0 62px;background:linear-gradient(135deg,#eef8f8,#fff)}.hero-page h1{font-size:56px;margin:10px 0}.hero-page p{max-width:780px}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:30px}.gallery figure{margin:0;border-radius:14px;overflow:hidden;background:#eee;min-height:250px;position:relative}.gallery figure:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;min-height:250px;object-fit:cover;display:block}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.68));color:#fff;font-size:12px}.schema{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.schema img{display:block;width:100%;height:auto}.schema-text{max-width:980px;margin:30px auto 0}.schema-text p{margin:0 0 16px}.quick-cycle{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:26px 0}.quick-cycle span{background:#eaf5f7;border:1px solid #cde4e8;border-radius:22px;padding:9px 14px;font-weight:700;color:var(--deep)}.quick-cycle b{align-self:center;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:24px;border-radius:14px;background:#f7fbfb;border:1px solid var(--line);text-align:center}.stat strong{display:block;font-size:23px;color:var(--blue);margin-bottom:5px}.feature-img{height:420px}.feature-img img{height:420px}.mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mosaic img{width:100%;height:250px;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}.mosaic img.wide{grid-column:span 2}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px}.notice{padding:16px;background:#fff5d9;border:1px solid #ead8a5;border-radius:10px;color:#6d5a28}.footer{background:var(--deep);color:#d8eaf0;padding:48px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-logo{width:120px;background:#fff;border-radius:8px;padding:5px;margin-bottom:12px}.footer a:hover{color:#fff}.credits{border-top:1px solid rgba(255,255,255,.18);margin-top:30px;padding-top:15px;font-size:12px;color:#a9cbd5}.quote{font-size:26px;line-height:1.35;color:var(--deep);font-weight:700;border-left:5px solid var(--green);padding-left:22px}.taglist{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tag{padding:7px 11px;background:#e8f3e7;border-radius:18px;color:#356b25;font-size:13px;font-weight:700}@media(max-width:980px){.nav{display:none}.mobile{display:block}.grid-3{grid-template-columns:1fr 1fr}.grid-2,.contact{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-row:auto}.mosaic{grid-template-columns:1fr 1fr}.hero h1{font-size:56px}.hero h2{font-size:29px}.pillars{grid-template-columns:1fr}.pillar{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:600px){.brand-logo{width:62px}.brand-name{font-size:21px}.brand-sub{font-size:8px}.hero{min-height:590px}.hero h1{font-size:46px}.hero h2{font-size:24px}.hero-actions{flex-direction:column;align-items:flex-start}.grid-3,.stats,.gallery,.mosaic{grid-template-columns:1fr}.mosaic img.wide{grid-column:auto}.section{padding:56px 0}h2{font-size:31px}.footer-grid{grid-template-columns:1fr}.feature-img,.feature-img img{height:auto;min-height:280px}.hero-page h1{font-size:43px}}
/* V3 research emphasis */
.research-chain{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:28px 0}.research-chain span{background:#eef7f3;border:1px solid #cfe5dc;padding:12px 16px;border-radius:999px;font-weight:700}.research-chain b{color:#1975a5}.status-box{border-left:5px solid #218a4a;background:#f4faf6;padding:18px 22px;margin:22px 0}.system-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.system-placeholder{border:2px dashed #8ab7a0;border-radius:16px;padding:30px;background:#f7fbf8}.method-step{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;margin:22px 0}.method-no{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#1679a8;color:white;font-weight:800}.mini-note{font-size:.92rem;color:#52635b}.hero.research-hero{background-image:linear-gradient(90deg,rgba(3,42,50,.82),rgba(3,42,50,.36)),url('assets/images/aquaponic_01.jpg')}.caption-label{display:inline-block;background:#eef7f3;padding:5px 9px;border-radius:5px;font-weight:700;color:#276343}@media(max-width:760px){.system-pair{grid-template-columns:1fr}.method-step{grid-template-columns:50px 1fr}}

/* Responsive stability fixes — 2026-09-25 */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
.feature-img{display:block;width:100%;max-width:100%;object-fit:cover;border-radius:14px}
.grid-2>*,.grid-3>*,.system-pair>*,.footer-grid>*{min-width:0}
p,h1,h2,h3,.lead,.caption{overflow-wrap:anywhere}

@media(max-width:980px){
  .container{width:min(92%,760px)}
  .topbar .container{min-height:74px}
  .brand{min-width:0;max-width:calc(100% - 90px)}
  .nav{max-height:calc(100vh - 74px);overflow-y:auto}
  .feature-img{height:auto;max-height:none}
  .photo img{min-height:0}
}

@media(max-width:600px){
  body{font-size:16px;line-height:1.55}
  .container{width:90%}
  .section{padding:44px 0}
  h1,.hero-page h1{font-size:clamp(2rem,10vw,2.7rem);line-height:1.08}
  h2{font-size:clamp(1.65rem,8vw,2.05rem)}
  h3{font-size:1.2rem}
  .lead{font-size:1.05rem}
  .card,.system-placeholder{padding:20px}
  .grid-2,.grid-3,.system-pair,.stats,.gallery,.mosaic,.contact,.footer-grid{grid-template-columns:minmax(0,1fr)}
  .feature-img,.feature-img img,.mosaic img,.gallery img,.schema img{width:100%;max-width:100%;height:auto;min-height:0}
  .mosaic img{aspect-ratio:4/3;object-fit:cover}
  .schema{padding:8px;border-radius:12px;overflow:hidden}
  .research-chain{justify-content:flex-start}
  .research-chain span{max-width:100%}
  .status-box{padding:16px;margin:18px 0}
  .footer-logo{width:110px}
}

/* News page */
.news-list{display:flex;flex-direction:column;gap:26px}.news-item{display:grid;grid-template-columns:minmax(260px,36%) minmax(0,1fr);gap:30px;align-items:center;padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px rgba(12,60,75,.05)}.news-image{border-radius:12px;overflow:hidden}.news-image img{display:block;width:100%;height:240px;object-fit:cover}.news-copy time{display:block;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.news-copy h2{font-size:28px;margin:0 0 12px}.news-copy p{margin:0}.news-placeholder{padding:24px;border:2px dashed #b8d1d5;border-radius:14px;background:#f7fbfb;color:var(--muted)}.news-placeholder p{margin:6px 0 0}@media(max-width:760px){.news-item{grid-template-columns:1fr;padding:14px;gap:18px}.news-image img{height:auto;aspect-ratio:16/10}.news-copy h2{font-size:24px}}

/* Home aquaponic cycle: preserve full diagram without cropping */
.cycle-intro-img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center;display:block;background:#fff}

/* AQUAFLY V5.1: compact footer, soft gray navigation on subpages */
.footer{padding-top:34px;padding-bottom:12px}
.credits{margin-top:20px;padding-top:11px}
body.subpage .topbar{background:#e9eeee;border-bottom-color:#d2dddd;backdrop-filter:none}
body.subpage .nav a{color:#18333d}
body.subpage .nav a:hover,body.subpage .nav a.active{color:#276a27}
body.subpage .nav a:focus-visible{outline:2px solid #276a27;outline-offset:4px}
@media(max-width:980px){body.subpage .nav{background:#e9eeee}}

/* V5.2: uniform gray header and logo backdrop on subpages */
body.subpage .topbar,body.subpage .topbar .container,body.subpage .brand{background-color:#e9eeee!important;background-image:none!important;}
body.subpage .brand-logo{background:#e9eeee;}

/* V5.4 Legal pages */
.legal-footer-links{display:flex;justify-content:center;gap:15px;align-items:center;padding:8px 15px 0;flex-wrap:wrap}.legal-footer-links a{color:#d8eaf0;text-decoration:underline;text-underline-offset:3px}.legal-card{max-width:980px;margin:18px auto 0}.legal-card h2{font-size:1.45rem;margin:28px 0 10px}.legal-card h2:first-child{margin-top:0}.legal-card p{max-width:85ch}

/* V5.6: robust footer legal links alignment */
.footer .legal-footer-links{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;margin:0 auto;text-align:center;gap:15px;flex-wrap:wrap;}

/* V6.7: footer logo aligned beside introductory text on all pages */
.footer-intro{display:flex;align-items:center;gap:20px;min-width:0}
.footer-intro .footer-logo{width:115px;flex:0 0 115px;height:auto;margin:0;display:block}
.footer-intro p{margin:0;min-width:0;line-height:1.55}
.footer-grid{align-items:start}
@media(max-width:600px){.footer-intro{gap:14px;align-items:flex-start}.footer-intro .footer-logo{width:86px;flex-basis:86px}}
