/* Phone layouts: readable content, touch controls and full-screen detail views. */
:root{--header-height:96px}
html{scroll-padding-top:calc(var(--header-height) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,summary,input,select,textarea{touch-action:manipulation}
[hidden]{display:none!important}
img{height:auto}
.mobile-menu a,.menu-toggle{touch-action:manipulation}
.bar-fill{display:block}
.table-scroll,.detail-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-scroll:focus-visible,.detail-table-wrap:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.table-scroll-hint{font-size:12px!important;color:#596d61;margin-bottom:12px!important}
.image-original{font-size:12px;letter-spacing:0;text-decoration:underline;min-height:44px;display:flex;align-items:center;flex-shrink:0}
@media(max-width:960px){
 :root{--header-height:calc(72px + env(safe-area-inset-top,0px))}
 body{font-size:16px;line-height:1.65}
 .wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .section{padding-top:56px;padding-bottom:56px}
 h2{font-size:clamp(32px,8.5vw,48px);line-height:1.13;letter-spacing:-.045em;overflow-wrap:break-word}
 h3{line-height:1.25}
 .eyebrow{font-size:11px;letter-spacing:.1em;line-height:1.6}
 .section-top{gap:16px;margin-bottom:26px}
 .body-copy,.about-grid .body-copy,.ecosystem-intro .body-copy,.market-heading p,.partner-heading p{font-size:16px;line-height:1.75}
 .lead,.ecosystem-intro .lead{font-size:23px;line-height:1.45}
 .source-note,.detail-note{font-size:12px;line-height:1.65;color:#596d61}
 .button{font-size:14px;min-height:54px;padding:15px 20px;gap:20px;line-height:1.5;text-align:left}
 .text-link{font-size:14px;min-height:48px;gap:18px;line-height:1.5}
 .site-header{height:var(--header-height);padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));gap:12px}
 .site-header .brand{flex-shrink:0}.site-header .brand img{height:48px;width:50px}
 .header-cta{font-size:13px;min-height:48px;padding:10px 14px;gap:14px;white-space:nowrap;margin-left:auto}
 .menu-toggle{width:44px;height:48px;flex-shrink:0;padding:10px;align-items:center;justify-content:center;gap:6px}
 .menu-toggle span{width:24px;height:2px;transition:transform .2s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .mobile-menu{top:var(--header-height);bottom:0;height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain;padding:18px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));box-shadow:none;border-top:1px solid var(--line)}
 .mobile-menu a{font-size:19px;min-height:52px;padding:12px 8px;line-height:1.5;border-bottom:1px solid var(--line)}
 .mobile-menu .mobile-join{font-size:17px;margin-bottom:8px}
 .hero{height:auto;min-height:0;max-height:none}
 .hero-content{height:auto;min-height:min(680px,calc(100svh - var(--header-height)));padding-top:34px;padding-bottom:0}
 .hero h1{font-size:clamp(34px,10.8vw,64px);line-height:1.08;margin-top:26px;letter-spacing:-.055em}
 .hero-content>p{font-size:16px;line-height:1.7;margin-top:24px;color:#f0f2ef}
 .hero-actions{width:100%;display:grid;grid-template-columns:1fr;gap:12px;margin-top:28px;margin-bottom:30px}
 .hero-actions .button{width:100%;min-width:0}
 .hero-bottom{font-size:10px;padding:16px 0;gap:16px;line-height:1.6}
 .hero-bottom a{font-size:12px;min-height:44px;align-items:center;max-width:170px}
 .hero-bottom>span{max-width:100px}
 .hero .eyebrow{font-size:10px}.hero .orange-dot{margin-right:7px}
 .stat-strip{gap:24px 14px;padding-top:30px;padding-bottom:30px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat-strip>div{padding-left:16px;min-width:0}.stat-strip strong{font-size:clamp(28px,8vw,40px);white-space:nowrap}.stat-strip strong span{font-size:20px}.stat-strip p{font-size:12px;line-height:1.6;max-width:none;color:#59695f}
 .about-points p{font-size:15px;color:#59695f}.about-points strong{font-size:17px}.about-points>div{gap:17px}.about-points>div>span{font-size:12px}
 .credentials summary{font-size:15px;min-height:48px;align-items:center;gap:16px}.credentials ul{font-size:15px;line-height:1.8}
 .livestock-line{width:100%;height:auto;margin-top:30px}
 .ecosystem-banner{height:360px}.ecosystem-banner>.wrap{padding-top:34px;padding-bottom:30px}.ecosystem-banner h2{font-size:clamp(32px,8.5vw,48px);line-height:1.15}.ecosystem-banner p{font-size:15px;line-height:1.7;margin-top:22px}
 .ecosystem-intro{display:block}.ecosystem-intro .body-copy{margin-top:18px;max-width:560px}
 .filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;gap:8px;padding:4px 2px 12px;margin:24px 0;scrollbar-width:thin}
 .filter{font-size:13px;min-height:46px;flex-shrink:0;white-space:nowrap;padding:10px 16px}.filter small{font-size:11px}
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
 .project-image{aspect-ratio:1.5;margin-bottom:16px}.project-image .project-logo{max-width:70px;max-height:60px;left:12px;top:12px}.project-image .project-arrow{width:40px;height:40px;right:12px;bottom:12px;font-size:24px}
 .project-card h3{font-size:22px;line-height:1.25;letter-spacing:-.025em}.project-card p{font-size:15px;line-height:1.6}.project-status{font-size:11px;line-height:1.5;min-height:0;letter-spacing:.025em}.project-status:before{flex-shrink:0}
 .trade-dashboard{padding:24px 20px;gap:28px}.trade-info h3{font-size:30px}.trade-info p{font-size:15px}.trade-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trade-tabs button{font-size:14px;min-height:46px;padding:10px 12px}.trade-row header{font-size:14px}.trade-row strong{font-size:25px}.trade-chart{gap:22px}.market-footnote{font-size:12px;line-height:1.75;color:#c2d4e3}
 .opportunities>button{grid-template-columns:24px 1fr;gap:10px 12px;padding:24px 28px 24px 0;align-items:start}.opportunities strong{font-size:30px;line-height:1.2}.opportunities button>span:nth-of-type(2){grid-column:2;font-size:15px;line-height:1.65}.opportunities small{font-size:12px;display:block;margin-top:6px;color:#c0d2e1}.opportunities b{font-size:24px;top:24px}.small-index{font-size:11px;padding-top:4px}
 .geo-count{gap:18px}.geo-count span{font-size:14px;line-height:1.6}.geo-count strong{font-size:44px}.region-button{font-size:15px;line-height:1.5;min-height:64px;padding:16px 0;gap:10px}.region-button strong{font-size:20px}
 .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px;margin-top:30px}.team-card h3{font-size:17px;line-height:1.35;margin-top:14px}.team-card p{font-size:13px;line-height:1.7;color:#52675a}.team-ai-link{font-size:14px;min-height:48px;margin-top:10px}
 .partner-label{font-size:12px;line-height:1.6;margin-top:34px}.partner-grid,#strategic-partners{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-logo{height:106px;padding:20px}
 .press-track{gap:18px;margin-top:28px}.press-card{min-width:0;flex-basis:86%}.press-card h3{font-size:18px;line-height:1.5}.press-card .press-source{font-size:11px;line-height:1.6;color:#756241}.press-card .text-link{font-size:14px}.carousel-controls button{height:46px;width:46px}
 .presentation-section{display:block;padding-top:42px;padding-bottom:42px}.presentation-section h2{font-size:32px}.presentation-section p{font-size:15px}.presentation-actions{margin-top:24px;gap:10px}.presentation-actions .button{width:100%}
 .contact-content{padding-top:50px;padding-bottom:44px}.contact-content h2{font-size:clamp(32px,9vw,50px);line-height:1.15}.contact-topics{font-size:11px;gap:12px 20px}.contact-grid{grid-template-columns:1fr;gap:28px;padding-top:26px;margin-top:30px}.contact-grid h3{font-size:21px;line-height:1.4}.contact-grid .micro{font-size:11px}.contact-grid p{font-size:16px}.contact-grid a:not(.button){font-size:15px;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}.contact-grid .button{font-size:14px;width:100%}
 .footer{gap:20px 12px;padding-top:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.footer .brand span{font-size:9px}.footer .back-top{width:48px;height:48px}.footer>a:nth-of-type(2){font-size:13px;min-height:44px;display:flex;align-items:center}.footer>span{font-size:12px}.footer .text-link{display:none}
 dialog{width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100dvh;margin:0;padding:0;border-radius:0;overscroll-behavior-y:contain;scroll-padding-top:calc(80px + env(safe-area-inset-top));box-shadow:none}
 .dialog-toolbar{min-height:calc(64px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 16px 10px;gap:12px;font-size:11px;letter-spacing:.04em;flex-wrap:nowrap}
 .close-dialog{width:44px;height:44px;font-size:32px;background:#f4f4ef;border-radius:50%}
 .project-detail-header{padding:28px 20px 22px}.project-detail-header h2{font-size:32px;line-height:1.15;overflow-wrap:anywhere}.project-detail-header .tagline{font-size:16px}.project-detail-body{padding:24px 20px calc(36px + env(safe-area-inset-bottom))}.project-detail-body p,.detail-list{font-size:16px;line-height:1.75}.project-detail-body .detail-note{font-size:12px}.detail-lead{font-size:20px!important}.detail-grid{gap:12px}.detail-stat{padding:20px}.detail-stat strong{font-size:28px}.detail-stat span{font-size:14px}.detail-list li{margin-bottom:10px}.detail-footer{flex-wrap:wrap;gap:18px}.detail-footer .text-link{font-size:14px}.project-detail-body table{font-size:14px}.project-detail-body td,.project-detail-body th{padding:12px}.detail-table-wrap table{min-width:550px}.detail-table-wrap caption{font-size:13px}
 .market-dialog-intro{padding:26px 20px 20px}.market-dialog-intro h2{font-size:32px}.market-dialog-intro p{font-size:15px}.market-tabs{top:calc(64px + env(safe-area-inset-top));display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:0 20px}.market-tabs button{font-size:13px;min-height:46px;padding:10px 0;line-height:1.5}
 #market-content{padding:12px 20px calc(36px + env(safe-area-inset-bottom))}.market-tab-panel h2{font-size:28px;line-height:1.2}.market-tab-panel h3{font-size:24px;line-height:1.25}.market-tab-panel h4{font-size:19px;line-height:1.35}.market-tab-panel p,.market-tab-panel li{font-size:15px;line-height:1.8}.market-tab-panel .source-note,.market-tab-panel figcaption{font-size:12px}.market-tab-panel table{display:table;overflow:visible}.data-table{min-width:560px}.data-table td,.data-table th{font-size:14px;padding:12px;line-height:1.6}.stat-grid{gap:12px}.stat{padding:16px;min-width:0}.stat-value{font-size:26px!important;overflow-wrap:anywhere}.stat-label{font-size:13px;line-height:1.6}.bar-row{grid-template-columns:minmax(0,1fr) 66px;gap:8px;font-size:13px;margin:22px 0}.bar-row>span:first-child{grid-column:1}.bar-row .bar-track{grid-column:1/-1;grid-row:2}.bar-row>strong,.bar-row>span:last-child{grid-column:2;grid-row:1;text-align:right}.split,.roadmap-grid{grid-template-columns:1fr}.roadmap-card{padding:20px}.roadmap-card h3{font-size:23px}.value-chain li{font-size:14px}
 .slide-stage{grid-template-columns:1fr 1fr;padding:12px 16px 0;gap:12px}.slide-stage img{grid-column:1/-1;grid-row:1;max-height:54dvh;width:100%}.slide-stage>button{width:100%;height:48px;border-radius:0;font-size:22px}.slide-stage>button:first-child{grid-column:1;grid-row:2}.slide-stage>button:last-child{grid-column:2;grid-row:2}.slide-bottom{padding:20px;display:grid;grid-template-columns:1fr;gap:12px;font-size:14px}.slide-bottom label{display:block;font-size:14px}.slide-bottom select{min-width:0;font-size:16px;min-height:48px;width:100%;max-width:none;padding:10px}.slide-bottom a{min-height:44px;display:flex;align-items:center;justify-self:start}.slide-transcript{padding:0 20px calc(30px + env(safe-area-inset-bottom));font-size:15px;line-height:1.75}.slide-transcript summary{min-height:44px;padding:8px 0;font-weight:700}.slide-transcript p{line-height:1.8;overflow-wrap:anywhere}
 .image-dialog .dialog-toolbar>span{max-width:none;flex:1;line-height:1.4}.image-original{font-size:12px}.image-dialog>img{padding:16px 0;height:auto;max-height:none}
 .reveal{opacity:1;transform:none}
}
@media(max-width:600px){.project-grid{grid-template-columns:minmax(0,1fr)}.detail-grid,.detail-gallery{grid-template-columns:1fr}.hero-actions{max-width:420px}}
@media(max-width:360px){.wrap{padding-left:16px;padding-right:16px}.site-header{gap:8px;padding-left:12px;padding-right:12px}.header-cta{font-size:12px;padding:10px 12px;gap:8px}.hero h1{font-size:clamp(32px,10.65vw,38px)}.hero-content>p{font-size:15px}.team-grid{grid-template-columns:1fr}.team-card{display:grid;grid-template-columns:92px 1fr;gap:0 16px}.team-card>img{grid-row:1/4}.team-card h3{margin:0 0 8px;font-size:18px}.team-card p{font-size:14px}.stat-value{font-size:23px!important}.image-original{max-width:76px;font-size:11px}}
@media(pointer:coarse){.text-link{min-height:44px}input,textarea,select{font-size:16px}.carousel-controls button,.close-dialog{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}
@media(max-width:960px){
 .dialog-toolbar,.slide-stage{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
 .project-detail-header,.project-detail-body,.market-dialog-intro,.market-tabs,#market-content,.slide-bottom,.slide-transcript{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
 .image-dialog>img{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
}
