:root{--brand:#1d4ed8;--brand-light:#3b82f6;--navy:#0f172a;--deep:#0a1628;--orange:#f97316;--gold:#eab308;--text:#1e293b;--muted:#64748b;--line:#e2e8f0;--bg:#eef2ff;--surface:#fff;--soft:#f8fafc;--hero:linear-gradient(135deg,#0f172a 0%,#1e3a8a 38%,#1d4ed8 72%,#0284c7 100%);--accent:linear-gradient(90deg,#f97316,#eab308);--shadow:0 4px 20px rgba(15,23,42,.08),0 1px 3px rgba(15,23,42,.05);--shadow-lg:0 18px 55px rgba(15,23,42,.16);--font:"Inter","Noto Sans SC",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{border:0;background:none;cursor:pointer}ul{padding-left:1.2rem}.container{width:min(1160px,calc(100% - 3rem));margin:0 auto}.site-header{position:fixed;inset:0 0 auto;z-index:500;height:64px;background:rgba(15,23,42,.82);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(18px);transition:.2s ease}.site-header.scrolled{box-shadow:0 8px 30px rgba(0,0,0,.2)}.header-inner{height:100%;width:min(1200px,calc(100% - 3rem));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:baseline;gap:.55rem;flex-shrink:0}.brand-mark{font-size:1.35rem;font-weight:800;background:var(--accent);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-name{font-size:.85rem;font-weight:600;color:rgba(255,255,255,.76)}.main-nav{display:flex;align-items:center;justify-content:center;gap:.15rem;flex:1}.nav-link{padding:.45rem .72rem;border-radius:999px;color:rgba(255,255,255,.78);font-size:.875rem;font-weight:500;transition:.2s ease}.nav-link:hover,.nav-link.active{color:#fff;background:rgba(255,255,255,.11)}.header-actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.65rem 1.35rem;border-radius:999px;font-weight:700;font-size:.9rem;line-height:1;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:var(--accent);box-shadow:0 5px 22px rgba(249,115,22,.3)}.btn-primary:hover{box-shadow:0 9px 28px rgba(249,115,22,.4)}.btn-brand{color:#fff;background:var(--brand);box-shadow:0 5px 22px rgba(29,78,216,.25)}.btn-ghost{color:var(--brand);background:#fff;border:1.5px solid rgba(29,78,216,.2)}.btn-outline{color:#fff;border:1.5px solid rgba(255,255,255,.4)}.btn-sm{min-height:34px;padding:.45rem .95rem;font-size:.8rem}.btn-lg{min-height:48px;padding:.8rem 1.7rem}.menu-toggle{display:none;width:38px;height:38px;padding:8px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:8px}.menu-toggle span{width:21px;height:2px;border-radius:2px;background:#fff;transition:.2s ease}.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:.25rem;padding:1rem 1.5rem 1.5rem;background:rgba(15,23,42,.98);border-top:1px solid rgba(255,255,255,.06);box-shadow:0 16px 30px rgba(0,0,0,.25)}.mobile-nav.open{display:flex}.mobile-link{padding:.7rem .8rem;border-radius:8px;color:rgba(255,255,255,.85);font-weight:600}.mobile-link:hover,.mobile-link.active{background:rgba(255,255,255,.09);color:#fff}main{padding-top:64px}.home-hero{position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--hero)}.home-hero::before{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--accent)}.hero-glow{position:absolute;width:520px;height:520px;right:-120px;bottom:-180px;border-radius:50%;background:radial-gradient(circle,rgba(14,165,233,.42),transparent 70%);pointer-events:none}.hero-content{position:relative;text-align:center;padding:5rem 0 3.5rem}.hero-kicker{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .85rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#fed7aa;background:rgba(15,23,42,.22);font-size:.78rem;font-weight:700}.hero-kicker i{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(249,115,22,.13)}.home-hero h1{margin:1.4rem auto 1rem;max-width:850px;font-size:clamp(2.7rem,6vw,4.5rem);line-height:1.1;letter-spacing:0;font-weight:800}.home-hero h1 em{font-style:normal;background:var(--accent);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.home-hero p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.76);font-size:1.08rem}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.hero-stats{display:flex;align-items:center;justify-content:center;gap:2.4rem;margin-top:3.2rem}.hero-stats>div{display:flex;flex-direction:column;gap:.1rem;min-width:120px}.hero-stats strong{font-size:1.7rem;line-height:1.2}.hero-stats sup{font-size:.7rem}.hero-stats span{color:rgba(255,255,255,.56);font-size:.78rem}.hero-stats>i{width:1px;height:42px;background:rgba(255,255,255,.16)}.page-hero{padding:4.25rem 0 3.4rem;color:#fff;background:var(--hero)}.breadcrumb{display:inline-block;margin-bottom:1.1rem;color:rgba(255,255,255,.62);font-size:.86rem}.breadcrumb:hover{color:#fff}.eyebrow,.section-label{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:999px;color:var(--brand);background:rgba(59,130,246,.1);font-size:.72rem;font-weight:800}.page-hero .eyebrow{color:#fed7aa;background:rgba(255,255,255,.09)}.page-hero h1{max-width:900px;margin:.65rem 0 .7rem;font-size:clamp(2rem,4vw,3rem);line-height:1.18}.page-hero p{max-width:760px;color:rgba(255,255,255,.72);font-size:1.03rem}.section{padding:5rem 0}.section.band{background:#fff}.section-head{margin-bottom:2rem}.section-head h2{margin:.5rem 0 .55rem;color:var(--deep);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.25}.section-head>p{max-width:720px;color:var(--muted)}.feature-grid,.resource-grid{display:grid;gap:1rem}.feature-grid.four{grid-template-columns:repeat(4,1fr)}.feature-grid.three,.resource-grid{grid-template-columns:repeat(3,1fr)}.feature-card,.resource-card,.policy-card,.service-card,.tool-card,.contact-card,.lookup-card,.checklist-card{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:14px;box-shadow:var(--shadow)}.feature-card{padding:1.35rem}.feature-card:hover,.tool-card:hover,.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.1)}.feature-card,.tool-card,.service-card{transition:.22s ease}.feature-icon{display:inline-flex;width:2.15rem;height:2.15rem;align-items:center;justify-content:center;margin-bottom:.85rem;border-radius:50%;color:#fff;background:var(--accent);font-size:.72rem;font-weight:800}.feature-card h3,.resource-card h3,.tool-card h3{margin-bottom:.35rem;color:var(--deep);font-size:1.02rem}.feature-card p,.resource-card p,.tool-card p{color:var(--muted);font-size:.88rem}.split-callout{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:center}.source-panel,.notice{padding:1.25rem 1.35rem;border:1px solid rgba(29,78,216,.13);border-radius:12px;background:#eff6ff}.source-panel strong,.notice strong{display:block;color:var(--deep);margin-bottom:.25rem}.source-panel p,.notice p{color:var(--muted);font-size:.88rem}.source-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:.75rem;color:var(--brand);font-size:.82rem;font-weight:700}.source-link:hover{text-decoration:underline}.button-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.policy-card{padding:1.45rem}.policy-card.featured{grid-column:span 2;background:linear-gradient(135deg,#fff,#eff6ff)}.policy-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.policy-meta span{color:var(--brand);font-size:.75rem;font-weight:800}.policy-meta time{color:#94a3b8;font-size:.75rem}.policy-card h3{margin-bottom:.45rem;color:var(--deep);font-size:1.15rem}.policy-card p{color:var(--muted);font-size:.9rem}.metric-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.metric-row b{padding:.25rem .65rem;border-radius:7px;color:var(--orange);background:rgba(249,115,22,.09);font-size:.86rem}.metric-row span{color:var(--muted);font-size:.78rem}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.timeline article{position:relative;padding:1.25rem;border-left:2px solid var(--brand);background:var(--soft)}.timeline article>span{display:inline-flex;width:1.8rem;height:1.8rem;align-items:center;justify-content:center;margin-bottom:.6rem;border-radius:50%;color:#fff;background:var(--brand);font-size:.76rem;font-weight:800}.timeline h3{font-size:1rem}.timeline p{margin-top:.25rem;color:var(--muted);font-size:.85rem}.notice.compact{margin-top:1.25rem;padding:1rem 1.2rem}.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.3rem}.filter{padding:.45rem .95rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fff;font-size:.82rem;font-weight:700}.filter:hover,.filter.active{color:#fff;border-color:var(--brand);background:var(--brand)}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tool-card{padding:1.25rem}.tool-card[hidden]{display:none}.tool-card>span{display:inline-flex;margin-bottom:.7rem;padding:.17rem .55rem;border-radius:999px;color:var(--brand);background:rgba(59,130,246,.1);font-size:.7rem;font-weight:800}.resource-card{padding:1.3rem}.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stage-grid article{padding:1.3rem;border-top:3px solid var(--brand);border-radius:0 0 12px 12px;background:#fff;box-shadow:var(--shadow)}.stage-grid article>span{color:var(--orange);font-weight:800}.stage-grid h3{margin:.4rem 0;color:var(--deep)}.stage-grid p{color:var(--muted);font-size:.87rem}.stage-grid ul{margin-top:.65rem;color:#475569;font-size:.82rem}.stage-grid li{margin:.2rem 0}.checklist-card{padding:1.35rem}.checklist-card h3{margin-bottom:.8rem}.checklist-card label{display:flex;align-items:center;gap:.55rem;margin:.45rem 0;color:#475569;font-size:.88rem}.checklist-card input{accent-color:var(--brand)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-card{display:flex;flex-direction:column;padding:1.35rem}.service-card>span{color:var(--brand);font-size:.72rem;font-weight:800}.service-card h3{margin:.35rem 0}.service-card p{color:var(--muted);font-size:.86rem}.service-card ul{margin:.8rem 0;color:#475569;font-size:.82rem}.service-card>a{margin-top:auto;color:var(--brand);font-size:.86rem;font-weight:800}.process-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1.25rem;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.process-row>div{display:flex;align-items:center;gap:.5rem}.process-row b{display:inline-flex;width:1.8rem;height:1.8rem;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:var(--accent);font-size:.75rem}.process-row span{font-size:.88rem;font-weight:700}.process-row>i{color:#94a3b8;font-style:normal}.case-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}.case-layout h2{margin:.5rem 0 .6rem;font-size:2rem;color:var(--deep)}.lead{color:var(--muted)}.case-points{display:grid;gap:.7rem;margin-top:1.2rem}.case-points article{display:flex;gap:.8rem;padding:.8rem;border-radius:10px;background:#fff}.case-points b{color:var(--orange)}.case-points h3{font-size:.95rem}.case-points p{color:var(--muted);font-size:.83rem}.case-media{padding:.75rem;border-radius:16px;background:#fff;box-shadow:var(--shadow-lg)}.case-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.case-media small{display:block;padding:.5rem .25rem 0;color:var(--muted);text-align:center}.guide-shell{max-width:860px}.step-nav{position:sticky;top:78px;z-index:50;display:flex;gap:.45rem;margin-bottom:2.4rem;padding:.6rem;border-radius:12px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);backdrop-filter:blur(12px)}.step-nav a{flex:1;padding:.4rem .5rem;border-radius:8px;background:var(--soft);font-size:.76rem;font-weight:700;text-align:center}.step-nav a:hover{color:#fff;background:var(--brand)}.guide-step{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:0 0 2.4rem;margin-bottom:2.4rem;border-bottom:1px solid rgba(15,23,42,.09);scroll-margin-top:150px}.step-number{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:var(--accent);font-size:.85rem;font-weight:800}.guide-step h2{margin-bottom:.4rem;color:var(--deep);font-size:1.35rem}.guide-step>div>p{color:var(--muted)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}.mini-grid>div,.guide-callout{padding:1rem;border-radius:10px;background:#fff;box-shadow:var(--shadow)}.mini-grid h3{font-size:.92rem}.mini-grid ul{margin-top:.45rem;color:#475569;font-size:.84rem}.guide-callout{margin-top:1rem}.guide-callout strong{display:block}.guide-callout span{display:block;color:var(--muted);font-size:.86rem}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.contact-card{padding:1.5rem}.primary-contact{padding:2rem;background:linear-gradient(135deg,#fff,#eff6ff)}.primary-contact h2{margin:.55rem 0 0;font-size:2rem}.contact-value{display:block;color:var(--brand);font-size:1.75rem;font-weight:800}.contact-value.small{font-size:1.35rem}.contact-email{display:inline-block;margin-top:.15rem;color:var(--muted)}.contact-list{list-style:none;padding:0}.contact-list li{display:grid;grid-template-columns:100px 1fr;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.contact-list li:last-child{border-bottom:0}.contact-list b{font-size:.86rem}.contact-list span{color:var(--muted);font-size:.84rem}.apply-shell{max-width:900px}.fixed-region{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;margin-bottom:1rem;padding:1rem 1.2rem;border-radius:12px;color:#fff;background:var(--hero)}.fixed-region span{font-size:.78rem;opacity:.7}.fixed-region strong{font-size:1.1rem}.fixed-region small{opacity:.65}.apply-form{display:grid;gap:1rem}.apply-form fieldset{padding:1.35rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.apply-form legend{padding:0 .35rem;font-weight:800}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.choice-grid label{cursor:pointer}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:flex;min-height:78px;flex-direction:column;justify-content:center;padding:.9rem;border:1.5px solid var(--line);border-radius:10px;transition:.2s ease}.choice-grid input:checked+span{border-color:var(--brand);background:#eff6ff;box-shadow:0 0 0 2px rgba(29,78,216,.08)}.choice-grid b{font-size:.9rem}.choice-grid small{color:var(--muted);font-size:.75rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.form-grid label{display:grid;gap:.3rem}.form-grid label>span{font-size:.82rem;font-weight:700}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea,.lookup-row input{width:100%;padding:.72rem .85rem;border:1px solid var(--line);border-radius:9px;background:#fff}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid textarea:focus,.lookup-row input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(29,78,216,.1)}.consent{display:flex;align-items:flex-start;gap:.55rem;color:var(--muted);font-size:.82rem}.consent input{margin-top:.25rem;accent-color:var(--brand)}.form-actions{display:flex;gap:.75rem;justify-content:flex-end}.form-result{padding:1rem;border-radius:10px;color:#166534;background:#dcfce7}.form-result p{font-size:.84rem}.progress-layout{display:grid;grid-template-columns:1.5fr .7fr;gap:1.2rem;align-items:start}.lookup-card{padding:1.5rem}.lookup-card h2{margin-bottom:1rem}.lookup-card label{display:block;margin-bottom:.35rem;font-size:.82rem;font-weight:700}.lookup-row{display:flex;gap:.65rem}.progress-message{margin-top:1rem;padding:1rem;border-radius:10px;background:var(--soft)}.progress-message span{font-weight:800}.progress-message p{color:var(--muted);font-size:.84rem}.site-footer{color:rgba(255,255,255,.76);background:var(--navy)}.footer-inner{width:min(1160px,calc(100% - 3rem));margin:0 auto;padding:3rem 0 2rem}.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.footer-tagline{margin-top:.4rem;color:rgba(255,255,255,.42);font-size:.85rem}.footer-contact{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;font-size:.84rem}.footer-contact a{color:rgba(255,255,255,.62)}.footer-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.footer-nav a{color:rgba(255,255,255,.58);font-size:.84rem}.footer-nav a:hover,.footer-contact a:hover{color:#fb923c}.affiliation-note{display:flex;gap:.8rem;margin-top:2rem;padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:rgba(255,255,255,.48);background:rgba(255,255,255,.03);font-size:.78rem}.affiliation-note strong{color:rgba(255,255,255,.7);white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.32);font-size:.76rem}.chatbot{position:fixed;right:1.5rem;bottom:1.5rem;z-index:1000}.chat-panel{position:absolute;right:0;bottom:78px;width:380px;max-width:calc(100vw - 2rem);height:480px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(10px) scale(.96);transition:.2s ease}.chat-panel.open{opacity:1;visibility:visible;transform:none}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;color:#fff;background:var(--hero)}.chat-identity{display:flex;align-items:center;gap:.6rem}.chat-identity img{width:42px;height:42px;object-fit:cover;object-position:top;border:2px solid rgba(255,255,255,.6);border-radius:50%}.chat-identity span{display:flex;flex-direction:column}.chat-identity strong{font-size:.9rem}.chat-identity small{font-size:.68rem;opacity:.7}.chat-header>button{width:32px;height:32px;border-radius:8px;color:#fff;background:rgba(255,255,255,.16);font-size:1.2rem}.chat-messages{flex:1;display:flex;flex-direction:column;gap:.65rem;overflow-y:auto;padding:1rem;background:var(--soft)}.chat-message{max-width:86%;padding:.65rem .85rem;border-radius:11px;font-size:.85rem;line-height:1.55}.chat-message.bot{align-self:flex-start;border:1px solid var(--line);background:#fff}.chat-message.user{align-self:flex-end;color:#fff;background:var(--brand)}.chat-message time{display:block;margin-top:.2rem;font-size:.65rem;opacity:.6}.chat-compose{padding:.7rem .85rem .55rem;border-top:1px solid var(--line)}.chat-compose>div{display:flex;gap:.5rem}.chat-compose input{min-width:0;flex:1;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px}.chat-compose button{padding:.55rem .95rem;border-radius:10px;color:#fff;background:var(--accent);font-weight:700}.chat-compose small{display:block;margin-top:.35rem;color:var(--muted);font-size:.67rem;text-align:center}.chat-fab{display:flex;align-items:center;gap:.5rem;padding:.3rem .85rem .3rem .3rem;border:1px solid rgba(29,78,216,.13);border-radius:999px;background:#fff;box-shadow:0 7px 28px rgba(29,78,216,.18)}.fab-avatar{position:relative}.fab-avatar img{width:50px;height:50px;object-fit:cover;object-position:top;border-radius:50%}.fab-avatar i{position:absolute;right:1px;bottom:1px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#22c55e}.chat-fab strong{font-size:.86rem}.toast{position:fixed;left:50%;bottom:1.5rem;z-index:2000;padding:.55rem 1rem;border-radius:8px;color:#fff;background:rgba(15,23,42,.95);box-shadow:var(--shadow);font-size:.84rem;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:.2s ease}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1040px){.nav-link{padding-inline:.5rem}.brand-name{display:none}.feature-grid.four,.stage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.container,.header-inner,.footer-inner{width:min(100% - 2rem,1160px)}.main-nav,.header-actions>.btn{display:none}.menu-toggle{display:flex}.home-hero{min-height:650px}.hero-stats{gap:1rem}.feature-grid.three,.resource-grid,.tool-grid,.service-grid{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr 1fr}.split-callout,.case-layout,.contact-layout,.progress-layout{grid-template-columns:1fr}.policy-card.featured{grid-column:auto}.policy-grid{grid-template-columns:1fr}.case-media{max-width:560px}.footer-main{flex-direction:column}.process-row{overflow-x:auto;justify-content:flex-start}.process-row>div{min-width:max-content}.choice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.section{padding:3.5rem 0}.home-hero{min-height:620px}.hero-content{padding:4rem 0 3rem}.home-hero h1{font-size:2.55rem}.home-hero p{font-size:.94rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.3rem}.hero-stats>i{display:none}.page-hero{padding:3rem 0 2.6rem}.page-hero h1{font-size:1.85rem}.feature-grid.four,.feature-grid.three,.resource-grid,.stage-grid,.tool-grid,.service-grid,.timeline{grid-template-columns:1fr}.mini-grid,.form-grid,.choice-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.step-nav{margin-inline:-1rem;border-radius:0;overflow-x:auto}.step-nav a{min-width:78px}.guide-step{grid-template-columns:2.25rem 1fr;gap:.7rem}.fixed-region{grid-template-columns:1fr}.fixed-region small{display:block}.form-actions,.lookup-row{flex-direction:column}.form-actions .btn,.lookup-row .btn{width:100%}.footer-nav{display:grid;grid-template-columns:1fr 1fr;width:100%}.affiliation-note{flex-direction:column}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:.3rem}.chatbot{right:1rem;bottom:1rem}.chat-panel{right:-.5rem;bottom:70px;width:calc(100vw - 1rem)}.chat-fab{padding:.28rem;border-radius:50%}.chat-fab>strong{display:none}.contact-list li{grid-template-columns:1fr;gap:.15rem}}

/* Reimbursement ontology demonstration case */
.case-intro{padding-bottom:2rem}.case-brief{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem;padding:2.2rem;border-radius:14px;color:#fff;background:var(--navy);box-shadow:var(--shadow-lg)}.case-overline,.case-brief-side>span{display:block;margin-bottom:.65rem;color:#7dd3fc;font-size:.75rem;font-weight:800}.case-brief blockquote{max-width:760px;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:750;line-height:1.45}.case-brief p{max-width:760px;margin-top:.8rem;color:rgba(255,255,255,.62);font-size:.9rem}.case-brief-side{display:flex;min-height:180px;flex-direction:column;justify-content:center;padding:1.5rem;border-left:1px solid rgba(255,255,255,.13)}.case-brief-side strong{font-size:1.18rem;line-height:1.45}.case-brief-side small{margin-top:.7rem;color:rgba(255,255,255,.56)}
.ontology-stack{max-width:980px;margin:0 auto}.ontology-layer{padding:1.25rem 1.5rem;border-radius:12px;text-align:center}.ontology-layer>span,.ontology-layer>div>span{display:block;margin-bottom:.25rem;font-size:.75rem;font-weight:800}.ontology-layer strong{font-size:1.1rem}.agent-layer{color:#fff;background:var(--navy)}.agent-layer>span{color:#7dd3fc}.stack-arrow{height:44px;color:#94a3b8;font-size:1.65rem;line-height:44px;text-align:center}.ontology-layer-main{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:1rem;border:1.5px solid rgba(14,165,233,.3);background:#f0fdfa;text-align:left}.ontology-layer-main span{color:#0f766e}.ontology-layer-main strong{color:var(--deep);font-size:1.4rem}.ontology-chips{display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem}.ontology-chips i{padding:.65rem .35rem;border:1px solid #ccfbf1;border-radius:8px;color:#0f766e;background:#fff;font-size:.8rem;font-style:normal;font-weight:800;text-align:center}.system-layer{border:1px solid #fde68a;background:#fffbeb}.system-layer>span{color:#b45309}.system-layer>div{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:.8rem}.system-layer b{padding:.65rem .35rem;border-radius:8px;color:#78350f;background:#fff;font-size:.78rem}
.case-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem}.case-flow article{position:relative;min-height:210px;padding:1.1rem;border-top:3px solid var(--brand);background:#fff;box-shadow:var(--shadow)}.case-flow article::after{content:"→";position:absolute;top:50%;right:-.65rem;z-index:1;color:#94a3b8;font-weight:800}.case-flow article:last-child::after{display:none}.case-flow span,.acceptance-grid span{color:var(--orange);font-size:.78rem;font-weight:800}.case-flow h3{margin:.6rem 0 .4rem;color:var(--deep);font-size:.97rem}.case-flow p{color:var(--muted);font-size:.8rem}.case-snapshot{display:grid;grid-template-columns:.55fr 1.45fr;align-items:center;gap:1.5rem;margin-top:1.2rem;padding:1.35rem 1.5rem;border-radius:12px;color:#fff;background:var(--navy)}.case-snapshot>div span{display:block;color:#7dd3fc;font-size:.72rem;font-weight:800}.case-snapshot>div strong{font-size:1.25rem}.case-snapshot dl{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.case-snapshot dt{color:rgba(255,255,255,.48);font-size:.68rem}.case-snapshot dd{margin-top:.18rem;font-size:.82rem;font-weight:700}
.acceptance-grid,.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.acceptance-grid article,.role-grid article{padding:1.35rem;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.acceptance-grid h3,.role-grid h3{margin:.35rem 0;color:var(--deep);font-size:1rem}.acceptance-grid p,.role-grid p{color:var(--muted);font-size:.84rem}.validation-strip{display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap;margin-top:1rem;padding:1rem;border-radius:10px;background:#f0fdfa}.validation-strip strong{margin-right:.45rem;color:#0f766e;font-size:.82rem}.validation-strip span{padding:.3rem .65rem;border-radius:6px;color:#115e59;background:#fff;font-size:.75rem;font-weight:700}.role-grid article{border-top:3px solid var(--brand);border-radius:0 0 12px 12px}.role-grid>article>span{color:var(--brand);font-size:.72rem;font-weight:800}
@media(max-width:1040px){.case-flow{grid-template-columns:repeat(3,1fr)}.case-flow article:nth-child(3)::after,.case-flow article:last-child::after{display:none}.case-snapshot{grid-template-columns:1fr}.case-snapshot dl{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.case-brief{grid-template-columns:1fr}.case-brief-side{min-height:auto;border-top:1px solid rgba(255,255,255,.13);border-left:0;padding:1.3rem 0 0}.ontology-layer-main{grid-template-columns:1fr;text-align:center}.ontology-chips{grid-template-columns:repeat(3,1fr)}.system-layer>div{grid-template-columns:repeat(3,1fr)}.case-flow{grid-template-columns:repeat(2,1fr)}.case-flow article:nth-child(3)::after{display:block}.case-flow article:nth-child(even)::after{display:none}}
@media(max-width:600px){.case-brief{padding:1.35rem}.case-brief blockquote{font-size:1.25rem}.ontology-layer{padding:1rem}.ontology-chips{grid-template-columns:repeat(2,1fr)}.system-layer>div{grid-template-columns:1fr 1fr}.case-flow,.acceptance-grid,.role-grid{grid-template-columns:1fr}.case-flow article{min-height:auto}.case-flow article::after{display:none!important}.case-snapshot dl{grid-template-columns:1fr}.validation-strip{justify-content:flex-start}}

/* Light copy theme: white surfaces, orange actions, green support accents. */
:root {
  --brand: #c2410c;
  --brand-light: #f97316;
  --navy: #f0fdf4;
  --deep: #17352a;
  --orange: #ea580c;
  --gold: #65a30d;
  --text: #253b32;
  --muted: #66766f;
  --line: #dce8e0;
  --bg: #f7faf8;
  --surface: #ffffff;
  --soft: #f2f8f4;
  --hero: #fff7ed;
  --accent: #c2410c;
  --gradient-hero: linear-gradient(180deg, #fff2e4 0%, #fff8ef 56%, #ffffff 100%);
  --gradient-warm-section: linear-gradient(180deg, #ffffff 0%, #fffaf4 48%, #ffffff 100%);
  --gradient-green-section: linear-gradient(180deg, #ffffff 0%, #f2faf5 48%, #ffffff 100%);
  --gradient-footer: linear-gradient(180deg, #ffffff 0%, #f3faf5 22%, #e7f6ec 100%);
  --shadow: 0 4px 18px rgba(35, 83, 62, .08), 0 1px 3px rgba(35, 83, 62, .05);
  --shadow-lg: 0 18px 48px rgba(35, 83, 62, .14);
}

body { background: var(--bg); }
.site-header { background: rgba(255, 255, 255, .94); border-bottom-color: #e4ede7; }
.site-header.scrolled { box-shadow: 0 8px 26px rgba(35, 83, 62, .1); }
.brand-name { color: #365448; }
.nav-link { color: #425e53; }
.nav-link:hover,
.nav-link.active { color: #9a3412; background: #ffedd5; }
.menu-toggle span { background: #166534; }
.mobile-nav { background: rgba(255, 255, 255, .98); border-top-color: #e4ede7; box-shadow: 0 16px 30px rgba(35, 83, 62, .12); }
.mobile-link { color: #365448; }
.mobile-link:hover,
.mobile-link.active { color: #9a3412; background: #fff7ed; }

.btn-primary { color: #fff; background: #c2410c; box-shadow: 0 5px 18px rgba(194, 65, 12, .22); }
.btn-primary:hover { background: #9a3412; box-shadow: 0 9px 24px rgba(194, 65, 12, .28); }
.btn-brand { color: #fff; background: #15803d; box-shadow: 0 5px 18px rgba(21, 128, 61, .2); }
.btn-outline { color: #166534; background: #fff; border-color: #86b99a; }
.btn-ghost { color: #9a3412; border-color: #fdba74; }

.home-hero,
.page-hero { color: var(--deep); background: var(--gradient-hero); }
.hero-glow { display: none; }
.home-hero::before { display: none; }
.hero-kicker { color: #166534; background: #f0fdf4; border-color: #bbf7d0; }
.hero-kicker i { background: #ea580c; box-shadow: 0 0 0 5px rgba(234, 88, 12, .12); }
.home-hero h1 em { background: #c2410c; background-clip: text; -webkit-background-clip: text; }
.home-hero p,
.page-hero p { color: #566b62; }
.hero-stats span { color: #66766f; }
.hero-stats > i { background: #d8e7dc; }
.breadcrumb { color: #6d625b; }
.breadcrumb:hover { color: #9a3412; }
.page-hero .eyebrow { color: #166534; background: #dcfce7; }

.section { background: var(--gradient-warm-section); }
main > .section:nth-of-type(even) { background: var(--gradient-green-section); }
main > .section:nth-of-type(odd) { background: var(--gradient-warm-section); }
.section.band { background: var(--gradient-green-section); }
.eyebrow,
.section-label { color: #166534; background: #dcfce7; }
.feature-card,
.resource-card,
.policy-card,
.service-card,
.tool-card,
.contact-card,
.lookup-card,
.checklist-card,
.stage-grid article,
.mini-grid > div,
.guide-callout,
.apply-form fieldset { border-color: var(--line); background: #fff; }
.feature-icon,
.timeline article > span,
.step-number { background: #15803d; }
.policy-card.featured,
.primary-contact { background: #fff7ed; }
@media (min-width: 801px) {
  .contact-layout { align-items: stretch; }
  .contact-layout > div > .contact-card { height: 100%; }
}
.source-panel,
.notice { color: var(--text); background: #f0fdf4; border-color: #bbf7d0; }
.metric-row b { color: #9a3412; background: #ffedd5; }
.timeline article { border-left-color: #16a34a; background: #f0fdf4; }
.filter:hover,
.filter.active { color: #fff; border-color: #15803d; background: #15803d; }
.tool-card > span { color: #9a3412; background: #ffedd5; }
.stage-grid article,
.role-grid article { border-top-color: #16a34a; }
.choice-grid input:checked + span { border-color: #15803d; background: #f0fdf4; box-shadow: 0 0 0 2px rgba(21, 128, 61, .08); }
.form-grid input:focus,
.form-grid textarea:focus,
.lookup-row input:focus { border-color: #15803d; box-shadow: 0 0 0 3px rgba(21, 128, 61, .1); }
.fixed-region { color: var(--deep); background: #ffedd5; border: 1px solid #fed7aa; }

.case-brief { color: var(--deep); background: #fff; border: 1px solid #dce8e0; }
.case-overline,
.case-brief-side > span { color: #15803d; }
.case-brief p,
.case-brief-side small { color: #66766f; }
.case-brief-side { border-left-color: #dce8e0; }
.agent-layer { color: var(--deep); background: #ffedd5; border: 1px solid #fed7aa; }
.agent-layer > span { color: #9a3412; }
.ontology-layer-main { background: #f0fdf4; border-color: #86efac; }
.case-flow article { border-top-color: #16a34a; }
.case-snapshot { color: var(--deep); background: #fff7ed; border: 1px solid #fed7aa; }
.case-snapshot > div span { color: #9a3412; }
.case-snapshot dt { color: #7c6a60; }
.validation-strip { background: #f0fdf4; }

.site-footer { color: #365448; background: var(--gradient-footer); border-top: 0; }
.footer-tagline { color: #66766f; }
.footer-contact a,
.footer-nav a { color: #496359; }
.footer-nav a:hover,
.footer-contact a:hover { color: #9a3412; }
.affiliation-note { color: #66766f; background: #fff; border-color: #dce8e0; }
.affiliation-note strong { color: #365448; }
.footer-bottom { color: #788980; border-top-color: #dce8e0; }

.chat-header { color: #fff; background: #c2410c; }
.chat-messages { background: #f7faf8; }
.chat-message.user { background: #15803d; }
.chat-compose button { color: #fff; background: #c2410c; }
.chat-fab { border-color: #dce8e0; box-shadow: 0 7px 24px rgba(35, 83, 62, .16); }
.chat-identity img,
.fab-avatar img { object-fit: cover; object-position: center; }
.chat-identity img { border-radius: 6px; }
.fab-avatar img { border-radius: 50%; }
.fab-avatar i { right: -2px; bottom: -2px; }
.toast { background: #166534; }

@media (max-width: 800px) {
  .case-brief-side { border-top-color: #dce8e0; }
}

/* OPC hardware supply-chain atlas */
.hardware-hero-tags { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.25rem; }
.hardware-hero-tags span { padding: .36rem .72rem; border: 1px solid #fdba74; border-radius: 6px; color: #9a3412; background: #fff; font-size: .76rem; font-weight: 750; }
.hardware-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.hardware-product-grid article { position: relative; min-height: 330px; padding: 1.35rem; overflow: hidden; border: 1px solid var(--line); border-top: 3px solid #16a34a; border-radius: 0 0 8px 8px; background: #fff; box-shadow: var(--shadow); }
.hardware-index { position: absolute; top: .9rem; right: 1rem; color: #cbd9d0; font-size: .72rem; font-weight: 800; }
.hardware-icon { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; margin-bottom: 1rem; border-radius: 8px; color: #fff; background: #c2410c; font-size: .85rem; font-weight: 800; }
.hardware-product-grid h3 { color: var(--deep); font-size: 1.02rem; }
.hardware-product-grid p { min-height: 70px; margin-top: .45rem; color: var(--muted); font-size: .82rem; }
.hardware-product-grid ul { margin-top: .8rem; color: #496359; font-size: .8rem; }
.hardware-product-grid li { margin: .27rem 0; }
.hardware-notice { margin-top: 1.2rem; }
.supply-chain-map { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--line); }
.supply-chain-map article { min-height: 250px; padding: 1.3rem; background: #fff; }
.supply-chain-map article > span { color: #c2410c; font-size: .72rem; font-weight: 800; }
.supply-chain-map h3 { margin: .45rem 0; color: var(--deep); font-size: 1rem; }
.supply-chain-map p { min-height: 76px; color: var(--muted); font-size: .82rem; }
.supply-chain-map article > div { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .8rem; }
.supply-chain-map b { padding: .25rem .48rem; border-radius: 5px; color: #166534; background: #f0fdf4; font-size: .68rem; }
.hardware-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.hardware-service-grid article { padding: 1.35rem; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.hardware-service-grid span { color: #c2410c; font-size: .7rem; font-weight: 800; }
.hardware-service-grid h3 { margin: .45rem 0; color: var(--deep); font-size: 1rem; }
.hardware-service-grid p { color: var(--muted); font-size: .82rem; }
.hardware-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1.2rem; padding: 1.6rem; border: 1px solid #fed7aa; border-radius: 8px; background: #fff7ed; }
.hardware-cta > div:first-child { max-width: 700px; }
.hardware-cta span { color: #c2410c; font-size: .72rem; font-weight: 800; }
.hardware-cta h2 { margin: .25rem 0; color: var(--deep); font-size: 1.35rem; }
.hardware-cta p { color: var(--muted); font-size: .84rem; }
.hardware-cta .button-row { flex-shrink: 0; margin-top: 0; }

@media (max-width: 1040px) {
  .hardware-product-grid,
  .supply-chain-map,
  .hardware-service-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .hardware-product-grid,
  .supply-chain-map,
  .hardware-service-grid { grid-template-columns: 1fr; }
  .hardware-product-grid article,
  .supply-chain-map article { min-height: auto; }
  .hardware-product-grid p,
  .supply-chain-map p { min-height: auto; }
  .hardware-cta { align-items: flex-start; flex-direction: column; }
  .hardware-cta .button-row { width: 100%; }
  .hardware-cta .btn { width: 100%; }
}

/* Governed compute foundation for OPC applications */
.compute-foundation { scroll-margin-top: 64px; background: var(--gradient-green-section); }
.foundation-heading { display: grid; grid-template-columns: 86px minmax(0, 1fr) auto; align-items: start; gap: 1.25rem; margin-bottom: 2rem; }
.foundation-heading .section-head { margin-bottom: 0; }
.foundation-number { padding-top: .45rem; border-top: 1px solid #16a34a; color: #15803d; font-size: .7rem; font-weight: 800; }
.foundation-anchor { align-self: center; color: #166534; font-size: .75rem; font-weight: 800; }
.foundation-anchor:hover { text-decoration: underline; text-underline-offset: 3px; }
.compute-architecture { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: stretch; gap: .55rem; }
.compute-architecture article { min-height: 190px; padding: 1.25rem; border: 1px solid var(--line); border-top: 3px solid #16a34a; background: #f7faf8; }
.compute-architecture article:nth-of-type(even) { border-top-color: #c2410c; }
.compute-architecture article > span { color: #c2410c; font-size: .68rem; font-weight: 800; }
.compute-architecture h3 { margin: .55rem 0; color: var(--deep); font-size: .98rem; }
.compute-architecture p { color: var(--muted); font-size: .8rem; }
.compute-architecture > i { display: flex; align-items: center; color: #96a79f; font-style: normal; font-weight: 800; }
.compute-capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.2rem; }
.compute-capability-grid article { padding: 1.2rem; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.compute-capability-grid span { color: #15803d; font-size: .68rem; font-weight: 800; }
.compute-capability-grid h3 { margin: .35rem 0; color: var(--deep); font-size: .98rem; }
.compute-capability-grid p { color: var(--muted); font-size: .8rem; }
.compute-targets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 1.2rem; overflow: hidden; border: 1px solid #fed7aa; border-radius: 8px; background: #fed7aa; }
.compute-targets > div { padding: 1rem; text-align: center; background: #fff7ed; }
.compute-targets strong { display: block; color: #9a3412; font-size: 1.35rem; }
.compute-targets span { color: #7c6a60; font-size: .72rem; }
.compute-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.25rem; }

@media (max-width: 1040px) {
  .compute-architecture { grid-template-columns: 1fr 1fr; }
  .compute-architecture > i { display: none; }
}

@media (max-width: 700px) {
  .foundation-heading { grid-template-columns: 1fr; gap: .65rem; }
  .foundation-number { width: 72px; }
  .foundation-anchor { align-self: start; }
  .compute-architecture,
  .compute-capability-grid,
  .compute-targets { grid-template-columns: 1fr; }
  .compute-architecture article { min-height: auto; }
  .compute-actions { width: 100%; }
  .compute-actions .btn { width: 100%; }
}

/* OPC policy and news radar */
main.policy-page { background: linear-gradient(180deg, #fff2e4 0, #fff8ef 320px, #fdfaf5 500px, #fafcfb 760px, #f4faf6 1400px, #fafcfb 2300px, #fafcfb 100%); }
main.policy-page > .policy-page-hero,
main.policy-page > .section.policy-radar { background: transparent; }
main > .section.policy-radar { padding-top: 3.6rem; }
.policy-radar-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; }
.policy-radar-heading .section-head { margin-bottom: 1.35rem; }
.news-updated { display: grid; grid-template-columns: auto auto; align-items: center; column-gap: .45rem; margin-bottom: 2rem; padding: .65rem .85rem; border: 1px solid #bbf7d0; border-radius: 8px; background: #f0fdf4; }
.news-updated i { grid-row: span 2; width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 5px rgba(34, 197, 94, .11); }
.news-updated span { color: #66766f; font-size: .65rem; }
.news-updated strong { color: #166534; font-size: .78rem; }
.policy-summary { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .6rem; margin: -.35rem 0 1.25rem; color: #5b7567; font-size: .7rem; }
.policy-summary span b { color: #173f2b; font-size: .78rem; }
.policy-summary i { width: 3px; height: 3px; border-radius: 50%; background: #a9c7b2; }
.policy-latest { display: grid; grid-template-columns: auto minmax(0, 1fr); overflow: hidden; margin-bottom: 1.15rem; border: 1px solid #d1e2d7; border-radius: 9px; background: rgba(247, 251, 248, .74); box-shadow: none; }
.policy-latest-label { display: grid; min-width: 108px; align-content: center; gap: .12rem; padding: .65rem .9rem; border-right: 1px solid #d5e4da; background: rgba(238, 247, 241, .82); }
.policy-latest-label strong { color: #173f2b; font-size: .76rem; }
.policy-latest-label span { color: #6a7f73; font-size: .62rem; }
.policy-latest-viewport { overflow: hidden; padding: 0; }
.policy-latest-viewport:focus-visible { outline: 2px solid #f97316; outline-offset: -2px; }
.policy-latest-track { display: flex; width: max-content; animation: policy-latest-scroll 42s linear infinite; }
.policy-latest-viewport:hover .policy-latest-track, .policy-latest-viewport:focus-within .policy-latest-track { animation-play-state: paused; }
.policy-latest-item { display: grid; grid-template-columns: auto auto auto minmax(200px, 1fr); align-items: center; gap: .5rem; width: min(430px, 64vw); padding: .72rem .9rem; border-right: 1px solid #dbe8df; color: #315a43; text-decoration: none; }
.policy-latest-item span { padding: .2rem .4rem; border-radius: 4px; color: #fff8f0; background: #d8662a; font-size: .62rem; font-weight: 800; }
.policy-latest-item b, .policy-latest-item time { color: #5b7567; font-size: .65rem; font-weight: 700; }
.policy-latest-item strong { overflow: hidden; color: #173f2b; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.policy-latest-item.is-featured strong { font-weight: 800; }
@keyframes policy-latest-scroll { to { transform: translateX(-50%); } }
.policy-filter { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.05rem 0 1.35rem; padding: 0; }
.policy-filter button { padding: .45rem .75rem; border: 1px solid #aacbb5; border-radius: 5px; color: #214e38; background: #f8fcf9; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; }
.policy-filter button.active, .policy-filter button:hover { border-color: #15803d; color: #fff; background: #15803d; }
.policy-radar-layout { display: grid; grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.policy-date-index { position: sticky; top: 88px; display: flex; min-height: clamp(360px, calc(100vh - 160px), 560px); flex-direction: column; overflow: hidden; border: 1px solid #d5e4da; border-radius: 9px; background: rgba(247, 251, 248, .7); box-shadow: none; }
.policy-date-index-head { padding: .9rem 1rem; border-bottom: 1px solid #d5e4da; background: rgba(238, 247, 241, .78); }
.policy-date-index-head span, .policy-date-index-head b { display: block; }
.policy-date-index-head span { color: #173f2b; font-size: .84rem; font-weight: 850; }
.policy-date-index-head b { margin-top: .22rem; color: #577063; font-size: .65rem; font-weight: 700; }
.policy-date-index a { display: flex; min-height: 72px; flex: 1; align-items: center; justify-content: space-between; gap: .75rem; padding: .8rem 1rem; color: #315a43; font-size: .76rem; font-weight: 750; text-decoration: none; transition: color .18s ease, background-color .18s ease; }
.policy-date-index a + a { border-top: 1px solid #dbe9df; }
.policy-date-index a b { flex: 0 0 auto; padding: .2rem .4rem; border-radius: 4px; color: #3d6650; background: #f7fbf8; font-size: .62rem; font-weight: 800; }
.policy-date-index a:hover { color: #9a3412; background: #fff7ed; }
.policy-date-index a:hover b { color: #9a3412; background: #ffedd5; }
.policy-date-index a:focus-visible { outline: 2px solid #f97316; outline-offset: -3px; }
.policy-feed { min-width: 0; }
.policy-date-group + .policy-date-group { margin-top: 2.5rem; }
.policy-date-group > h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .15rem; padding: .65rem 0; border-bottom: 1px solid #b9d5c2; color: #123d27; background: transparent; font-size: 1.08rem; }
.policy-date-group > h3 span { color: #456554; font-size: .68rem; font-weight: 750; }
.policy-feed-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.policy-feed-item { display: grid; min-height: 0; grid-template-columns: 150px minmax(0, 1fr) auto; grid-template-areas: "meta content link" "source content link"; align-items: start; column-gap: 1.15rem; padding: 1rem 0; border: 0; border-bottom: 1px solid #dbe8df; border-radius: 0; background: transparent; box-shadow: none; }
.policy-feed-item.featured { margin: .25rem 0 .45rem; padding: 1rem 1.05rem; border: 1px solid #e7c5a8; border-radius: 8px; background: rgba(255, 248, 239, .72); }
.policy-feed-item[hidden], .policy-date-group[hidden] { display: none; }
.policy-feed-meta { grid-area: meta; display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.policy-feed-meta span { padding: .2rem .48rem; border-radius: 5px; color: #166534; background: #dcfce7; font-size: .65rem; font-weight: 800; }
.policy-feed-meta time { color: #4c6a58; font-size: .67rem; font-weight: 700; }
.policy-feed-source { grid-area: source; display: flex; align-items: center; gap: .45rem; margin-top: .7rem; color: #4c6a58; font-size: .67rem; }
.policy-feed-source b { color: #234a35; font-weight: 800; }
.policy-feed-content { grid-area: content; min-width: 0; }
.policy-feed-item h3 { color: #17352a; font-size: 1rem; line-height: 1.45; }
.policy-feed-item p { margin-top: .5rem; color: #3e594a; font-size: .78rem; line-height: 1.65; }
.policy-feed-item > a { grid-area: link; align-self: end; padding-top: .9rem; color: #9a3412; font-size: .74rem; font-weight: 800; white-space: nowrap; }
.yizhuang-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap: 2rem; margin-top: 2.6rem; padding: 1.4rem; border: 1px solid #bbf7d0; border-radius: 8px; background: #f0fdf4; }
.yizhuang-feature h2 { color: #17352a; font-size: 1.35rem; }
.yizhuang-feature p { margin-top: .35rem; max-width: 560px; color: #496359; font-size: .78rem; }
.yizhuang-feature-links { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.yizhuang-feature-links a { display: flex; align-items: center; justify-content: space-between; padding: .75rem .85rem; border: 1px solid #cdebd7; border-radius: 5px; color: #166534; background: #fff; font-size: .72rem; font-weight: 800; text-decoration: none; }
.yizhuang-feature-links a:hover { border-color: #15803d; }
.news-disclaimer { display: flex; gap: .8rem; margin-top: 1rem; padding: .9rem 1rem; border-left: 3px solid #16a34a; background: #f7faf8; }
.news-disclaimer strong { flex-shrink: 0; color: #166534; font-size: .76rem; }
.news-disclaimer span { color: var(--muted); font-size: .76rem; }

@media (max-width: 1040px) {
  .policy-radar-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 1.2rem; }
  .policy-feed-item { grid-template-columns: 125px minmax(0, 1fr) auto; }
}

@media (max-width: 700px) {
  .policy-radar-heading { align-items: start; grid-template-columns: 1fr; gap: 0; }
  main > .section.policy-radar { padding-top: 2.8rem; }
  .news-updated { margin-top: -1rem; }
  .policy-summary { gap: .35rem .5rem; margin-top: -.65rem; }
  .policy-latest { grid-template-columns: 1fr; }
  .policy-latest-label { display: flex; align-items: baseline; gap: .45rem; min-width: 0; padding: .6rem .8rem; border-right: 0; border-bottom: 1px solid #d5e4da; }
  .policy-latest-item { grid-template-columns: auto auto auto; width: 82vw; padding: .68rem .8rem; }
  .policy-latest-item strong { grid-column: 1 / -1; }
  .policy-filter { flex-wrap: nowrap; margin-inline: -1rem; padding-inline: 1rem; overflow-x: auto; scrollbar-width: thin; }
  .policy-filter button { flex: 0 0 auto; }
  .policy-radar-layout { grid-template-columns: 1fr; gap: 1rem; }
  .policy-date-index { position: static; min-height: 0; flex-direction: row; gap: .35rem; overflow-x: auto; padding: 0 0 .45rem; border: 0; border-bottom: 1px solid #dce8e0; border-radius: 0; background: transparent; box-shadow: none; scrollbar-width: thin; }
  .policy-date-index-head { display: none; }
  .policy-date-index a { min-height: 44px; flex: 0 0 auto; padding: .55rem .7rem; border: 0; border-bottom: 2px solid transparent; border-radius: 4px; background: #f4faf6; }
  .policy-date-index a + a { border-top: 0; }
  .policy-date-index a b { display: none; }
  .policy-date-index a:hover { border-bottom-color: #f97316; }
  .policy-feed-item { display: grid; min-height: 0; grid-template-columns: 1fr auto; grid-template-areas: "meta meta" "source source" "content content" "link link"; row-gap: .45rem; }
  .policy-feed-source { margin-top: 0; }
  .policy-feed-item > a { justify-self: start; }
  .yizhuang-feature { grid-template-columns: 1fr; gap: 1rem; }
  .news-disclaimer { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .policy-latest-track { animation: none; }
}

/* About, matching and public operations surfaces. */
.about-hero { padding-block: 4.7rem 4rem; }
.about-hero-layout, .insights-hero-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 3.5rem; align-items: center; }
.about-hero h1, .insights-hero h1 { max-width: 12ch; }
.about-hero-panel, .insights-hero-signal { padding: 1.6rem; border: 1px solid #d8e7dc; border-radius: 14px; background: linear-gradient(145deg,#f7fbf8,#fff8ef); box-shadow: 0 16px 34px rgba(41,79,59,.08); }
.about-hero-panel span, .insights-hero-signal span { display:block; color:#7a8d84; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.about-hero-panel strong, .insights-hero-signal strong { display:block; margin-top:.7rem; color:#164b36; font-size:1.35rem; }
.about-hero-panel p, .insights-hero-signal small { display:block; margin-top:.65rem; color:#587266; line-height:1.7; }
.about-intro-grid, .about-ecosystem-grid { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:3rem; align-items:start; }
.about-intro-grid > p, .about-ecosystem-grid > div > p { max-width:62ch; margin:0; color:#516d5f; font-size:1.03rem; line-height:1.9; }
.about-pillar-grid, .about-audience-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.about-pillar-grid article, .about-audience-grid article { min-height:210px; padding:1.25rem; border:1px solid #dce8e0; border-radius:10px; background:#fff; }
.about-pillar-grid article:nth-child(even), .about-audience-grid article:nth-child(odd) { background:#fffaf3; }
.about-pillar-grid article > span { color:#ef7d32; font-size:.72rem; font-weight:850; }
.about-pillar-grid h3, .about-audience-grid h3 { margin:.8rem 0 .5rem; color:#174b36; font-size:1rem; }
.about-pillar-grid p, .about-audience-grid p { margin:0; color:#60786c; font-size:.83rem; line-height:1.7; }
.about-collaboration { background:linear-gradient(180deg,#f2f8f3,#fffaf4); }
.about-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; padding:0; list-style:none; }
.about-flow li { position:relative; min-height:170px; padding:1.25rem 1.35rem; border-top:1px solid #cbded1; border-bottom:1px solid #cbded1; border-left:1px solid #cbded1; }
.about-flow li:last-child { border-right:1px solid #cbded1; }
.about-flow li:not(:last-child)::after { position:absolute; top:1.6rem; right:-7px; width:12px; height:12px; border-top:1px solid #8eac9a; border-right:1px solid #8eac9a; background:#f2f8f3; content:""; transform:rotate(45deg); }
.about-flow li > span { color:#ef7d32; font-size:.72rem; font-weight:850; }
.about-flow h3 { margin:.75rem 0 .4rem; color:#174b36; font-size:1rem; }
.about-flow p { margin:0; color:#5f776b; font-size:.83rem; line-height:1.7; }
.about-audience-grid { grid-template-columns:repeat(3,1fr); }
.about-audience-grid article { min-height:170px; display:flex; flex-direction:column; }
.about-audience-grid a { margin-top:auto; color:#b45309; font-size:.78rem; font-weight:800; }
.about-ecosystem-list { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.55rem; padding:1.2rem; border:1px solid #dce8e0; border-radius:12px; background:#f7fbf8; }
.about-ecosystem-list span { padding:.55rem .7rem; border:1px solid #c9ded0; border-radius:7px; color:#174b36; background:#fff; font-size:.78rem; font-weight:800; }
.about-ecosystem-list i { color:#ef7d32; font-style:normal; }
.about-boundary { padding-top:0; }
.about-boundary-panel { padding:1.35rem 1.5rem; border:1px solid #d8e7dc; border-radius:12px; background:#f7fbf8; }
.about-boundary-panel strong { color:#174b36; font-size:.86rem; }
.about-boundary-panel p { max-width:78ch; margin:.55rem 0 1rem; color:#5a7266; font-size:.82rem; line-height:1.75; }
.insights-hero { padding-block:4rem 3.2rem; }
.insights-boundary { display:inline-flex; margin-top:1rem; padding:.55rem .7rem; border:1px solid #f0c9a4; border-radius:7px; color:#9a4d17; background:#fff7ed; font-size:.72rem; font-weight:750; }
.insights-dashboard { padding-top:0; }
.insights-switcher { display:flex; gap:.25rem; width:max-content; margin:0 auto 2rem; padding:.3rem; border:1px solid #d8e7dc; border-radius:9px; background:#f7fbf8; }
.insights-switcher button { min-width:130px; padding:.65rem 1rem; border:0; border-radius:6px; color:#5b7567; background:transparent; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.insights-switcher button.active { color:#fff; background:#1f6a4b; }
.insights-view { padding:1.45rem; border:1px solid #dce8e0; border-radius:12px; background:#fff; }
.insights-view-head { display:flex; justify-content:space-between; gap:1.5rem; align-items:start; }
.insights-view-head h2 { margin:.35rem 0 .35rem; color:#174b36; font-size:1.35rem; }
.insights-view-head p { margin:0; color:#60786c; line-height:1.7; }
.insights-demo-tag { flex:none; padding:.4rem .55rem; border:1px solid #f0c9a4; border-radius:6px; color:#a3541d; background:#fff7ed; font-size:.68rem; font-weight:800; }
.insights-kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin-top:1.4rem; }
.insights-kpi-grid article { padding:1rem; border:1px solid #e0ebe3; border-radius:8px; background:#f7fbf8; }
.insights-kpi-grid article:nth-child(2n) { background:#fffaf3; }
.insights-kpi-grid span, .insights-kpi-grid small { display:block; color:#668074; font-size:.7rem; }
.insights-kpi-grid strong { display:block; margin:.35rem 0; color:#174b36; font-size:1.65rem; }
.insights-analysis-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
.insights-analysis-grid article { padding:1rem; border-top:1px solid #dce8e0; }
.insights-analysis-grid h3 { margin:0 0 .7rem; color:#174b36; font-size:.92rem; }
.insights-analysis-grid ul { margin:0; padding-left:1.1rem; color:#60786c; font-size:.8rem; line-height:1.85; }
.insights-bars p { display:grid; grid-template-columns:5rem 1fr 2.2rem; gap:.55rem; align-items:center; margin:.7rem 0; color:#60786c; font-size:.75rem; }
.insights-bars i { height:7px; overflow:hidden; border-radius:99px; background:#e6efe9; }
.insights-bars i b { display:block; height:100%; border-radius:inherit; background:#75a88a; }
.insights-bars em { color:#a4b2aa; font-size:.65rem; font-style:normal; }
.insights-resource-map { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; color:#174b36; font-size:.78rem; font-weight:800; }
.insights-resource-map span { padding:.55rem .65rem; border:1px solid #c9ded0; border-radius:7px; background:#f7fbf8; }
.insights-resource-map i { color:#ef7d32; font-style:normal; }
.insights-note { padding-top:0; }
.hall-matching-panel .hall-panel-heading { margin-bottom:1.2rem; }
.matching-demo-grid { display:grid; grid-template-columns:1fr 150px 1fr; gap:1rem; align-items:stretch; }
.matching-demo-grid article { padding:1.15rem; border:1px solid #dce8e0; border-radius:10px; background:#f7fbf8; }
.matching-demo-grid article.is-accent { background:#fff8ef; border-color:#f0d4b8; }
.matching-demo-grid article > span { color:#7a9184; font-size:.7rem; font-weight:800; }
.matching-demo-grid article h3 { margin:.55rem 0 .4rem; color:#174b36; font-size:1rem; }
.matching-demo-grid article p { margin:0; color:#60786c; font-size:.8rem; line-height:1.7; }
.matching-demo-grid article ul { margin:.75rem 0 0; padding-left:1.1rem; color:#557064; font-size:.74rem; line-height:1.8; }
.matching-connector { display:flex; min-height:100%; flex-direction:column; align-items:center; justify-content:center; gap:.4rem; color:#6e8578; text-align:center; }
.matching-connector b { color:#a3541d; font-size:.7rem; }
.matching-connector span { font-size:.68rem; }
.matching-connector i { color:#ef7d32; font-size:1.2rem; font-style:normal; }
.matching-next-step { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-top:1rem; padding:1rem 1.15rem; border:1px solid #dce8e0; border-radius:9px; background:#fff; }
.matching-next-step strong { display:block; color:#174b36; font-size:.82rem; }
.matching-next-step p { margin:.25rem 0 0; color:#667c70; font-size:.75rem; }
.hall-panel-note { margin:1rem 0 0; color:#82948a; font-size:.7rem; }
.evaluation-header { display:flex; justify-content:space-between; gap:1rem; align-items:start; padding-bottom:1rem; border-bottom:1px solid #dce8e0; }
.evaluation-header span { color:#758c80; font-size:.7rem; font-weight:800; }
.evaluation-header h3 { margin:.35rem 0; color:#174b36; font-size:1.05rem; }
.evaluation-header p { margin:0; color:#627a6e; font-size:.78rem; line-height:1.65; }
.evaluation-header > b { flex:none; padding:.4rem .55rem; border-radius:6px; color:#a3541d; background:#fff7ed; font-size:.66rem; }
.evaluation-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; margin-top:1rem; }
.evaluation-grid article { padding:.85rem; border:1px solid #e0ebe3; border-radius:8px; background:#f7fbf8; }
.evaluation-grid span, .evaluation-grid small { display:block; color:#6c8378; font-size:.68rem; }
.evaluation-grid strong { display:block; margin:.3rem 0; color:#1c6a4b; font-size:1rem; }
.evaluation-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin-top:1rem; }
.evaluation-columns section { padding:.85rem; border-top:1px solid #dce8e0; }
.evaluation-columns h4 { margin:0 0 .35rem; color:#174b36; font-size:.8rem; }
.evaluation-columns p { margin:0; color:#61786d; font-size:.75rem; line-height:1.7; }
.evaluation-next { display:flex; gap:.8rem; align-items:center; margin-top:1rem; padding:.8rem .9rem; border-radius:8px; background:#fff8ef; color:#5f7569; font-size:.74rem; }
.evaluation-next strong { color:#a3541d; }
.evaluation-next a { margin-left:auto; color:#a3541d; font-weight:800; white-space:nowrap; }

@media (max-width: 900px) {
  .about-pillar-grid { grid-template-columns:repeat(3,1fr); }
  .about-flow { grid-template-columns:repeat(2,1fr); }
  .about-flow li:nth-child(2) { border-right:1px solid #cbded1; }
  .about-flow li:nth-child(3), .about-flow li:nth-child(4) { border-top:0; }
  .about-flow li:nth-child(2)::after { display:none; }
  .matching-demo-grid { grid-template-columns:1fr 110px 1fr; }
}

@media (max-width: 600px) {
  .about-hero, .insights-hero { padding-block:3.2rem 2.6rem; }
  .about-hero-layout, .insights-hero-layout, .about-intro-grid, .about-ecosystem-grid { grid-template-columns:1fr; gap:1.35rem; }
  .about-hero h1, .insights-hero h1 { max-width:none; }
  .about-pillar-grid, .about-audience-grid, .about-flow, .insights-kpi-grid, .insights-analysis-grid, .evaluation-grid, .evaluation-columns { grid-template-columns:1fr; }
  .about-pillar-grid article { min-height:auto; }
  .about-flow li, .about-flow li:nth-child(2) { border-right:1px solid #cbded1; border-top:1px solid #cbded1; }
  .about-flow li:not(:last-child)::after { display:none; }
  .insights-view-head, .matching-next-step, .evaluation-header, .evaluation-next { align-items:flex-start; flex-direction:column; }
  .insights-switcher { width:100%; }
  .insights-switcher button { min-width:0; flex:1; }
  .matching-demo-grid { grid-template-columns:1fr; }
  .matching-connector { min-height:auto; flex-direction:row; padding:.1rem 0; }
  .matching-connector i { transform:rotate(90deg); }
  .evaluation-next a { margin-left:0; }
}

/* About page: one continuous narrative surface with restrained motion. */
.about-page { background:linear-gradient(180deg,#fff8ef 0%,#f8fbf8 33%,#f7fbf8 72%,#fffaf4 100%); }
.about-page > .section { padding-block:3.2rem; background:transparent; }
.about-page > .section + .section { border-top:1px solid rgba(203,222,209,.42); }
.about-page .section-head { margin-bottom:1.25rem; }
.about-hero { padding-block:3.7rem 3.2rem; background:linear-gradient(180deg,#fff2e4 0%,#fff8ef 100%); }
.about-hero-layout { gap:2.4rem; }
.about-hero-panel { position:relative; overflow:hidden; }
.about-hero-panel::after { position:absolute; right:-35px; bottom:-45px; width:140px; height:140px; border:1px solid rgba(117,168,138,.35); border-radius:50%; content:""; animation:about-orbit 7s linear infinite; }
.about-intro-grid, .about-ecosystem-grid { gap:2rem; }
.about-pillar-grid { position:relative; gap:.7rem; }
.about-pillar-grid::before { position:absolute; top:50%; right:7%; left:7%; height:1px; background:linear-gradient(90deg,transparent,#a9c9b4,transparent); content:""; animation:about-flow-line 4.5s ease-in-out infinite; }
.about-pillar-grid article { position:relative; z-index:1; min-height:185px; padding:1.05rem; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.about-pillar-grid article:hover { border-color:#9cc3aa; box-shadow:0 12px 24px rgba(41,79,59,.09); transform:translateY(-4px); }
.about-pillar-grid article > span { display:inline-flex; align-items:center; justify-content:center; width:1.65rem; height:1.65rem; border:1px solid #f0bf95; border-radius:50%; background:#fff8ef; }
.about-flow { gap:.65rem; }
.about-flow li { min-height:150px; padding:1.05rem; border:1px solid rgba(203,222,209,.9); border-radius:9px; background:rgba(255,255,255,.54); }
.about-flow li:not(:last-child)::after { top:1.45rem; right:-6px; background:#f8fbf8; }
.about-audience-grid { gap:.7rem; }
.about-audience-grid article { min-height:145px; padding:1.05rem; background:rgba(255,255,255,.62); }
.about-ecosystem-list { min-height:110px; background:rgba(247,251,248,.56); }
.about-ecosystem-list span { animation:about-node-breathe 3.8s ease-in-out infinite; }
.about-ecosystem-list span:nth-of-type(2) { animation-delay:.45s; }
.about-ecosystem-list span:nth-of-type(3) { animation-delay:.9s; }
.about-ecosystem-list span:nth-of-type(4) { animation-delay:1.35s; }
.about-ecosystem-list span:nth-of-type(5) { animation-delay:1.8s; }
.about-boundary { padding-top:2.2rem !important; padding-bottom:3.2rem !important; }
.about-boundary-panel { background:rgba(247,251,248,.7); }
@keyframes about-flow-line { 0%,100% { opacity:.35; transform:scaleX(.78); } 50% { opacity:1; transform:scaleX(1); } }
@keyframes about-node-breathe { 0%,100% { box-shadow:0 0 0 rgba(117,168,138,0); transform:translateY(0); } 50% { box-shadow:0 5px 15px rgba(117,168,138,.12); transform:translateY(-2px); } }
@keyframes about-orbit { from { transform:rotate(0deg) translateX(4px) rotate(0deg); } to { transform:rotate(360deg) translateX(4px) rotate(-360deg); } }
@media (max-width: 900px) {
  .about-page > .section { padding-block:2.7rem; }
  .about-pillar-grid::before { display:none; }
}
@media (max-width: 600px) {
  .about-page > .section { padding-block:2.35rem; }
  .about-hero { padding-block:3rem 2.5rem; }
  .about-flow { gap:.5rem; }
  .about-flow li { min-height:auto; }
}
@media (prefers-reduced-motion: reduce) {
  .about-hero-panel::after, .about-pillar-grid::before, .about-ecosystem-list span { animation:none; }
}

/* Service hall: demand marketplace and OPC teams */
.hall-hero { padding-bottom: 3rem; }
.hall-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; align-items: end; gap: 4rem; }
.hall-hero-note { display: flex; max-width: 760px; align-items: center; gap: .65rem; margin-top: 1.35rem; padding: .72rem .9rem; border-left: 3px solid #ea580c; color: #7c4a2c; background: #fff7ed; font-size: .76rem; }
.hall-hero-note strong { flex-shrink: 0; color: #9a3412; }
.hall-stats { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; box-shadow: 0 16px 45px rgba(35, 83, 62, .09); }
.hall-stats div { padding: 1.4rem .75rem; text-align: center; }
.hall-stats div + div { border-left: 1px solid #dce8e0; }
.hall-stats strong { display: block; color: #c2410c; font-size: 1.7rem; line-height: 1; }
.hall-stats span { display: block; margin-top: .5rem; color: #66766f; font-size: .72rem; }
.hall-section { padding-top: 2.2rem; background: var(--gradient-green-section); }
.hall-tabs { display: grid; grid-template-columns: minmax(0,1fr) 180px minmax(0,1fr); max-width: 900px; margin: 0 auto 2.4rem; padding: 5px; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; }
.hall-tabs button { display: flex; min-height: 70px; flex-direction: column; justify-content: center; padding: .8rem 1rem; border: 0; border-radius: 6px; color: #66766f; background: transparent; cursor: pointer; font: inherit; text-align: left; }
.hall-tabs button span { color: #365448; font-size: 1rem; font-weight: 800; }
.hall-tabs button small { margin-top: .15rem; font-size: .7rem; }
.hall-tabs button.active { color: #fff; background: #15803d; box-shadow: 0 6px 16px rgba(21, 128, 61, .18); }
.hall-tabs button.active span { color: #fff; }
.hall-tabs button[data-hall-tab="matching"] { align-items: center; min-height: 62px; border: 1px dashed #afd2bc; color: #1f6a4b; background: #f1faf4; text-align: center; }
.hall-tabs button[data-hall-tab="matching"] span { color: #1f6a4b; }
.hall-tabs button[data-hall-tab="matching"] small { color: #6a8877; }
.hall-tabs button[data-hall-tab="matching"].active { border-style: solid; color: #fff; background: #1f6a4b; }
.hall-tabs button[data-hall-tab="matching"].active span, .hall-tabs button[data-hall-tab="matching"].active small { color: #fff; }
.hall-tabs button:focus-visible,
.hall-filter-group button:focus-visible,
.hall-card-action:focus-visible,
.hall-dialog-close:focus-visible { outline: 3px solid rgba(234, 88, 12, .28); outline-offset: 2px; }
.hall-panel[hidden] { display: none; }
.hall-panel-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.35rem; }
.hall-panel-heading h2 { margin: .45rem 0 .25rem; color: var(--deep); font-size: 1.6rem; }
.hall-panel-heading p { color: var(--muted); font-size: .84rem; }
.hall-result-count { flex-shrink: 0; padding: .4rem .7rem; border: 1px solid #fed7aa; border-radius: 6px; color: #9a3412; background: #fff7ed; font-size: .72rem; font-weight: 800; }
.hall-toolbar { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.hall-filter-group { display: flex; flex-wrap: wrap; gap: .45rem; }
.hall-filter-group button { min-height: 34px; padding: .35rem .72rem; border: 1px solid #dce8e0; border-radius: 6px; color: #496359; background: #fff; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 750; }
.hall-filter-group button:hover { border-color: #86efac; }
.hall-filter-group button.active { color: #fff; border-color: #15803d; background: #15803d; }
.hall-status-filter { display: flex; flex-shrink: 0; align-items: center; gap: .5rem; color: #66766f; font-size: .72rem; }
.hall-status-filter select { min-height: 36px; padding: .35rem 2rem .35rem .65rem; border: 1px solid #dce8e0; border-radius: 6px; color: #365448; background: #fff; font: inherit; font-size: .72rem; }
.demand-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.demand-card { display: flex; min-width: 0; min-height: 390px; flex-direction: column; padding: 1.25rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; box-shadow: 0 7px 22px rgba(35, 83, 62, .07); }
.demand-card[hidden],
.team-card[hidden] { display: none; }
.demand-card-top { display: flex; min-height: 27px; align-items: center; gap: .4rem; }
.demo-code { padding: .25rem .42rem; border-radius: 5px; color: #788980; background: #f1f5f3; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .65rem; }
.project-type { padding: .22rem .42rem; border: 1px solid #fed7aa; border-radius: 5px; color: #9a3412; background: #fff7ed; font-size: .64rem; font-weight: 750; }
.status-badge { margin-left: auto; padding: .22rem .42rem; border-radius: 5px; font-size: .64rem; font-weight: 800; }
.status-badge.open { color: #166534; background: #dcfce7; }
.status-badge.soon { color: #9a3412; background: #ffedd5; }
.demand-card-disclaimer { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: .9rem; }
.demand-card-disclaimer b { color: #9a3412; font-size: .62rem; }
.demand-card-disclaimer time { color: #84938c; font-size: .66rem; white-space: nowrap; }
.demand-card h3 { margin: .75rem 0 .45rem; color: var(--deep); font-size: 1.05rem; line-height: 1.45; }
.demand-card > p { min-height: 66px; color: var(--muted); font-size: .8rem; }
.hall-tags { display: flex; min-height: 30px; flex-wrap: wrap; gap: .35rem; margin-top: .85rem; }
.hall-tags span { padding: .22rem .45rem; border: 1px solid #bbf7d0; border-radius: 5px; color: #166534; background: #f0fdf4; font-size: .64rem; }
.demand-card-bottom { display: grid; grid-template-columns: minmax(125px, auto) minmax(0, 1fr); align-items: end; gap: .75rem; margin-top: auto; padding-top: .95rem; border-top: 1px solid #edf2ef; }
.demand-card-bottom small { display: block; color: #84938c; font-size: .62rem; }
.demand-card-bottom strong { display: block; margin-top: .15rem; color: #c2410c; font-size: 1.05rem; white-space: nowrap; }
.demand-card-bottom > span { overflow-wrap: anywhere; color: #7b8b83; font-size: .65rem; text-align: right; }
.hall-card-action { display: flex; min-height: 38px; align-items: center; justify-content: space-between; margin-top: .9rem; padding: .5rem .7rem; border: 1px solid #dce8e0; border-radius: 6px; color: #166534; background: #f7faf8; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; }
.hall-card-action:hover { color: #fff; border-color: #15803d; background: #15803d; }
.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.team-card { display: flex; min-width: 0; min-height: 360px; flex-direction: column; padding: 1.25rem; border: 1px solid #dce8e0; border-top: 3px solid #16a34a; border-radius: 0 0 8px 8px; background: #fff; box-shadow: 0 7px 22px rgba(35, 83, 62, .07); }
.team-card-head { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: .8rem; align-items: start; }
.team-initials { display: flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 6px; color: #fff; background: #c2410c; font-size: .72rem; font-weight: 850; }
.demo-label { color: #15803d; font-size: .64rem; font-weight: 800; }
.team-card h3 { margin: .15rem 0; color: var(--deep); font-size: 1rem; }
.team-card-head p { color: #7b8b83; font-size: .68rem; }
.team-case { margin-top: .9rem; padding: 1rem; border-left: 3px solid #fdba74; background: #fff7ed; }
.team-case small { color: #9a3412; font-size: .62rem; font-weight: 800; }
.team-case strong { display: block; margin: .3rem 0; color: var(--deep); font-size: .9rem; }
.team-case p { color: #66766f; font-size: .74rem; }
.team-card .hall-card-action { margin-top: auto; }
.hall-empty { padding: 3rem 1rem; border: 1px dashed #bbcbc2; border-radius: 8px; text-align: center; background: #fff; }
.hall-empty strong { color: var(--deep); }
.hall-empty p { margin-top: .35rem; color: var(--muted); font-size: .8rem; }
.hall-publish { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1.3rem; padding: 1.5rem; border: 1px solid #fed7aa; border-radius: 8px; background: #fff7ed; }
.hall-publish > div:first-child { max-width: 720px; }
.hall-publish span { color: #c2410c; font-size: .68rem; font-weight: 800; }
.hall-publish h2 { margin: .25rem 0; color: var(--deep); font-size: 1.25rem; }
.hall-publish p { color: var(--muted); font-size: .8rem; }
.hall-publish .button-row { flex-shrink: 0; margin-top: 0; }
.hall-dialog { position: fixed; inset: 0; width: min(820px, calc(100vw - 2rem)); max-height: min(86vh, 900px); margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 8px; background: transparent; box-shadow: 0 30px 90px rgba(20, 54, 39, .24); }
.hall-dialog::backdrop { background: rgba(26, 50, 40, .52); backdrop-filter: blur(3px); }
.hall-dialog-shell { position: relative; max-height: min(86vh, 900px); overflow-y: auto; overscroll-behavior: contain; background: #fff; }
.hall-dialog-close { position: sticky; z-index: 2; top: .8rem; float: right; width: 36px; height: 36px; margin: .8rem .8rem -44px 0; border: 1px solid #dce8e0; border-radius: 6px; color: #496359; background: #fff; cursor: pointer; font: 500 1.25rem/1 sans-serif; }
.hall-dialog-close:hover { color: #fff; border-color: #c2410c; background: #c2410c; }
.hall-detail { padding: 2rem; }
.hall-detail-kicker { display: flex; align-items: center; gap: .5rem; padding-right: 3rem; }
.hall-detail-kicker span,
.hall-detail-kicker b { padding: .25rem .5rem; border-radius: 5px; font-size: .65rem; }
.hall-detail-kicker span { color: #66766f; background: #f1f5f3; }
.hall-detail-kicker b { color: #9a3412; background: #ffedd5; }
.hall-detail h2 { margin: .8rem 0 .4rem; color: var(--deep); font-size: 1.55rem; }
.hall-detail-lead { color: var(--muted); font-size: .86rem; }
.hall-detail-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 1.25rem 0; overflow: hidden; border: 1px solid #dce8e0; border-radius: 8px; background: #dce8e0; }
.hall-detail-meta div { padding: .8rem; background: #f7faf8; }
.hall-detail-meta dt { color: #84938c; font-size: .62rem; }
.hall-detail-meta dd { margin-top: .25rem; color: #365448; font-size: .75rem; font-weight: 750; }
.hall-detail section { margin-top: 1.1rem; }
.hall-detail section h3 { margin-bottom: .4rem; color: #166534; font-size: .9rem; }
.hall-detail section p,
.hall-detail section ul { color: #566b62; font-size: .8rem; }
.hall-detail section ul { display: grid; gap: .25rem; padding-left: 1.1rem; }
.hall-detail-notice { margin-top: 1.2rem; padding: .85rem 1rem; border-left: 3px solid #ea580c; background: #fff7ed; }
.hall-detail-notice strong { color: #9a3412; font-size: .72rem; }
.hall-detail-notice p { margin-top: .2rem; color: #7c6a60; font-size: .74rem; }
.hall-detail-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid #edf2ef; }
.hall-team-profile { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: .8rem; margin-top: 1.1rem; padding: .85rem; border: 1px solid #dce8e0; border-radius: 8px; background: #f7faf8; }
.hall-team-profile small { color: #84938c; font-size: .62rem; }
.hall-team-profile strong { display: block; color: var(--deep); font-size: .86rem; }
.hall-team-profile p { color: #66766f; font-size: .7rem; }

@media (max-width: 1040px) {
  .hall-hero-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .hall-stats { max-width: 520px; }
  .demand-grid,
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .hall-hero { padding-bottom: 2rem; }
  .hall-hero-note { align-items: flex-start; flex-direction: column; }
  .hall-stats { width: 100%; }
  .hall-stats div { padding: 1rem .45rem; }
  .hall-tabs { grid-template-columns: 1fr; margin-bottom: 1.7rem; }
  .hall-tabs button { min-height: 64px; padding: .6rem; }
  .hall-tabs button span { font-size: .88rem; }
  .hall-tabs button small { font-size: .61rem; }
  .hall-panel-heading { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .hall-panel-heading h2 { font-size: 1.35rem; }
  .hall-toolbar { align-items: stretch; flex-direction: column; }
  .hall-filter-group { flex-wrap: nowrap; margin: 0 -1rem; padding: 0 1rem .35rem; overflow-x: auto; scrollbar-width: thin; }
  .hall-filter-group button { flex: 0 0 auto; }
  .hall-status-filter { justify-content: space-between; }
  .demand-grid,
  .team-grid { grid-template-columns: 1fr; }
  .demand-card,
  .team-card { min-height: auto; }
  .demand-card > p { min-height: auto; }
  .demand-card-bottom { margin-top: 1rem; }
  .team-card .hall-card-action { margin-top: 1rem; }
  .hall-publish { align-items: flex-start; flex-direction: column; }
  .hall-publish .button-row,
  .hall-publish .btn { width: 100%; }
  .hall-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .hall-dialog-shell { max-height: calc(100dvh - 1rem); }
  .hall-detail { padding: 1.25rem; }
  .hall-detail h2 { padding-right: 2rem; font-size: 1.3rem; }
  .hall-detail-meta { grid-template-columns: repeat(2, 1fr); }
  .hall-detail-actions { flex-direction: column; }
  .hall-detail-actions .btn { width: 100%; }
}

/* Government intelligent application direction */
.government-home .hero-content { max-width: 1160px; }
.government-home { background: #fffaf3 url('/assets/hero/hero-background.png') center / cover no-repeat; }
.hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); align-items: center; gap: 2rem; min-height: 680px; }
.hero-content { z-index: 2; text-align: left; }
.hero-content .hero-kicker { display: inline-flex; }
.hero-content h1 { margin-left: 0; }
.hero-content p { margin-left: 0; }
.hero-actions { justify-content: flex-start; }
.hero-visual { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; min-width: 0; }
.hero-visual img { width: min(100%, 680px); height: auto; filter: drop-shadow(0 24px 30px rgba(82, 58, 29, .12)); }
.hero-decor { position: absolute; z-index: 0; width: 120px; height: 120px; background: url('/assets/hero/dot-grid-orange.png') center / contain no-repeat; opacity: .48; pointer-events: none; }
.hero-decor-left { top: 2rem; left: 1.5rem; }
.hero-decor-right { right: 2rem; bottom: 2rem; }
.hero-handwriting { position: absolute; z-index: 1; right: calc(5% + 48px); bottom: calc(5% + 32px); width: min(190px, 14vw); height: auto; opacity: .78; pointer-events: none; transform: rotate(-3deg); }
.home-service-strip { position: relative; z-index: 3; margin-top: -2.8rem; }
.home-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.home-service-card { display: grid; grid-template-columns: 58px minmax(0, 1fr) 34px; align-items: center; gap: .8rem; min-height: 116px; padding: 1rem 1.15rem; border: 1px solid #e8e2d9; border-radius: 14px; background: #fff; box-shadow: 0 12px 30px rgba(77, 65, 45, .08); transition: transform .22s ease, box-shadow .22s ease; }
.home-service-card:hover, .home-service-card:focus-visible { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(77, 65, 45, .14); }
.home-service-card:focus-visible { outline: 3px solid #f97316; outline-offset: 3px; }
.home-service-card img { width: 56px; height: 56px; object-fit: contain; padding: .55rem; border-radius: 14px; }
.service-demand { background: #fff7f0; }.service-demand img { background: #ffe5d2; }.service-cooperation { background: #f1fbf5; }.service-cooperation img { background: #d9f3e3; }.service-ecosystem { background: #fffaf0; }.service-ecosystem img { background: #ffedc4; }.service-growth { background: #f2f7ff; }.service-growth img { background: #dceaff; }
.home-service-card strong, .home-service-card span { display: block; }.home-service-card strong { color: var(--deep); font-size: .98rem; }.home-service-card span { margin-top: .25rem; color: var(--muted); font-size: .68rem; line-height: 1.45; }.home-service-card b { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #325346; background: rgba(255,255,255,.7); font-size: 1.2rem; }
.home-proof-strip { display: grid; grid-template-columns: repeat(4, 1fr) minmax(260px, 1.8fr); align-items: center; gap: 0; margin-top: 1rem; padding: 1.2rem 1.3rem; border: 1px solid #ece7df; border-radius: 14px; background: rgba(255,255,255,.88); box-shadow: 0 8px 22px rgba(77, 65, 45, .05); }.home-proof-strip div { display: flex; flex-direction: column; padding: 0 1rem; border-right: 1px solid #e9e4db; }.home-proof-strip strong { color: #102f27; font-size: 1.7rem; line-height: 1.1; }.home-proof-strip span { margin-top: .25rem; color: var(--muted); font-size: .72rem; }.home-proof-strip p { padding: 0 1.2rem; color: #5b7167; font-size: .78rem; line-height: 1.6; }
@media (max-width: 1040px) { .hero-layout { grid-template-columns: 1fr .9fr; }.home-service-grid { grid-template-columns: repeat(2, 1fr); }.home-proof-strip { grid-template-columns: repeat(4, 1fr); }.home-proof-strip p { grid-column: 1 / -1; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #e9e4db; } }
@media (max-width: 700px) { .hero-layout { display: flex; min-height: 0; flex-direction: column; gap: 1rem; padding-top: 4.5rem; padding-bottom: 2rem; }.hero-content { text-align: center; }.hero-content .hero-kicker, .hero-content p { margin-inline: auto; }.hero-content h1 { margin-inline: auto; }.hero-actions { justify-content: center; }.hero-visual img { width: 96%; }.hero-decor { width: 82px; height: 82px; }.hero-decor-right { display: none; }.home-service-strip { margin-top: 0; }.home-service-grid { grid-template-columns: 1fr; }.home-proof-strip { grid-template-columns: 1fr 1fr; }.home-proof-strip div:nth-child(2n) { border-right: 0; }.home-proof-strip p { grid-column: 1 / -1; } }
@media (max-width: 700px) { .hero-handwriting { right: 2rem; bottom: 2.5rem; width: 88px; opacity: .62; } }
.government-home h1 { max-width: 940px; }
.government-home p { max-width: 850px; }
.government-home .hero-content { padding-top: 6.2rem; padding-bottom: 4.5rem; }
.government-home .hero-kicker { padding: .5rem 1.15rem; font-size: .9rem; }
.government-home .hero-kicker i { width: 9px; height: 9px; }
.government-home h1 { margin-top: 1.65rem; font-size: clamp(3.15rem, 7vw, 5.35rem); }
.government-home p { font-size: 1.2rem; }
.government-home .hero-actions { gap: 1rem; margin-top: 2.3rem; }
.government-home .hero-actions .btn-lg { min-height: 58px; padding: .95rem 2.05rem; font-size: 1rem; }
@media (max-width: 800px) {
  .government-home .hero-content { padding-top: 5rem; padding-bottom: 3.8rem; }
  .government-home h1 { font-size: clamp(3rem, 9vw, 4.5rem); }
}
@media (max-width: 600px) {
  .government-home .hero-content { padding-top: 4.5rem; padding-bottom: 3.2rem; }
  .government-home .hero-kicker { padding: .42rem .85rem; font-size: .78rem; }
  .government-home h1 { margin-top: 1.25rem; font-size: 2.85rem; }
  .government-home p { font-size: 1rem; }
  .government-home .hero-actions { margin-top: 1.8rem; }
  .government-home .hero-actions .btn-lg { min-height: 52px; padding: .8rem 1.4rem; font-size: .92rem; }
}
.government-scene-groups { display: grid; gap: 1.5rem; }
.scene-direction-tabs { display: flex; gap: .5rem; margin-bottom: 1rem; overflow-x: auto; scrollbar-width: none; }
.scene-direction-tab { flex: 1 0 auto; padding: .72rem 1.05rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: #fff; font-size: .8rem; font-weight: 800; white-space: nowrap; cursor: pointer; }
.scene-direction-tab.is-active, .scene-direction-tab:hover { color: #166534; border-color: #9fd0ad; background: #f0fdf4; }
.scene-direction-tab:focus-visible { outline: 3px solid #f97316; outline-offset: 2px; }
.scene-group { display: none; }
.scene-group.is-active { display: block; animation: scene-panel-in .28s ease both; }
@keyframes scene-panel-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .scene-group.is-active { animation: none; } }
.scene-group { padding: 1.5rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 8px 26px rgba(35, 83, 62, .06); }
.scene-group:first-child { border-color: #cfe5d6; background: #fcfffd; }
.scene-group-head { max-width: 760px; margin-bottom: 1.15rem; }
.scene-group-head > span, .scene-detail > span { color: #15803d; font-size: .68rem; font-weight: 800; }
.scene-group-head h3 { margin: .45rem 0; color: var(--deep); font-size: 1.25rem; }
.scene-group-head p, .scene-detail p, .scene-detail li { color: var(--muted); font-size: .8rem; line-height: 1.65; }
.scene-group-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.scene-detail { padding: 1.1rem; border: 1px solid #dce8e0; border-radius: 8px; background: #f8fbf9; }
.scene-detail h4 { margin: .45rem 0; color: var(--deep); font-size: 1rem; }
.scene-detail ul { margin: .7rem 0; padding-left: 1.1rem; }
.scene-detail small { display: block; padding-top: .7rem; border-top: 1px solid #dce8e0; color: #587064; font-size: .68rem; }
.scene-detail small b { color: #166534; }

/* Home scene details */

@media (max-width: 700px) {
}
.government-path .container { display: grid; grid-template-columns: .9fr 1.1fr; align-items: stretch; gap: 3rem; }
.government-path-copy { display: flex; flex-direction: column; }
.government-path-copy .section-head { flex: 1; }
.government-path-copy .button-row { margin-top: 1.2rem; }
.government-path-list { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--line); list-style: none; }
.government-path-list li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 1rem; padding: 1rem 1.1rem; background: #fff; }
.government-path-list b { color: #166534; font-size: .8rem; }
.government-path-list span { color: var(--muted); font-size: .78rem; }

/* Wanwusheng Agent development foundation */
.wanwusheng-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: center; gap: 4rem; }
.wanwusheng-hero .button-row { margin-top: 1.35rem; }
.foundation-overview { display: grid; gap: 1px; overflow: hidden; border: 1px solid #cbded2; border-radius: 8px; background: #cbded2; box-shadow: 0 16px 40px rgba(35, 83, 62, .1); }
.foundation-overview a { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: .2rem 1rem; padding: 1.2rem; color: #143d2b; background: #f0fdf4; transition: background .2s ease; }
.foundation-overview a:nth-child(2) { background: #fff7ed; }
.foundation-overview a:hover { background: #dcfce7; }
.foundation-overview a:nth-child(2):hover { background: #ffedd5; }
.foundation-overview span { grid-row: 1 / span 3; padding-top: .2rem; color: #c2410c; font-size: .65rem; font-weight: 800; }
.foundation-overview strong { font-size: 1.25rem; line-height: 1.2; }
.foundation-overview small { color: #496359; font-size: .67rem; }
.foundation-overview b { margin-top: .35rem; color: #166534; font-size: .67rem; }
.foundation-overview a:nth-child(2) b { color: #9a3412; }
.agent-foundation { scroll-margin-top: 64px; }
.foundation-example { display: grid; grid-template-columns: minmax(0, 1fr) 250px; align-items: center; gap: 1.2rem; margin: 1.3rem 0 1.35rem; padding: .75rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(35, 83, 62, .07); }
.foundation-example-media { overflow: hidden; min-width: 0; border: 1px solid #dce8e0; border-radius: 6px; background: #f7faf8; }
.foundation-example-media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.foundation-example-agent img { aspect-ratio: 1628 / 966; object-fit: contain; background: #fffdf8; }
.foundation-example-assembly img { aspect-ratio: 16 / 9; object-fit: contain; background: #f6faf8; }
.assembly-example { border-color: #fed7aa; }
.foundation-example figcaption { display: grid; gap: .45rem; padding: .35rem .6rem .35rem 0; }
.foundation-example figcaption strong { color: var(--deep); font-size: .88rem; }
.foundation-example figcaption span { color: var(--muted); font-size: .72rem; line-height: 1.65; }
.wanwusheng-mark { display: flex; min-height: 250px; flex-direction: column; justify-content: flex-end; padding: 1.6rem; border: 1px solid #bbf7d0; border-radius: 8px; color: #fff; background: #166534; box-shadow: 0 18px 48px rgba(22, 101, 52, .18); }
.wanwusheng-mark strong { font-size: 2.6rem; line-height: 1; }
.wanwusheng-mark span { margin-top: .65rem; color: #dcfce7; font-size: .76rem; }
.wanwusheng-mark small { margin-top: 2rem; padding-top: .8rem; border-top: 1px solid rgba(255, 255, 255, .25); color: #bbf7d0; font-size: .7rem; }
.agent-stack { display: grid; gap: .65rem; }
.agent-stack article { display: grid; grid-template-columns: 150px 260px minmax(0, 1fr); align-items: center; gap: 1.2rem; padding: 1.1rem 1.25rem; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 7px 22px rgba(35, 83, 62, .06); }
.agent-stack article:nth-child(2) { border-color: #fdba74; background: #fff7ed; }
.agent-stack article > span { color: #15803d; font-size: .68rem; font-weight: 800; }
.agent-stack h3 { color: var(--deep); font-size: .96rem; }
.agent-stack article > div { display: flex; flex-wrap: wrap; gap: .35rem; }
.agent-stack b { padding: .28rem .5rem; border-radius: 5px; color: #496359; background: #f0fdf4; font-size: .66rem; }
.agent-stack article:nth-child(2) b { color: #9a3412; background: #ffedd5; }
.foundation-bridge { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin-top: 1rem; padding: .9rem 1rem; border: 1px solid #dce8e0; border-radius: 6px; background: #f7faf8; }
.foundation-bridge strong { color: #166534; font-size: .72rem; }
.foundation-bridge span { color: var(--muted); font-size: .74rem; }
.foundation-bridge a { color: #c2410c; font-size: .72rem; font-weight: 800; }
.agent-capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.agent-capability-grid article { min-height: 175px; padding: 1.25rem; border-top: 3px solid #16a34a; background: #fff; box-shadow: 0 8px 24px rgba(35, 83, 62, .07); }
.agent-capability-grid h3 { color: var(--deep); font-size: .96rem; }
.agent-capability-grid p { margin-top: .5rem; color: var(--muted); font-size: .78rem; }
/* Homepage matching metrics and live project rail */
.home-matching { position: relative; overflow: hidden; padding: 5rem 0 4rem; color: #fff; background: linear-gradient(180deg, #184c36 0%, #123f2b 48%, #0e3424 100%); }
.home-matching-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.home-matching-head > div { max-width: 760px; }
.home-matching-head p { color: #fdba74; font-size: .7rem; font-weight: 800; }
.home-matching-head h2 { margin: .45rem 0 .6rem; font-size: 2.15rem; line-height: 1.2; }
.home-matching-head span { color: #c7ded2; font-size: .78rem; }
.home-matching-head .btn { flex-shrink: 0; }
.home-matching-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 2.2rem; border-block: 1px solid rgba(255, 255, 255, .2); }
.home-matching-metrics div { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 1rem; padding: 1.3rem 1.2rem; }
.home-matching-metrics div + div { border-left: 1px solid rgba(255, 255, 255, .2); }
.home-matching-metrics dt { color: #c7ded2; font-size: .73rem; }
.home-matching-metrics dd { color: #fff; font-size: 2.1rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.home-matching-metrics div:last-child dd { color: #fdba74; }
.home-project-viewport { width: 100%; margin-top: 2.2rem; overflow: hidden; }
.home-project-track { display: flex; width: max-content; animation: home-project-scroll 46s linear infinite; }
.home-project-viewport:hover .home-project-track,
.home-project-viewport:focus-within .home-project-track { animation-play-state: paused; }
.home-project-group { display: flex; gap: 1rem; padding-right: 1rem; }
.home-project-item { display: flex; width: 340px; min-height: 244px; flex-direction: column; padding: 1.25rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: 8px; background: #fff; color: var(--text); }
.home-project-item > div { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.home-project-item > div span { color: #15803d; font-size: .66rem; font-weight: 800; }
.home-project-item > div b { color: #9a3412; font-size: .64rem; }
.home-project-item h3 { margin-top: .85rem; color: var(--deep); font-size: 1rem; }
.home-project-item p { margin-top: .4rem; color: var(--muted); font-size: .76rem; }
.home-project-item dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: auto; padding-top: 1rem; }
.home-project-item dl div { min-width: 0; padding-right: .55rem; }
.home-project-item dl div + div { padding-left: .55rem; border-left: 1px solid #dce8e0; }
.home-project-item dt { color: #84938c; font-size: .58rem; }
.home-project-item dd { margin-top: .2rem; overflow-wrap: anywhere; color: #365448; font-size: .64rem; font-weight: 800; }
.home-matching-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.1rem; color: #c7ded2; font-size: .7rem; }
.home-matching-foot span { display: flex; align-items: center; gap: .45rem; }
.home-matching-foot i { width: 6px; height: 6px; border-radius: 50%; background: #fdba74; }
.home-matching-foot a { color: #fff; font-weight: 800; }
@keyframes home-project-scroll { to { transform: translateX(-50%); } }
.demand-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: .85rem; overflow: hidden; border: 1px solid #dce8e0; border-radius: 6px; background: #dce8e0; }
.demand-progress span { min-width: 0; padding: .55rem .45rem; background: #f7faf8; }
.demand-progress small { display: block; color: #84938c; font-size: .58rem; }
.demand-progress b { display: block; margin-top: .18rem; overflow-wrap: anywhere; color: #365448; font-size: .64rem; }
.team-availability { display: grid; gap: .25rem; margin-top: .75rem; padding: .65rem .75rem; border-radius: 6px; background: #f0fdf4; }
.team-availability span { color: #496359; font-size: .65rem; }
.team-availability b { color: #166534; font-size: .68rem; }

@media (max-width: 1040px) {
  .scene-group-items,
  .agent-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .government-path .container,
  .wanwusheng-hero-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .wanwusheng-mark { max-width: 540px; min-height: 210px; }
  .agent-stack article { grid-template-columns: 130px 220px minmax(0, 1fr); }
}

@media (max-width: 700px) {
  .scene-group { padding: 1.1rem; }
  .scene-group-items,
  .agent-capability-grid { grid-template-columns: 1fr; }
  .government-path-list li { grid-template-columns: 1fr; gap: .25rem; }
  .wanwusheng-mark { min-height: 180px; }
  .wanwusheng-mark strong { font-size: 2rem; }
  .foundation-overview a { grid-template-columns: 62px minmax(0, 1fr); padding: 1rem; }
  .foundation-example { grid-template-columns: 1fr; gap: .8rem; }
  .foundation-example figcaption { padding: .1rem .35rem .25rem; }
  .agent-stack article { grid-template-columns: 1fr; gap: .5rem; }
  .agent-stack article > div { margin-top: .25rem; }
  .foundation-bridge { grid-template-columns: 1fr; gap: .35rem; }
  .home-matching { padding: 3.5rem 0 3rem; }
  .home-matching-head { align-items: flex-start; flex-direction: column; }
  .home-matching-head h2 { font-size: 1.7rem; }
  .home-matching-head .btn { width: 100%; }
  .home-matching-metrics { grid-template-columns: 1fr 1fr; }
  .home-matching-metrics div { display: flex; min-height: 94px; flex-direction: column-reverse; justify-content: center; gap: .45rem; padding: 1rem; }
  .home-matching-metrics div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .2); }
  .home-matching-metrics div:nth-child(4) { border-top: 1px solid rgba(255, 255, 255, .2); }
  .home-matching-metrics dd { font-size: 1.8rem; }
  .home-project-viewport { overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .home-project-viewport::-webkit-scrollbar { display: none; }
  .home-project-track { animation: none; }
  .home-project-group { padding-left: 1.5rem; }
  .home-project-group[aria-hidden="true"] { display: none; }
  .home-project-item { width: min(310px, calc(100vw - 4rem)); scroll-snap-align: start; }
  .home-matching-foot { align-items: flex-start; flex-direction: column; padding-inline: 0; }
  .demand-progress { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .home-project-track { animation: none; }
  .home-project-group[aria-hidden="true"] { display: none; }
  .home-project-viewport { overflow-x: auto; }
}

/* Community project management platform */
.project-hero { overflow: hidden; }
.project-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, 520px); align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }
.project-hero h1 { max-width: 780px; }
.project-hero-note { margin-top: 1.25rem; color: #64766e; font-size: .7rem; }
.project-hero-preview { overflow: hidden; border: 1px solid #bdd3c5; border-radius: 8px; background: #fff; box-shadow: 0 24px 60px rgba(31, 78, 57, .16); }
.project-preview-bar { display: flex; align-items: center; gap: 6px; height: 42px; padding: 0 14px; border-bottom: 1px solid #dce8e0; background: #f7faf8; }
.project-preview-bar > span { width: 7px; height: 7px; border-radius: 50%; background: #f97316; }
.project-preview-bar > span:nth-child(2) { background: #fbbf24; }
.project-preview-bar > span:nth-child(3) { background: #22c55e; }
.project-preview-bar b { margin-left: 8px; color: #355648; font-size: .66rem; }
.project-preview-body { display: grid; grid-template-columns: 62px minmax(0, 1fr); min-height: 260px; }
.project-preview-body aside { display: grid; align-content: start; gap: 14px; padding: 22px 18px; background: #174b36; }
.project-preview-body aside i { width: 24px; height: 7px; border-radius: 2px; background: rgba(255,255,255,.34); }
.project-preview-body aside i:first-child { background: #fb923c; }
.project-preview-body > div { padding: 28px 26px; }
.project-preview-body > div > span { color: #9a3412; font-size: .67rem; font-weight: 800; }
.project-preview-body > div > strong { display: block; margin-top: 18px; color: var(--deep); font-size: 1.05rem; }
.project-preview-progress { height: 7px; margin: 9px 0 24px; overflow: hidden; border-radius: 3px; background: #e6eee9; }
.project-preview-progress i { display: block; width: 68%; height: 100%; background: #f97316; }
.project-preview-body dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.project-preview-body dl div { min-width: 0; padding: 12px 9px; background: #f7faf8; }
.project-preview-body dt { color: #71837a; font-size: .56rem; }
.project-preview-body dd { margin-top: 5px; color: #174b36; font-size: 1rem; font-weight: 800; }
.project-role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.project-role-grid article { min-height: 270px; padding: 1.45rem; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.project-role-grid article:nth-child(2) { border-top-color: #fb923c; }
.project-role-grid span { color: #15803d; font-size: .68rem; font-weight: 850; }
.project-role-grid h3 { margin: .75rem 0 .45rem; color: var(--deep); font-size: 1.12rem; }
.project-role-grid p { color: var(--muted); font-size: .78rem; }
.project-role-grid ul { display: grid; gap: .45rem; margin-top: 1rem; padding: 0; color: #426054; font-size: .73rem; list-style: none; }
.project-role-grid li { position: relative; padding-left: 14px; }
.project-role-grid li::before { position: absolute; top: .55em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #f97316; content: ''; }
.project-capability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--line); gap: 1px; }
.project-capability-grid article { min-height: 190px; padding: 1.25rem; background: #fff; }
.project-capability-grid b { color: #c2410c; font-size: .66rem; }
.project-capability-grid h3 { margin: .65rem 0 .4rem; color: var(--deep); font-size: .94rem; }
.project-capability-grid p { color: var(--muted); font-size: .74rem; }
.project-flow { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); list-style: none; }
.project-flow li { position: relative; display: grid; align-content: center; min-height: 150px; padding: 1.1rem; border-right: 1px solid var(--line); }
.project-flow li:last-child { border-right: 0; }
.project-flow li:not(:last-child)::after { position: absolute; z-index: 1; top: 50%; right: -9px; width: 16px; height: 16px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); background: #fff; content: ''; transform: translateY(-50%) rotate(45deg); }
.project-flow b { color: #c2410c; font-size: .64rem; }
.project-flow span { margin-top: .7rem; color: #244c3a; font-size: .8rem; font-weight: 800; }
.project-flow small { margin-top: .25rem; color: #73847c; font-size: .62rem; }
.project-platform-section { scroll-margin-top: 82px; background: linear-gradient(180deg, #fff 0%, #f0f8f3 100%); }
.project-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.project-section-heading > div { max-width: 780px; }
.project-section-heading h2 { margin: .5rem 0; color: var(--deep); font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.25; }
.project-section-heading p { color: var(--muted); }
.project-platform { display: grid; grid-template-columns: 238px minmax(0, 1fr); min-height: 680px; overflow: hidden; border: 1px solid #b9cfc0; border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(25, 69, 50, .14); }
.project-sidebar { display: flex; min-width: 0; flex-direction: column; padding: 1rem; background: #174b36; color: #fff; }
.project-sidebar-brand { display: flex; align-items: center; gap: .7rem; padding: .35rem .25rem 1.1rem; border-bottom: 1px solid rgba(255,255,255,.15); }
.project-sidebar-brand > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 6px; background: #fb7a1a; font-size: .67rem; font-weight: 900; }
.project-sidebar-brand div { display: grid; gap: .12rem; }
.project-sidebar-brand strong { font-size: .78rem; }
.project-sidebar-brand small { color: #b8d2c3; font-size: .58rem; }
.project-sidebar nav { margin-top: 1.25rem; }
.project-sidebar nav > p { margin: 0 .45rem .55rem; color: #a9c9b8; font-size: .6rem; }
.project-switch { display: grid; width: 100%; grid-template-columns: 34px minmax(0, 1fr); gap: .65rem; align-items: center; margin-bottom: .35rem; padding: .7rem; border: 1px solid transparent; border-radius: 6px; color: #d9e8df; background: transparent; text-align: left; cursor: pointer; }
.project-switch:hover { background: rgba(255,255,255,.07); }
.project-switch:focus-visible { outline: 2px solid #fdba74; outline-offset: 2px; }
.project-switch.is-active { border-color: rgba(255,255,255,.17); background: #fff; color: #174b36; }
.project-switch > span:first-child { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 5px; background: rgba(255,255,255,.12); font-size: .72rem; font-weight: 850; }
.project-switch.is-active > span:first-child { color: #9a3412; background: #ffedd5; }
.project-switch > span:last-child { display: grid; min-width: 0; gap: .14rem; }
.project-switch b { overflow: hidden; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.project-switch small { color: inherit; font-size: .55rem; opacity: .7; }
.project-sidebar-profile { display: flex; align-items: center; gap: .7rem; margin-top: auto; padding: .75rem; border-top: 1px solid rgba(255,255,255,.15); }
.project-sidebar-profile img { width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid rgba(255,255,255,.32); border-radius: 6px; object-fit: cover; object-position: center; }
.project-sidebar-profile > div { display: grid; min-width: 0; gap: .15rem; }
.project-sidebar-profile strong { overflow: hidden; color: #fff; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.project-sidebar-profile span { overflow: hidden; color: #bcd1c5; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.project-workbench { min-width: 0; background: #f6f9f7; }
.project-workbench-head { display: flex; min-height: 124px; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.55rem 1.7rem; border-bottom: 1px solid #dce8e0; background: #fff; }
.project-workbench-head > div:first-child { min-width: 0; }
.project-workbench-head > div:first-child > span { color: #9a3412; font-size: .6rem; font-weight: 800; }
.project-workbench-head h3 { margin: .32rem 0 .2rem; color: var(--deep); font-size: 1.32rem; }
.project-workbench-head p { max-width: 650px; color: #667970; font-size: .68rem; }
.project-head-status { display: grid; flex-shrink: 0; gap: .22rem; text-align: right; }
.project-head-status span { color: #15803d; font-size: .66rem; font-weight: 800; }
.project-head-status b { color: var(--deep); font-size: 1.5rem; }
.project-tabs { display: flex; min-height: 52px; padding: 0 1.7rem; border-bottom: 1px solid #dce8e0; background: #fff; }
.project-tabs button { position: relative; min-width: 96px; padding: 0 1rem; border: 0; color: #677a71; background: transparent; font-size: .7rem; font-weight: 750; cursor: pointer; }
.project-tabs button[aria-selected="true"] { color: #174b36; }
.project-tabs button[aria-selected="true"]::after { position: absolute; right: 1rem; bottom: -1px; left: 1rem; height: 3px; background: #f97316; content: ''; }
.project-tabs button:focus-visible { outline: 2px solid #f97316; outline-offset: -4px; }
.project-tab-panel { min-height: 502px; padding: 1.35rem 1.7rem 1.7rem; }
.project-tab-panel:focus { outline: none; }
.project-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.project-metric-grid article { min-height: 126px; padding: 1rem; border: 1px solid #dce8e0; border-radius: 6px; background: #fff; }
.project-metric-grid article > span { color: #6a7e74; font-size: .62rem; }
.project-metric-grid strong { display: block; margin-top: .55rem; color: #174b36; font-size: 1.55rem; }
.project-metric-grid strong small { font-size: .64rem; }
.project-metric-grid p { margin-top: .35rem; color: #788980; font-size: .56rem; }
.project-metric-progress { height: 5px; margin-top: .7rem; overflow: hidden; border-radius: 3px; background: #e6eee9; }
.project-metric-progress i { display: block; height: 100%; background: #f97316; }
.project-overview-lower { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(250px, .8fr); gap: .75rem; margin-top: .75rem; }
.project-overview-lower > article { min-height: 245px; padding: 1.2rem; border: 1px solid #dce8e0; border-radius: 6px; background: #fff; }
.project-health > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.project-health > div span, .project-business > span { color: #466057; font-size: .7rem; font-weight: 800; }
.project-health > div b { padding: .25rem .45rem; border-radius: 4px; color: #166534; background: #dcfce7; font-size: .58rem; }
.project-health > p, .project-business > p { margin-top: .75rem; color: #667970; font-size: .66rem; }
.project-health dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 1.3rem; background: #e1eae4; }
.project-health dl div { min-width: 0; padding: .8rem .65rem; background: #f8faf9; }
.project-health dt { color: #829188; font-size: .55rem; }
.project-health dd { margin-top: .3rem; overflow-wrap: anywhere; color: #2c4f40; font-size: .64rem; font-weight: 800; }
.project-business ul { display: grid; gap: 1px; margin-top: .9rem; background: #e1eae4; }
.project-business li { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem .7rem; background: #f8faf9; font-size: .61rem; }
.project-business li span { color: #71827a; }
.project-business li b { color: #365448; }
.project-table-wrap { overflow-x: auto; border: 1px solid #dce8e0; border-radius: 6px; background: #fff; }
.project-milestone-table { width: 100%; min-width: 760px; border-collapse: collapse; text-align: left; }
.project-milestone-table th { padding: .75rem .8rem; border-bottom: 1px solid #dce8e0; color: #71827a; background: #f8faf9; font-size: .58rem; }
.project-milestone-table td { padding: .9rem .8rem; border-bottom: 1px solid #e6eee9; color: #536a60; font-size: .63rem; }
.project-milestone-table tr:last-child td { border-bottom: 0; }
.project-milestone-table td:first-child { min-width: 170px; }
.project-row-number { margin-right: .55rem; color: #b4c0ba; font-size: .55rem; }
.project-milestone-table strong { color: #2b4c3e; }
.project-status { display: inline-block; min-width: 52px; padding: .25rem .4rem; border-radius: 4px; text-align: center; font-size: .56rem; font-weight: 800; }
.project-status.done { color: #166534; background: #dcfce7; }
.project-status.current { color: #9a3412; background: #ffedd5; }
.project-status.pending { color: #586b62; background: #e8eeea; }
.project-panel-note { margin-top: .85rem; color: #788980; font-size: .58rem; }
.project-records { position: relative; display: grid; gap: 0; padding: .2rem .2rem .2rem 0; }
.project-records::before { position: absolute; top: 17px; bottom: 22px; left: 91px; width: 1px; background: #ccdbd2; content: ''; }
.project-records article { position: relative; z-index: 1; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: .8rem; min-height: 92px; }
.project-record-marker { display: grid; grid-template-columns: 1fr 14px; gap: .55rem; align-items: start; padding-top: .32rem; }
.project-record-marker i { grid-column: 2; grid-row: 1; width: 11px; height: 11px; border: 3px solid #f6f9f7; border-radius: 50%; background: #f97316; box-shadow: 0 0 0 1px #f97316; }
.project-record-marker span { grid-column: 1; grid-row: 1; color: #7a8b82; font-size: .55rem; text-align: right; }
.project-records article > div:last-child { padding: 0 0 1.1rem .4rem; }
.project-record-type { display: inline-block; margin-bottom: .35rem; padding: .2rem .35rem; border-radius: 3px; color: #166534; background: #dcfce7; font-size: .54rem; font-weight: 800; }
.project-records h4 { color: #2b4c3e; font-size: .73rem; }
.project-records p { margin-top: .25rem; color: #667970; font-size: .62rem; }
.project-data-boundary { margin-top: .8rem; color: #71827a; font-size: .6rem; text-align: center; }

@media (max-width: 1100px) {
  .project-hero-layout { grid-template-columns: minmax(0, 1fr) 390px; gap: 2rem; }
  .project-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-flow { grid-template-columns: repeat(3, 1fr); }
  .project-flow li:nth-child(3) { border-right: 0; }
  .project-flow li:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .project-flow li:nth-child(3)::after { display: none; }
  .project-platform { grid-template-columns: 210px minmax(0, 1fr); }
  .project-metric-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .project-hero-layout { grid-template-columns: 1fr; }
  .project-hero-preview { max-width: 560px; transform: none; }
  .project-role-grid { grid-template-columns: 1fr; }
  .project-role-grid article { min-height: auto; }
  .project-platform { grid-template-columns: 1fr; }
  .project-sidebar { display: block; padding: .8rem; }
  .project-sidebar-brand { padding-bottom: .7rem; }
  .project-sidebar nav { display: flex; gap: .5rem; margin-top: .8rem; overflow-x: auto; scrollbar-width: none; }
  .project-sidebar nav::-webkit-scrollbar { display: none; }
  .project-sidebar nav > p { display: none; }
  .platform-menu-item { min-width: 156px; flex: 0 0 156px; border-left: 0; border-bottom: 3px solid transparent; border-radius: 5px 5px 0 0; }
  .platform-menu-item.is-active { border-bottom-color: #fb7a1a; }
  .platform-menu-item span { width: 24px; flex-shrink: 0; }
  .platform-menu-item b { white-space: nowrap; }
  .project-switch { min-width: 190px; margin-bottom: 0; }
  .project-sidebar-profile { margin-top: .75rem; padding: .7rem .25rem 0; }
  .project-overview-lower { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .project-hero .button-row, .project-hero .btn { width: 100%; }
  .project-preview-body { grid-template-columns: 46px minmax(0, 1fr); min-height: 220px; }
  .project-preview-body aside { padding: 18px 12px; }
  .project-preview-body aside i { width: 20px; }
  .project-preview-body > div { padding: 22px 16px; }
  .project-preview-body dl { gap: 4px; }
  .project-preview-body dl div { padding: 9px 5px; }
  .project-preview-body dt { min-height: 2.8em; }
  .project-capability-grid { grid-template-columns: 1fr; }
  .project-capability-grid article { min-height: auto; }
  .project-flow { grid-template-columns: repeat(2, 1fr); }
  .project-flow li { min-height: 126px; }
  .project-flow li:nth-child(3) { border-right: 1px solid var(--line); }
  .project-flow li:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .project-flow li:nth-child(2n) { border-right: 0; }
  .project-flow li:nth-child(2)::after, .project-flow li:nth-child(4)::after { display: none; }
  .project-flow li:nth-child(3)::after { display: block; }
  .project-section-heading { align-items: flex-start; flex-direction: column; gap: .7rem; }
  .project-platform-section > .container { padding-inline: 0; }
  .project-platform-section .project-section-heading, .project-data-boundary { margin-inline: 1rem; }
  .project-platform { border-inline: 0; border-radius: 0; box-shadow: none; }
  .project-workbench-head { min-height: auto; align-items: flex-start; padding: 1.1rem 1rem; }
  .project-workbench-head h3 { font-size: 1.1rem; }
  .project-workbench-head p { font-size: .62rem; }
  .project-head-status b { font-size: 1.2rem; }
  .project-tabs { padding-inline: .35rem; overflow-x: auto; scrollbar-width: none; }
  .project-tabs::-webkit-scrollbar { display: none; }
  .project-tabs button { min-width: 100px; min-height: 48px; }
  .project-tab-panel { min-height: 520px; padding: 1rem; }
  .project-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .project-metric-grid article { min-height: 116px; padding: .8rem; }
  .project-health dl { grid-template-columns: 1fr; }
  .project-table-wrap { overflow: visible; border: 0; background: transparent; }
  .project-milestone-table { min-width: 0; }
  .project-milestone-table thead { display: none; }
  .project-milestone-table, .project-milestone-table tbody, .project-milestone-table tr, .project-milestone-table td { display: block; width: 100%; }
  .project-milestone-table tr { margin-bottom: .65rem; padding: .75rem; border: 1px solid #dce8e0; border-radius: 6px; background: #fff; }
  .project-milestone-table td { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: .5rem; padding: .32rem 0; border: 0; }
  .project-milestone-table td::before { color: #819087; font-size: .56rem; content: attr(data-label); }
  .project-milestone-table td:first-child { min-width: 0; }
  .project-row-number { display: none; }
  .project-records::before { left: 7px; }
  .project-records article { grid-template-columns: 20px minmax(0, 1fr); }
  .project-record-marker { display: block; padding-top: .35rem; }
  .project-record-marker i { display: block; }
  .project-record-marker span { position: absolute; top: 2px; right: 0; }
  .project-records article > div:last-child { padding-left: .25rem; }
}

/* Single workbench home */
.project-feature-banner { overflow: hidden; padding-bottom: 1.3rem; background: #f7faf8; }
.project-feature-viewport { width: 100%; overflow: hidden; }
.project-feature-viewport:focus-visible { outline: 2px solid #f97316; outline-offset: -2px; }
.project-feature-track { display: flex; width: max-content; animation: project-feature-scroll 52s linear infinite; }
.project-feature-viewport:hover .project-feature-track, .project-feature-viewport:focus-within .project-feature-track { animation-play-state: paused; }
.project-feature-group { display: flex; gap: 1rem; padding-right: 1rem; }
.project-feature-group article { display: grid; width: 286px; min-height: 190px; align-content: start; padding: 1.2rem; border: 1px solid #d5e3da; border-radius: 7px; background: #fff; box-shadow: 0 9px 24px rgba(35,83,62,.08); }
.project-feature-group article b { color: #c2410c; font-size: .62rem; }
.project-feature-group article > span { margin-top: .65rem; color: #15803d; font-size: .62rem; font-weight: 800; }
.project-feature-group h3 { margin-top: .32rem; color: var(--deep); font-size: .98rem; }
.project-feature-group p { margin-top: .4rem; color: var(--muted); font-size: .71rem; line-height: 1.65; }
.project-feature-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; color: #75877e; font-size: .6rem; }
.project-feature-foot a { color: #c2410c; font-size: .65rem; font-weight: 800; text-decoration: none; }
@keyframes project-feature-scroll { to { transform: translateX(-50%); } }

.platform-menu-item { display: flex; align-items: center; gap: .7rem; min-height: 42px; margin-bottom: .25rem; padding: .65rem .7rem; border-left: 3px solid transparent; border-radius: 0 5px 5px 0; color: #d9e8df; font-size: .68rem; text-decoration: none; }
.platform-menu-item.is-active { border-left-color: #fb7a1a; color: #9a3412; background: #fff4e9; }
.platform-menu-item span { display: grid; width: 22px; height: 22px; place-items: center; color: currentColor; font-size: .88rem; font-weight: 850; }
.platform-menu-item b { font-size: .68rem; font-weight: 750; }
.project-dashboard { background: #f4f7fb; }
.project-dashboard .project-workbench-head { min-height: 136px; padding: 1.25rem 1.65rem; }
.project-account { display: flex; min-width: 0; align-items: center; gap: .85rem; }
.project-account-avatar { display: grid; width: 54px; height: 54px; flex-shrink: 0; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; background: #fb7a1a; box-shadow: 0 4px 12px rgba(249,115,22,.2); font-size: 1.25rem; font-weight: 900; }
.project-account > div:last-child { min-width: 0; }
.project-account > div:last-child > span { color: #9a3412; font-size: .6rem; font-weight: 800; }
.project-account h3 { margin: .25rem 0 .15rem; font-size: 1.28rem; }
.project-account p { overflow: hidden; color: #60736a; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.project-account-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.project-account-tags i { padding: .25rem .45rem; border: 1px solid #dce8e0; border-radius: 4px; color: #496359; background: #f8faf9; font-size: .56rem; font-style: normal; }
.project-account-tags i:last-child { border-color: #fdba74; color: #9a3412; background: #fff7ed; }
.project-dashboard .project-head-status { min-width: 72px; padding-left: 1.3rem; border-left: 1px solid #e1e8e3; }
.project-dashboard .project-head-status b { font-size: 1.8rem; line-height: 1; }
.project-dashboard .project-head-status small { color: #15803d; font-size: .58rem; }
.project-dashboard-body { padding: 1.15rem 1.65rem 1.5rem; }
.project-dashboard-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.project-dashboard-kpis article { min-height: 112px; padding: .9rem 1rem; border: 1px solid #dbe5ee; border-radius: 5px; background: #fff; box-shadow: 0 4px 12px rgba(47,70,92,.04); }
.project-dashboard-kpis span { color: #687a88; font-size: .61rem; }
.project-dashboard-kpis strong { display: block; margin-top: .5rem; color: #203b4e; font-size: 1.55rem; line-height: 1; }
.project-dashboard-kpis article:nth-child(4) strong { font-size: 1.18rem; }
.project-dashboard-kpis small { display: block; margin-top: .45rem; color: #84939d; font-size: .56rem; }
.project-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: .75rem; margin-top: .75rem; }
.dashboard-card { min-width: 0; padding: 1.05rem 1.1rem; border: 1px solid #dbe5ee; border-radius: 5px; background: #fff; box-shadow: 0 4px 12px rgba(47,70,92,.04); }
.dashboard-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.dashboard-card-head span { color: #768793; font-size: .58rem; }
.dashboard-card-head h4 { margin-top: .28rem; color: #244154; font-size: .86rem; }
.dashboard-card-head > b { flex-shrink: 0; color: #9a3412; font-size: .58rem; }
.dashboard-card-head a { color: #c2410c; font-size: .58rem; text-decoration: none; }
.dashboard-progress { min-height: 280px; }
.dashboard-progress-main { display: grid; grid-template-columns: 148px minmax(0, 1fr); align-items: center; gap: 1.5rem; margin-top: 1.3rem; }
.dashboard-score { padding: 1rem; border: 1px solid #f1d2b9; border-radius: 5px; background: #fffaf5; text-align: center; }
.dashboard-score strong { display: block; color: #9a3412; font-size: 2rem; line-height: 1; }
.dashboard-score span { display: block; margin-top: .35rem; color: #7b8b95; font-size: .56rem; }
.dashboard-score > i { display: block; height: 6px; margin-top: .8rem; overflow: hidden; border-radius: 3px; background: #f1dfd0; }
.dashboard-score > i b { display: block; height: 100%; background: #c2410c; }
.dashboard-stage-list { display: grid; gap: .8rem; }
.dashboard-stage-list div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .55rem; border-bottom: 1px solid #edf1f3; }
.dashboard-stage-list span { color: #526875; font-size: .64rem; }
.dashboard-stage-list span i { display: inline-block; width: 7px; height: 7px; margin-right: .4rem; border-radius: 50%; background: #cdd7dc; }
.dashboard-stage-list span i.done { background: #16a34a; }
.dashboard-stage-list span i.current { background: #f97316; }
.dashboard-stage-list b { color: #29485b; font-size: .62rem; }
.dashboard-next { min-height: 280px; }
.dashboard-todo-list { display: grid; gap: .55rem; margin-top: 1.15rem; }
.dashboard-todo-list li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: .55rem; align-items: center; padding: .65rem .55rem; border: 1px solid #edf1f3; border-radius: 4px; background: #fbfcfd; }
.todo-priority { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 4px; font-size: .55rem; font-weight: 800; }
.todo-priority.high { color: #b91c1c; background: #fee2e2; }
.todo-priority.mid { color: #9a3412; background: #ffedd5; }
.todo-priority.low { color: #166534; background: #dcfce7; }
.dashboard-todo-list li div { min-width: 0; }
.dashboard-todo-list b { display: block; overflow: hidden; color: #2f4b5a; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-todo-list small { display: block; margin-top: .22rem; color: #87949c; font-size: .55rem; }
.dashboard-todo-list em { padding: .25rem .35rem; border-radius: 3px; color: #9a3412; background: #fff4e9; font-size: .54rem; font-style: normal; white-space: nowrap; }
.dashboard-milestones { min-height: 270px; }
.dashboard-milestone-list { display: grid; gap: .7rem; margin-top: 1rem; }
.dashboard-milestone-list li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: .55rem; align-items: center; }
.milestone-state { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; font-size: .58rem; font-weight: 850; }
.milestone-state.done { color: #166534; background: #dcfce7; }
.milestone-state.current { color: #9a3412; background: #ffedd5; }
.milestone-state.pending { color: #71808a; background: #edf1f3; }
.dashboard-milestone-list li div { min-width: 0; }
.dashboard-milestone-list b { display: block; overflow: hidden; color: #2f4b5a; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-milestone-list small { display: block; margin-top: .18rem; color: #87949c; font-size: .55rem; }
.dashboard-milestone-list em { max-width: 80px; overflow: hidden; color: #70818c; font-size: .55rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-health { min-height: 270px; }
.health-good { padding: .25rem .42rem; border-radius: 4px; color: #166534 !important; background: #dcfce7; }
.dashboard-health-summary { margin-top: .9rem; color: #5f7480; font-size: .62rem; line-height: 1.7; }
.dashboard-health-bars { display: grid; gap: .55rem; margin-top: .95rem; }
.dashboard-health-bars div { display: grid; grid-template-columns: 42px minmax(0, 1fr) 35px; gap: .45rem; align-items: center; }
.dashboard-health-bars span, .dashboard-health-bars em { color: #73848d; font-size: .55rem; font-style: normal; }
.dashboard-health-bars em { color: #365448; text-align: right; }
.dashboard-health-bars i { display: block; height: 5px; overflow: hidden; border-radius: 3px; background: #e4edf2; }
.dashboard-health-bars i b { display: block; height: 100%; background: #f97316; }
.dashboard-timeline { display: grid; gap: .45rem; margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #edf1f3; }
.dashboard-timeline p { display: flex; justify-content: space-between; gap: .7rem; color: #829099; font-size: .55rem; }
.dashboard-timeline b { color: #47606e; font-size: .58rem; font-weight: 700; }
.dashboard-footer-note { margin-top: 1rem; color: #84939d; font-size: .56rem; line-height: 1.6; }
.dashboard-footer-note span { margin-right: .3rem; color: #9a3412; font-weight: 800; }

@media (max-width: 1100px) {
  .project-dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-progress-main { grid-template-columns: 125px minmax(0, 1fr); gap: .9rem; }
  .dashboard-score { padding-inline: .7rem; }
}

@media (max-width: 820px) {
  .project-dashboard .project-workbench-head { min-height: auto; }
  .project-dashboard-grid { grid-template-columns: 1fr; }
  .project-dashboard-body { padding-inline: 1rem; }
  .project-account-avatar { width: 46px; height: 46px; font-size: 1rem; }
}

@media (max-width: 700px) {
  .project-feature-group { padding-left: 1rem; }
  .project-feature-group article { width: min(286px, calc(100vw - 3rem)); }
  .project-feature-foot { align-items: flex-start; flex-direction: column; }
  .project-dashboard .project-workbench-head { align-items: flex-start; padding: 1rem; }
  .project-account { align-items: flex-start; }
  .project-account p { max-width: 180px; overflow: visible; white-space: normal; }
  .project-dashboard .project-head-status { padding-left: .7rem; }
  .project-dashboard .project-head-status b { font-size: 1.35rem; }
  .project-dashboard-kpis { gap: .5rem; }
  .project-dashboard-kpis article { min-height: 96px; padding: .75rem; }
  .project-dashboard-kpis strong { font-size: 1.25rem; }
  .project-dashboard-kpis article:nth-child(4) strong { font-size: .98rem; }
  .dashboard-progress-main { grid-template-columns: 1fr; justify-items: center; }
  .dashboard-stage-list { width: 100%; }
  .dashboard-card { padding: .85rem; }
  .dashboard-todo-list li { grid-template-columns: 22px minmax(0, 1fr); }
  .dashboard-todo-list em { grid-column: 2; justify-self: start; }
  .dashboard-timeline p { align-items: flex-start; flex-direction: column; gap: .15rem; }
}

@media (prefers-reduced-motion: reduce) {
  .project-feature-track { animation: none; }
  .project-feature-group[aria-hidden="true"] { display: none; }
  .project-feature-viewport { overflow-x: auto; }
}

/* Static 16:9 workbench preview */
@media (min-width: 821px) {
  .project-platform { min-height: 0; aspect-ratio: 16 / 9; grid-template-rows: minmax(0, 1fr); }
  .project-sidebar, .project-dashboard { min-height: 0; height: 100%; }
  .project-sidebar { padding: .8rem; }
  .project-sidebar-brand { padding: .2rem .15rem .75rem; }
  .project-sidebar-brand > span { width: 32px; height: 32px; }
  .project-sidebar nav { margin-top: .8rem; }
  .project-sidebar nav > p { margin-bottom: .35rem; }
  .platform-menu-item { min-height: 34px; margin-bottom: .12rem; padding: .42rem .55rem; }
  .platform-menu-item { border-left-width: 1px; }
  .project-sidebar-profile { padding: .6rem .25rem .15rem; }
  .project-sidebar-profile img { width: 38px; height: 38px; flex-basis: 38px; }

  .project-dashboard { display: grid; grid-template-rows: 104px minmax(0, 1fr); overflow: hidden; }
  .project-dashboard .project-workbench-head { min-height: 0; height: 104px; gap: 1rem; padding: .75rem 1rem; }
  .project-account { gap: .65rem; }
  .project-account-avatar { width: 44px; height: 44px; font-size: 1rem; }
  .project-account h3 { margin: .18rem 0 .1rem; font-size: 1.08rem; }
  .project-account p { font-size: .58rem; }
  .project-account-tags { gap: .25rem; margin-top: .3rem; }
  .project-account-tags i { padding: .18rem .35rem; font-size: .5rem; }
  .project-dashboard .project-head-status { min-width: 66px; padding-left: .85rem; }
  .project-dashboard .project-head-status b { font-size: 1.45rem; }

  .project-dashboard-body { display: grid; min-height: 0; grid-template-rows: 72px minmax(0, 1fr) auto; gap: .5rem; padding: .65rem 1rem .7rem; overflow: hidden; }
  .project-dashboard-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
  .project-dashboard-kpis article { min-height: 0; height: 72px; padding: .6rem .7rem; }
  .project-dashboard-kpis strong { margin-top: .3rem; font-size: 1.22rem; }
  .project-dashboard-kpis article:nth-child(4) strong { font-size: 1rem; }
  .project-dashboard-kpis small { margin-top: .25rem; font-size: .5rem; }

  .project-dashboard-grid { min-height: 0; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-top: 0; overflow: hidden; }
  .dashboard-card { min-height: 0; height: 100%; padding: .65rem .75rem; overflow: hidden; }
  .dashboard-card-head { gap: .5rem; }
  .dashboard-card-head h4 { margin-top: .16rem; font-size: .75rem; }
  .dashboard-progress, .dashboard-next, .dashboard-milestones, .dashboard-health { min-height: 0; }

  .dashboard-progress-main { grid-template-columns: 112px minmax(0, 1fr); gap: .8rem; margin-top: .55rem; }
  .dashboard-score { padding: .65rem; }
  .dashboard-score strong { font-size: 1.45rem; }
  .dashboard-score span { margin-top: .2rem; font-size: .5rem; }
  .dashboard-score > i { height: 4px; margin-top: .45rem; }
  .dashboard-stage-list { gap: .3rem; }
  .dashboard-stage-list div { padding-bottom: .25rem; }
  .dashboard-stage-list span, .dashboard-stage-list b { font-size: .56rem; }

  .dashboard-todo-list { gap: .22rem; margin-top: .4rem; }
  .dashboard-todo-list li { grid-template-columns: 18px minmax(0, 1fr) auto; gap: .4rem; padding: .3rem .42rem; }
  .todo-priority { width: 18px; height: 18px; font-size: .5rem; }
  .dashboard-todo-list b { font-size: .58rem; }
  .dashboard-todo-list small { margin-top: .1rem; font-size: .49rem; }
  .dashboard-todo-list em { padding: .18rem .28rem; font-size: .48rem; }

  .dashboard-milestone-list { gap: .18rem; margin-top: .32rem; }
  .dashboard-milestone-list li { grid-template-columns: 19px minmax(0, 1fr) auto; gap: .42rem; }
  .milestone-state { width: 19px; height: 19px; font-size: .52rem; }
  .dashboard-milestone-list b { font-size: .57rem; }
  .dashboard-milestone-list small, .dashboard-milestone-list em { font-size: .49rem; }

  .dashboard-health-summary { margin-top: .4rem; font-size: .55rem; line-height: 1.45; }
  .dashboard-health-bars { gap: .3rem; margin-top: .45rem; }
  .dashboard-health-bars div { grid-template-columns: 36px minmax(0, 1fr) 30px; gap: .35rem; }
  .dashboard-health-bars span, .dashboard-health-bars em { font-size: .49rem; }
  .dashboard-health-bars i { height: 4px; }
  .dashboard-timeline { gap: .2rem; margin-top: .45rem; padding-top: .4rem; }
  .dashboard-timeline p, .dashboard-timeline b { font-size: .49rem; }
  .dashboard-footer-note { margin-top: 0; overflow: hidden; font-size: .5rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 820px) {
  .project-platform { min-height: 0; aspect-ratio: auto; }
  .platform-menu-item { border-bottom-width: 1px; }
}

/* Grouped portal navigation */
.grouped-nav { align-self: stretch; gap: .2rem; }
.nav-group { position: relative; display: flex; align-items: center; }
.nav-group-toggle { display: flex; min-height: 40px; align-items: center; gap: .45rem; padding: .55rem .72rem; border-radius: 6px; color: #425e53; background: transparent; font-size: .78rem; font-weight: 750; white-space: nowrap; }
.nav-group-toggle::after { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: translateY(-2px) rotate(45deg); transition: transform .18s ease; }
.nav-group-toggle:hover, .nav-group-toggle.active, .nav-group.open .nav-group-toggle { color: #9a3412; background: #fff1e6; }
.nav-group.open .nav-group-toggle::after { transform: translateY(2px) rotate(225deg); }
.nav-group-toggle:focus-visible, .nav-menu-link:focus-visible, .mobile-nav-toggle:focus-visible { outline: 2px solid #f97316; outline-offset: 2px; }
.nav-dropdown { position: absolute; top: calc(100% + 8px); left: 0; z-index: 120; display: grid; min-width: 188px; padding: .45rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; box-shadow: 0 18px 40px rgba(35,83,62,.14); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.nav-group:last-child .nav-dropdown { right: 0; left: auto; }
.nav-group.open .nav-dropdown { opacity: 1; visibility: visible; transform: none; }
.nav-menu-link { padding: .7rem .75rem; border-radius: 5px; color: #365448; font-size: .78rem; font-weight: 700; }
.nav-menu-link:hover, .nav-menu-link.active { color: #9a3412; background: #fff7ed; }
.nav-standalone { display: flex; min-height: 40px; align-items: center; padding: .55rem .72rem; border-radius: 6px; color: #425e53; font-size: .78rem; font-weight: 750; white-space: nowrap; }
.nav-standalone:hover, .nav-standalone.active { color: #9a3412; background: #fff1e6; }
.nav-standalone:focus-visible, .mobile-nav-standalone:focus-visible, .footer-contact-link:focus-visible { outline: 2px solid #f97316; outline-offset: 2px; }
.mobile-nav-group { border-bottom: 1px solid #e7eee9; }
.mobile-nav-toggle { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; padding: .75rem 1rem; color: #365448; background: transparent; font-size: .86rem; font-weight: 800; text-align: left; }
.mobile-nav-toggle::after { width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: translateY(-2px) rotate(45deg); transition: transform .18s ease; }
.mobile-nav-toggle[aria-expanded="true"]::after { transform: translateY(2px) rotate(225deg); }
.mobile-nav-toggle.active { color: #9a3412; }
.mobile-nav-links { display: none; padding: 0 .5rem .65rem; }
.mobile-nav-links.open { display: grid; }
.mobile-nav-links .mobile-link { padding: .65rem .75rem; }
.mobile-nav-standalone { min-height: 48px; padding: .75rem 1rem; border-bottom: 1px solid #e7eee9; color: #365448; font-size: .86rem; font-weight: 800; }
.mobile-nav-standalone.active { color: #9a3412; background: #fff7ed; }
.grouped-footer { display: grid; grid-template-columns: repeat(3, minmax(110px, 1fr)); gap: 2.5rem; }
.grouped-footer > div { display: grid; align-content: start; gap: .5rem; }
.grouped-footer h3 { margin-bottom: .15rem; color: #365448; font-size: .76rem; }
.grouped-footer a { color: #66766f; font-size: .76rem; }
.grouped-footer a:hover { color: #9a3412; }
.footer-contact-link { margin-top: .35rem; color: #9a3412 !important; font-weight: 800; }

/* Startup support directory */
.startup-services-hero { padding-block: 3.6rem; }
.startup-services-hero-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); align-items: center; gap: 4rem; }
.startup-services-hero h1 { max-width: 820px; font-size: clamp(2.4rem, 4.5vw, 4.25rem); }
.startup-service-summary { display: grid; gap: .6rem; padding: 1.5rem; border: 1px solid #fed7aa; border-radius: 8px; background: #fff; box-shadow: 0 18px 42px rgba(120,72,35,.1); }
.startup-service-summary span { color: #c2410c; font-size: .72rem; font-weight: 800; }
.startup-service-summary strong { color: #17352a; font-size: 1.35rem; }
.startup-service-summary p { color: #66766f; font-size: .82rem; }
.startup-service-map { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .45rem; padding: 1rem .85rem .95rem; border: 1px solid #cdebd7; border-radius: 10px; background: linear-gradient(145deg, #f4fbf6 0%, #fffaf4 100%); box-shadow: 0 14px 32px rgba(35,83,62,.1); }
.startup-map-track { position: absolute; z-index: 0; top: 2.55rem; right: 9%; left: 9%; height: 2px; background: #9bc3a9; }
.startup-map-node { position: relative; z-index: 1; display: grid; min-width: 0; justify-items: center; gap: .36rem; color: #2b5842; text-align: center; text-decoration: none; }
.startup-map-node span { display: grid; width: 30px; height: 30px; place-items: center; border: 3px solid #f4fbf6; border-radius: 50%; color: #fff; background: #2f855a; box-shadow: 0 0 0 1px #8fbea0; font-size: .6rem; font-weight: 850; }
.startup-map-node.is-accent span { background: #ca6b2d; box-shadow: 0 0 0 1px #e8a678; }
.startup-map-node strong { font-size: .68rem; font-weight: 850; line-height: 1.25; }
.startup-map-node small { max-width: 7.5rem; color: #6b7e73; font-size: .58rem; line-height: 1.45; }
.startup-map-node:hover strong { color: #9a3412; }
.startup-service-directory { background: linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(240,253,244,.82) 100%) !important; }
.startup-service-groups { border-top: 1px solid #cfded5; }
.startup-stage-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; margin: -.45rem 0 1.6rem; padding: .55rem; border: 1px solid #d6e6dc; border-radius: 8px; background: rgba(242,250,245,.8); }
.startup-stage-nav a { display: flex; min-height: 38px; align-items: center; justify-content: center; padding: .5rem .65rem; border: 1px solid transparent; border-radius: 5px; color: #476558; font-size: .74rem; font-weight: 800; text-align: center; text-decoration: none; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.startup-stage-nav a:hover, .startup-stage-nav a:focus-visible { border-color: #b9d8c4; color: #166534; background: #fff; outline: none; }
.startup-stage-nav a.is-active { border-color: #f2c39e; color: #9a3412; background: #fff8f2; }
.startup-service-row { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 2.28fr); gap: 2rem; padding: 2.25rem 0; border-bottom: 1px solid #cfded5; scroll-margin-top: 84px; }
.startup-service-row > header { display: flex; align-items: flex-start; gap: 1rem; }
.startup-service-row > header > span { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: #15803d; font-size: .68rem; font-weight: 800; }
.startup-service-row:nth-child(even) > header > span { background: #c2410c; }
.startup-service-row > header h2 { color: #17352a; font-size: 1.2rem; }
.startup-service-row > header p { max-width: 250px; margin-top: .35rem; color: #66766f; font-size: .78rem; }
.startup-service-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.startup-service-items.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.startup-service-items article { display: flex; min-width: 0; flex-direction: column; padding: .1rem 1.45rem 0; border-left: 1px solid #dce8e0; }
.startup-service-items h3 { color: #17352a; font-size: 1rem; }
.startup-service-items p { margin-top: .45rem; color: #66766f; font-size: .8rem; }
.startup-service-items ul { margin: .85rem 0 1rem; color: #496359; font-size: .76rem; }
.startup-service-items li { margin-block: .18rem; }
.startup-service-items a { margin-top: auto; color: #9a3412; font-size: .78rem; font-weight: 800; }
.startup-service-items a:hover { text-decoration: underline; text-underline-offset: 3px; }
.startup-service-note { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin-top: 1.5rem; padding: 1.1rem 1.25rem; border-radius: 8px; color: #496359; background: #fff7ed; }
.startup-service-note strong { color: #9a3412; }
.startup-service-note p { font-size: .8rem; }
.startup-service-note a { color: #9a3412; font-size: .8rem; font-weight: 800; white-space: nowrap; }

/* Role-specific portals */
.role-portal-hero { padding-block: 4.8rem; }
.role-hero-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: center; gap: 4rem; }
.role-portal-hero h1 { max-width: 820px; font-size: clamp(2.35rem, 4vw, 4rem); line-height: 1.12; }
.role-portal-hero p { max-width: 700px; }
.role-route-map { display: grid; padding: 1.1rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; box-shadow: 0 16px 38px rgba(35,83,62,.1); }
.role-route-map span { padding: 1rem; border-radius: 6px; color: #17352a; background: #f0fdf4; font-size: .88rem; font-weight: 800; text-align: center; }
.role-route-map span:nth-of-type(2) { color: #9a3412; background: #fff7ed; }
.role-route-map i { width: 1px; height: 24px; margin: 0 auto; background: #a8bdb1; }
.role-task-list { border-top: 1px solid #dce8e0; }
.role-task-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; padding: 1.45rem .25rem; border-bottom: 1px solid #dce8e0; }
.role-task-list article > div { display: grid; grid-template-columns: 120px minmax(220px, .8fr) minmax(300px, 1.2fr); align-items: center; gap: 1.5rem; }
.role-task-list b { color: #15803d; font-size: .72rem; }
.role-task-list h3 { color: #17352a; font-size: 1rem; }
.role-task-list p { color: #66766f; font-size: .82rem; }
.role-task-list a { color: #9a3412; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.role-close { padding-block: 2.4rem; background: linear-gradient(180deg,#fff7ed 0%,#fff 100%) !important; }
.role-close-layout { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.role-close-layout h2 { color: #17352a; font-size: 1.55rem; }
.role-close-layout p { margin-top: .3rem; color: #66766f; }
.operations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #dce8e0; border-left: 1px solid #dce8e0; }
.operations-grid article { min-height: 210px; padding: 1.45rem; border-right: 1px solid #dce8e0; border-bottom: 1px solid #dce8e0; background: rgba(255,255,255,.82); }
.operations-grid article:last-child { grid-column: 1 / -1; min-height: 170px; }
.operations-grid h3 { color: #17352a; font-size: 1.05rem; }
.operations-grid p { max-width: 620px; margin-top: .55rem; color: #66766f; font-size: .82rem; }
.operations-grid a { display: inline-block; margin-top: 1.2rem; color: #9a3412; font-size: .78rem; font-weight: 800; }
.operations-boundary { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid #bbf7d0; border-radius: 7px; color: #496359; background: #f0fdf4; font-size: .78rem; }
.operations-boundary strong { color: #166534; white-space: nowrap; }

/* Community activity plans */
.activities-hero { padding-bottom: 4rem; }
.activities-hero h1 { max-width: 850px; font-size: clamp(2.5rem, 5vw, 4.8rem); }
.activities-hero p { max-width: 760px; }
.activity-space-section { padding: 4rem 0; background: linear-gradient(180deg,#fff 0%,#f4fbf6 100%); }
.activity-space-head { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 2rem; }
.activity-space-head p { max-width: 720px; }
.activity-space-tags { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; }
.activity-space-tags li { padding: .65rem .75rem; border-radius: 5px; color: #365448; background: #eaf7ee; font-size: .7rem; font-weight: 750; }
.activity-space-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1rem; }
.activity-space-grid figure { margin: 0; }
.activity-space-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; box-shadow: 0 18px 38px rgba(35,83,62,.13); }
.activity-space-grid figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .9rem .15rem 0; color: #66766f; font-size: .72rem; }
.activity-space-grid figcaption strong { color: #17352a; font-size: .84rem; }
.activity-space-grid figcaption span { text-align: right; }
.activity-showcase { overflow: hidden; padding: 3.5rem 0 2.4rem; background: linear-gradient(180deg,#f4fbf6 0%,#fff 100%); }
.activity-showcase-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.4rem; }
.activity-showcase-head h2 { color: #17352a; font-size: 1.8rem; }
.activity-showcase-head p { margin-top: .35rem; color: #66766f; }
.activity-showcase-head button { padding: .55rem .8rem; border: 1px solid #86b99a; border-radius: 6px; color: #166534; background: #fff; font-size: .72rem; font-weight: 800; }
.activity-showcase-head button:hover { border-color: #15803d; background: #f0fdf4; }
.activity-banner-viewport { width: 100%; overflow: hidden; }
.activity-banner-viewport:focus-visible { outline: 2px solid #f97316; outline-offset: -2px; }
.activity-banner-track { display: flex; width: max-content; animation: activity-scroll 46s linear infinite; }
.activity-banner-viewport:hover .activity-banner-track, .activity-banner-viewport:focus-within .activity-banner-track, .activity-banner-viewport.is-paused .activity-banner-track { animation-play-state: paused; }
.activity-banner-group { display: flex; gap: 1rem; padding-right: 1rem; }
.activity-banner-group figure { position: relative; width: min(440px, 42vw); overflow: hidden; border: 1px solid #d7e5dc; border-radius: 8px; background: #fff; box-shadow: 0 12px 28px rgba(35,83,62,.1); }
.activity-banner-group figure::before { position: absolute; z-index: 1; top: 0; right: 0; left: 0; height: 4px; background: #2f855a; content: ""; }
.activity-banner-group figure:nth-child(2)::before { background: #ca6b2d; }
.activity-banner-group figure:nth-child(3)::before { background: #17352a; }
.activity-banner-group img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.activity-banner-group figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; padding: .75rem .9rem .8rem; color: #5f7168; background: #fff; font-size: .65rem; }
.activity-banner-group figcaption strong { color: #17352a; font-size: .75rem; }
.activity-banner-group figcaption span { white-space: nowrap; }
@keyframes activity-scroll { to { transform: translateX(-50%); } }
.activity-program-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; }
.activity-program-grid article { --activity-accent: #2f855a; position: relative; display: flex; min-width: 0; min-height: 300px; grid-column: span 4; flex-direction: column; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 12px 30px rgba(35,83,62,.1); }
.activity-program-grid article:nth-child(even) { --activity-accent: #ca6b2d; }
.activity-program-grid article::before { position: absolute; z-index: 2; top: 0; right: 0; left: 0; height: 4px; background: var(--activity-accent); content: ""; }
.activity-program-grid .activity-program-feature { min-height: 440px; grid-column: span 6; }
.activity-program-feature figure { aspect-ratio: 16 / 5; margin: 0; overflow: hidden; background: #edf6f0; }
.activity-program-feature img { width: 100%; height: 100%; object-fit: cover; }
.activity-program-body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 1.45rem 1.5rem 1.35rem; }
.activity-program-grid header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.activity-program-index { color: var(--activity-accent); font-size: .68rem; font-weight: 850; font-variant-numeric: tabular-nums; }
.activity-program-audience { color: #16733b; font-size: .7rem; font-weight: 800; text-align: right; }
.activity-program-copy { margin-top: 1.2rem; }
.activity-program-grid h3 { color: #17352a; font-size: 1.12rem; }
.activity-program-grid p { max-width: 44rem; margin-top: .55rem; color: #5f7168; font-size: .8rem; line-height: 1.75; }
.activity-program-grid dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: auto; margin-bottom: .72rem; padding-top: .85rem; border-top: 1px solid #dce9e1; }
.activity-program-grid dl div { min-width: 0; padding: .65rem .72rem .62rem; border: 1px solid #e0ebe4; border-radius: 6px; background: #f8fbf9; box-shadow: 0 4px 12px rgba(35,83,62,.045); }
.activity-program-grid dl div + div { padding-left: .72rem; }
.activity-program-grid dt { color: #5d7568; font-size: .64rem; font-weight: 750; }
.activity-program-grid dl div:first-child dt { color: #2f855a; }
.activity-program-grid dl div:last-child dt { color: #b85d27; }
.activity-program-grid dd { margin-top: .28rem; color: #214d38; font-size: .78rem; font-weight: 850; line-height: 1.45; overflow-wrap: anywhere; }
.activity-operation { background: linear-gradient(180deg,#fff 0%,#fff8f2 100%) !important; }
.activity-operation-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 2rem 0 0; padding: 0; list-style: none; border-top: 1px solid #d7e5dc; }
.activity-operation-flow li { position: relative; min-height: 170px; padding: 1.45rem 1.25rem; border-right: 1px solid #d7e5dc; }
.activity-operation-flow li:first-child { border-left: 1px solid #d7e5dc; }
.activity-operation-flow li::before { position: absolute; top: -5px; left: 1.25rem; width: 10px; height: 10px; border-radius: 50%; background: #15803d; content: ""; }
.activity-operation-flow li:nth-child(even)::before { background: #c2410c; }
.activity-operation-flow strong { color: #17352a; font-size: .92rem; }
.activity-operation-flow p { margin-top: .55rem; color: #66766f; font-size: .76rem; }
.activity-participation { background: var(--gradient-green-section) !important; }
.participation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.participation-grid article { min-height: 190px; padding: 1.3rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; }
.participation-grid h3 { color: #17352a; font-size: 1rem; }
.participation-grid p { margin-top: .45rem; color: #66766f; font-size: .8rem; }
.participation-grid a { display: inline-block; margin-top: 1rem; color: #9a3412; font-size: .75rem; font-weight: 800; }
.activity-contact { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1rem; padding: 1.5rem; border: 1px solid #fed7aa; border-radius: 8px; background: #fff7ed; }
.activity-contact h2 { color: #17352a; font-size: 1.3rem; }
.activity-contact p { margin-top: .25rem; color: #66766f; font-size: .8rem; }
.activity-contact > div:last-child { display: flex; flex-shrink: 0; gap: .6rem; }

/* OPC growth plan */
.growth-hero-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); align-items: center; gap: 4rem; }
.growth-hero h1 { max-width: 800px; font-size: clamp(2.4rem, 4.5vw, 4.3rem); }
.growth-hero p { max-width: 720px; }
.growth-route-panel { padding: 1.2rem; border-radius: 12px; background: #fff; box-shadow: 0 20px 48px rgba(63,81,68,.14); }
.growth-route-panel header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: .2rem .15rem 1rem; border-bottom: 1px solid #e1ebe5; }
.growth-route-panel header span { color: #c2410c; font-size: .68rem; font-weight: 800; }
.growth-route-panel header strong { max-width: 210px; color: #17352a; font-size: .9rem; text-align: right; }
.growth-route-panel ol { margin: 0; padding: .45rem 0; list-style: none; }
.growth-route-panel li { display: grid; grid-template-columns: minmax(0, 1fr) 36px; align-items: center; gap: 1rem; padding: .82rem .15rem; border-bottom: 1px solid #edf2ef; }
.growth-route-panel li:last-child { border-bottom: 0; }
.growth-route-panel li div { display: grid; gap: .18rem; }
.growth-route-panel li strong { color: #17352a; font-size: .86rem; }
.growth-route-panel li span { color: #66766f; font-size: .68rem; }
.growth-route-panel li b { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: #166534; background: #e9f8ee; font-size: .66rem; }
.growth-route-panel li:nth-child(even) b { color: #9a3412; background: #fff2e8; }
.growth-route-panel footer { display: flex; align-items: center; gap: .75rem; padding: .85rem .95rem; border-radius: 7px; color: #fff; background: linear-gradient(110deg,#166534 0%,#255f48 100%); }
.growth-route-panel footer span { flex-shrink: 0; padding-right: .75rem; border-right: 1px solid rgba(255,255,255,.3); font-size: .68rem; font-weight: 800; }
.growth-route-panel footer p { color: #e6f5eb; font-size: .65rem; }
.growth-program-panel { padding: 1.35rem; border: 1px solid #dce8e0; border-radius: 12px; background: #fff; box-shadow: 0 18px 42px rgba(63,81,68,.12); }
.growth-program-panel header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #e1ebe5; }
.growth-program-panel header span { color: #c2410c; font-size: .68rem; font-weight: 800; }
.growth-program-panel header strong { max-width: 200px; color: #17352a; font-size: .86rem; text-align: right; }
.growth-program-panel ul { display: grid; gap: .25rem; margin: .7rem 0; padding: 0; list-style: none; }
.growth-program-panel li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: .7rem; align-items: center; padding: .7rem .15rem; border-bottom: 1px solid #edf2ef; }
.growth-program-panel li:last-child { border-bottom: 0; }
.growth-program-panel li > b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #166534; background: #e9f8ee; font-size: .6rem; }
.growth-program-panel li:nth-child(even) > b { color: #9a3412; background: #fff2e8; }
.growth-program-panel li div { display: grid; gap: .18rem; }
.growth-program-panel li strong { color: #17352a; font-size: .78rem; }
.growth-program-panel li span { color: #66766f; font-size: .66rem; }
.growth-program-panel footer { display: flex; align-items: center; gap: .7rem; padding: .78rem .85rem; border-radius: 7px; color: #fff; background: #1f6b49; }
.growth-program-panel footer span { flex-shrink: 0; padding-right: .7rem; border-right: 1px solid rgba(255,255,255,.3); font-size: .62rem; font-weight: 800; }
.growth-program-panel footer p { color: #e6f5eb; font-size: .64rem; }
.growth-eligibility { background: linear-gradient(180deg,#fff 0%,#f7fbf8 100%); }
.growth-eligibility-grid, .growth-support-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.growth-eligibility-grid article { min-height: 205px; padding: 1.15rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; box-shadow: 0 8px 20px rgba(35,83,62,.05); }
.growth-eligibility-grid article > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: #fff; background: #15803d; font-size: .58rem; font-weight: 800; }
.growth-eligibility-grid article:nth-child(even) > span { background: #c2410c; }
.growth-eligibility-grid h3 { margin-top: .85rem; color: #17352a; font-size: .93rem; }
.growth-eligibility-grid p { margin-top: .45rem; color: #66766f; font-size: .72rem; line-height: 1.6; }
.growth-eligibility-grid b { display: block; margin-top: .85rem; color: #9a3412; font-size: .63rem; line-height: 1.45; }
.growth-support { background: #fbfdfb; }
.growth-support-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.growth-support-grid article { min-height: 175px; padding: 1.2rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; }
.growth-support-grid article:nth-child(even) { background: #fffaf5; border-color: #f4d2b5; }
.growth-support-grid article > span { color: #15803d; font-size: .64rem; font-weight: 800; }
.growth-support-grid article:nth-child(even) > span { color: #c2410c; }
.growth-support-grid h3 { margin-top: .55rem; color: #17352a; font-size: .98rem; }
.growth-support-grid p { margin-top: .45rem; color: #66766f; font-size: .73rem; line-height: 1.6; }
.growth-review { background: linear-gradient(180deg,#f8fcf9 0%,#fff 100%); }
.growth-review-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid #dce8e0; border-left: 1px solid #dce8e0; }
.growth-review-list li { min-height: 185px; padding: 1.25rem; border-right: 1px solid #dce8e0; border-bottom: 1px solid #dce8e0; background: rgba(255,255,255,.82); }
.growth-review-list li > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: #15803d; font-size: .62rem; font-weight: 800; }
.growth-review-list li:nth-child(even) > span { background: #c2410c; }
.growth-review-list h3 { margin-top: 1rem; color: #17352a; font-size: .92rem; }
.growth-review-list p { margin-top: .45rem; color: #66766f; font-size: .73rem; line-height: 1.6; }
.growth-boundary-section { background: #fff; }
.growth-boundary-panel { padding: 1.2rem 1.35rem; border: 1px solid #bbf7d0; border-radius: 8px; background: #f0fdf4; }
.growth-boundary-panel strong { color: #166534; font-size: .8rem; }
.growth-boundary-panel p { margin-top: .4rem; color: #496359; font-size: .76rem; line-height: 1.7; }
.growth-snapshot { padding-block: 1.15rem; background: #f7fbf8; border-bottom: 1px solid #e1ebe5; }
.growth-snapshot-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(440px, .7fr); align-items: center; gap: 2rem; }
.growth-snapshot-grid > div { display: grid; gap: .35rem; }
.growth-snapshot-grid > div > span { color: #c2410c; font-size: .68rem; font-weight: 800; letter-spacing: .02em; }
.growth-snapshot-grid > div > strong { max-width: 600px; color: #17352a; font-size: .92rem; line-height: 1.6; }
.growth-snapshot-grid dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin: 0; }
.growth-snapshot-grid dl div { padding: .65rem .7rem; border-left: 2px solid #b8dbc4; background: #fff; }
.growth-snapshot-grid dl div:nth-child(even) { border-left-color: #fdba74; }
.growth-snapshot-grid dt { color: #66766f; font-size: .62rem; }
.growth-snapshot-grid dd { margin-top: .18rem; color: #17352a; font-size: 1.15rem; font-weight: 800; }
.growth-cases { background: linear-gradient(180deg,#fff 0%,#f8fcf9 100%); }
.growth-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.growth-case-card { display: flex; min-height: 565px; flex-direction: column; padding: 1.35rem; border: 1px solid #cfe0d5; border-radius: 10px; background: #fff; box-shadow: 0 14px 30px rgba(35,83,62,.07); }
.growth-case-card.is-orange { border-color: #f4d2b5; }
.growth-case-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: .95rem; border-bottom: 1px solid #e5eee8; }
.growth-case-card header div { display: grid; gap: .32rem; }
.growth-case-card header span { color: #15803d; font-size: .64rem; font-weight: 800; }
.growth-case-card.is-orange header span { color: #c2410c; }
.growth-case-card header h3 { color: #17352a; font-size: 1.18rem; }
.growth-case-card header b { padding: .34rem .48rem; border-radius: 4px; color: #166534; background: #edf8f1; font-size: .6rem; white-space: nowrap; }
.growth-case-card.is-orange header b { color: #9a3412; background: #fff2e8; }
.growth-case-start { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: .65rem; margin: 1rem 0 .9rem; color: #66766f; font-size: .76rem; line-height: 1.65; }
.growth-case-start strong { color: #17352a; font-size: .68rem; }
.growth-case-card ol { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.growth-case-card ol li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: .65rem; align-items: start; padding: .62rem .7rem; background: #f5faf6; }
.growth-case-card.is-orange ol li { background: #fff9f4; }
.growth-case-card ol li > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #166534; background: #dff2e5; font-size: .58rem; font-weight: 800; }
.growth-case-card.is-orange ol li > span { color: #9a3412; background: #ffe6d2; }
.growth-case-card ol li div { display: grid; gap: .18rem; }
.growth-case-card ol li strong { color: #17352a; font-size: .74rem; }
.growth-case-card ol li p { color: #66766f; font-size: .68rem; line-height: 1.5; }
.growth-case-card footer { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid #e5eee8; }
.growth-case-card footer > div { display: grid; align-content: start; gap: .28rem; }
.growth-case-card footer small { color: #788980; font-size: .6rem; }
.growth-case-card footer strong { color: #17352a; font-size: .69rem; line-height: 1.5; }
.growth-case-card footer > div:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; }
.growth-case-card footer > div:last-child small { flex-basis: 100%; }
.growth-case-card footer a { color: #15803d; font-size: .66rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.growth-case-card.is-orange footer a { color: #c2410c; }
.growth-fit { background: linear-gradient(180deg,#fff 0%,#f7fbf8 100%); }
.growth-fit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.growth-fit-grid article { min-height: 210px; padding: 1.35rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; box-shadow: 0 10px 24px rgba(35,83,62,.06); }
.growth-fit-grid article > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: #15803d; font-size: .62rem; font-weight: 800; }
.growth-fit-grid article:nth-child(even) > span { background: #c2410c; }
.growth-fit-grid h3 { margin-top: 1rem; color: #17352a; font-size: 1rem; }
.growth-fit-grid p { margin-top: .45rem; color: #66766f; font-size: .77rem; }
.growth-fit-grid b { display: block; margin-top: 1rem; color: #9a3412; font-size: .68rem; }
.growth-stage-list { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0; list-style: none; border-top: 1px solid #dce8e0; border-left: 1px solid #dce8e0; }
.growth-stage-list li { min-height: 260px; padding: 1.4rem; border-right: 1px solid #dce8e0; border-bottom: 1px solid #dce8e0; background: rgba(255,255,255,.8); }
.growth-stage-list li > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #fff; background: #15803d; font-size: .72rem; font-weight: 800; }
.growth-stage-list li:nth-child(even) > span { background: #c2410c; }
.growth-stage-list h3 { margin-top: 2rem; color: #17352a; font-size: 1rem; }
.growth-stage-list p { margin-top: .55rem; color: #66766f; font-size: .8rem; }
.growth-stage-list b { display: block; margin-top: 1rem; color: #9a3412; font-size: .67rem; line-height: 1.45; }
.growth-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.growth-resource-grid article { min-height: 180px; padding: 1.3rem; border: 1px solid #dce8e0; border-radius: 8px; background: #fff; }
.growth-resource-grid h3 { color: #17352a; font-size: 1rem; }
.growth-resource-grid p { margin-top: .5rem; color: #66766f; font-size: .8rem; }
.growth-resource-grid a { display: inline-block; margin-top: .8rem; color: #15803d; font-size: .67rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.growth-output { background: linear-gradient(180deg,#fff 0%,#fff8f2 100%); }
.growth-output-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.growth-output-grid article { min-height: 145px; padding: 1.25rem; border-top: 3px solid #f97316; border-radius: 8px; background: #fff; box-shadow: 0 10px 24px rgba(120,72,35,.07); }
.growth-output-grid article:nth-child(2) { border-top-color: #15803d; }
.growth-output-grid article:nth-child(3) { border-top-color: #86b99a; }
.growth-output-grid strong { color: #17352a; font-size: .95rem; }
.growth-output-grid p { margin-top: .55rem; color: #66766f; font-size: .76rem; }
.growth-boundary { margin-top: 1rem; padding: 1.25rem 1.4rem; border: 1px solid #bbf7d0; border-radius: 8px; background: #f0fdf4; }
.growth-boundary strong { color: #166534; }
.growth-boundary p { margin-top: .35rem; color: #496359; font-size: .8rem; }
.growth-advisors { overflow: hidden; padding: 4rem 0; background: linear-gradient(180deg,#eef9f2 0%,#fff 100%); }
.growth-advisor-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.growth-advisor-head h2 { color: #17352a; font-size: 1.8rem; }
.growth-advisor-head p { max-width: 690px; margin-top: .35rem; color: #66766f; }
.growth-advisor-head button { padding: .58rem .8rem; border: 1px solid #86b99a; border-radius: 6px; color: #166534; background: #fff; font-size: .7rem; font-weight: 800; }
.growth-advisor-head button:hover { border-color: #15803d; background: #f0fdf4; }
.growth-advisor-viewport { width: 100%; overflow: hidden; }
.growth-advisor-viewport:focus-visible { outline: 2px solid #f97316; outline-offset: 3px; }
.growth-advisor-track { display: flex; width: max-content; animation: advisor-scroll 58s linear infinite; }
.growth-advisor-viewport:hover .growth-advisor-track, .growth-advisor-viewport:focus-within .growth-advisor-track, .growth-advisor-viewport.is-paused .growth-advisor-track { animation-play-state: paused; }
.growth-advisor-group { display: flex; gap: .9rem; padding-right: .9rem; }
.growth-advisor-group article { display: flex; width: 320px; min-height: 285px; flex-direction: column; padding: 1.2rem; border-radius: 10px; background: #fff; box-shadow: 0 14px 32px rgba(35,83,62,.1); }
.growth-advisor-meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.growth-advisor-meta span { color: #15803d; font-size: .64rem; font-weight: 800; }
.growth-advisor-meta b { padding: .3rem .45rem; border-radius: 4px; color: #9a3412; background: #fff2e8; font-size: .6rem; }
.growth-advisor-group h3 { margin-top: 1rem; color: #17352a; font-size: 1rem; }
.growth-advisor-group p { margin-top: .48rem; color: #66766f; font-size: .73rem; }
.growth-advisor-group ul { display: flex; flex-wrap: wrap; gap: .35rem; margin: .9rem 0 0; padding: 0; list-style: none; }
.growth-advisor-group li { padding: .28rem .42rem; border-radius: 4px; color: #365448; background: #edf8f1; font-size: .6rem; }
.growth-advisor-group footer { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-top: auto; padding-top: .9rem; border-top: 1px solid #e5ece8; }
.growth-advisor-group footer span { color: #788980; font-size: .6rem; }
.growth-advisor-group footer strong { color: #9a3412; font-size: .67rem; }
.growth-advisor-contact { display: flex; align-items: center; gap: 1rem; margin-top: 1.2rem; padding: 1rem 1.15rem; border-radius: 8px; background: #17352a; }
.growth-advisor-contact > div { display: grid; flex: 1; gap: .2rem; }
.growth-advisor-contact strong { color: #fff; font-size: .8rem; }
.growth-advisor-contact span { color: #cce3d5; font-size: .68rem; }
.growth-advisor-contact a, .growth-advisor-contact button { padding: .58rem .72rem; border: 1px solid rgba(255,255,255,.3); border-radius: 5px; color: #fff; background: transparent; font-size: .68rem; font-weight: 750; }
.growth-advisor-contact a:hover, .growth-advisor-contact button:hover { background: rgba(255,255,255,.1); }
.growth-advisor-note { margin-top: .7rem; color: #66766f; font-size: .65rem; }
@keyframes advisor-scroll { to { transform: translateX(-50%); } }
.growth-close { padding-block: 2.5rem; background: linear-gradient(180deg,#fff7ed 0%,#fff 100%) !important; }

@media (max-width: 1040px) {
  .nav-group-toggle { padding-inline: .55rem; font-size: .74rem; }
  .nav-standalone { padding-inline: .55rem; font-size: .74rem; }
  .startup-services-hero-layout { gap: 2rem; }
  .startup-service-items.three { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.5rem; }
  .role-hero-layout, .growth-hero-layout { gap: 2rem; }
  .growth-route-panel { padding: 1rem; }
  .growth-fit-grid, .growth-output-grid, .growth-eligibility-grid, .growth-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity-program-grid article { min-height: 300px; grid-column: span 6; }
  .activity-program-grid .activity-program-feature { min-height: 430px; grid-column: span 6; }
  .growth-stage-list, .growth-review-list { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 800px) {
  .grouped-footer { grid-template-columns: repeat(2, 1fr); gap: 1.6rem 2rem; }
  .activity-program-grid article, .activity-program-grid .activity-program-feature { grid-column: 1 / -1; }
  .startup-services-hero-layout, .startup-service-row { grid-template-columns: 1fr; }
  .startup-service-summary { max-width: 560px; }
  .startup-service-map { grid-template-columns: 1fr; gap: .7rem; padding: 1rem 1rem 1rem 2.65rem; }
  .startup-map-track { top: 1.72rem; right: auto; bottom: 1.72rem; left: 1.65rem; width: 2px; height: auto; }
  .startup-map-node { grid-template-columns: 30px minmax(0, 1fr); justify-items: start; align-items: center; gap: .2rem .7rem; text-align: left; }
  .startup-map-node span { grid-row: span 2; }
  .startup-map-node strong { font-size: .75rem; }
  .startup-map-node small { max-width: none; font-size: .62rem; }
  .startup-stage-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin-bottom: 1.25rem; }
  .startup-service-row { gap: 1.4rem; }
  .startup-service-row > header p { max-width: 520px; }
  .role-hero-layout, .growth-hero-layout { grid-template-columns: 1fr; }
  .role-route-map, .growth-route-panel, .growth-program-panel { max-width: 620px; }
  .growth-fit-grid, .growth-output-grid, .growth-eligibility-grid, .growth-support-grid { grid-template-columns: 1fr 1fr; }
  .role-task-list article { grid-template-columns: 1fr; gap: .8rem; }
  .role-task-list article > div { grid-template-columns: 100px minmax(0, 1fr); gap: .75rem 1rem; }
  .role-task-list p { grid-column: 2; }
  .operations-grid { grid-template-columns: 1fr; }
  .operations-grid article:last-child { grid-column: auto; }
  .activity-space-head { grid-template-columns: 1fr; gap: 1.4rem; }
  .activity-space-tags { max-width: 620px; }
  .activity-space-grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .activity-space-grid figure { max-width: 680px; }
  .activity-banner-group figure { width: min(520px, 78vw); }
  .activity-operation-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity-operation-flow li:nth-child(3) { border-left: 1px solid #d7e5dc; }
  .participation-grid, .growth-resource-grid { grid-template-columns: 1fr 1fr; }
  .growth-advisor-contact { align-items: flex-start; flex-wrap: wrap; }
  .growth-advisor-contact > div { flex-basis: 100%; }
}

@media (max-width: 600px) {
  .startup-services-hero { padding-block: 3.2rem; }
  .startup-services-hero h1 { font-size: 2.25rem; }
  .startup-service-items, .startup-service-items.three { grid-template-columns: 1fr; }
  .startup-service-items article { padding: 1.1rem 0; border-top: 1px solid #dce8e0; border-left: 0; }
  .startup-service-note { grid-template-columns: 1fr; align-items: start; }
  .role-portal-hero { padding-block: 3.2rem; }
  .role-portal-hero h1, .activities-hero h1, .growth-hero h1 { font-size: 2.25rem; }
  .role-route-map { padding: .75rem; }
  .role-task-list article > div { grid-template-columns: 1fr; }
  .role-task-list p { grid-column: auto; }
  .role-close-layout, .activity-showcase-head, .activity-contact { align-items: flex-start; flex-direction: column; }
  .role-close-layout .btn { width: 100%; }
  .operations-boundary { align-items: flex-start; flex-direction: column; }
  .activity-banner-group { gap: .75rem; padding-right: .75rem; }
  .activity-banner-group figure { width: calc(100vw - 2rem); }
  .activity-banner-group figcaption { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .activity-space-section { padding: 3.2rem 0; }
  .activity-space-tags { grid-template-columns: 1fr; }
  .activity-space-grid figcaption { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .activity-space-grid figcaption span { text-align: left; }
  .activity-program-grid { gap: .85rem; }
  .activity-program-grid article, .activity-program-grid .activity-program-feature { min-height: auto; }
  .activity-program-feature figure { aspect-ratio: 16 / 7; }
  .activity-program-body { padding: 1.25rem 1.15rem 1.2rem; }
  .activity-program-copy { margin-top: 1.05rem; }
  .activity-program-grid dl { margin-top: 1.2rem; }
  .activity-operation-flow { grid-template-columns: 1fr; border-top: 0; }
  .activity-operation-flow li { min-height: auto; padding: 1.2rem 1rem; border-top: 1px solid #d7e5dc; border-right: 0; border-left: 0 !important; }
  .activity-operation-flow li::before { top: -5px; left: 1rem; }
  .participation-grid, .growth-stage-list, .growth-resource-grid, .growth-eligibility-grid, .growth-support-grid, .growth-review-list { grid-template-columns: 1fr; }
  .activity-contact > div:last-child { width: 100%; flex-direction: column; }
  .activity-contact .btn { width: 100%; }
  .growth-route-panel header { align-items: flex-start; flex-direction: column; }
  .growth-route-panel header strong { max-width: none; text-align: left; }
  .growth-route-panel footer { align-items: flex-start; flex-direction: column; }
  .growth-route-panel footer span { padding-right: 0; border-right: 0; }
  .growth-program-panel { padding: 1rem; }
  .growth-program-panel header { align-items: flex-start; flex-direction: column; }
  .growth-program-panel header strong { max-width: none; text-align: left; }
  .growth-program-panel footer { align-items: flex-start; flex-direction: column; }
  .growth-program-panel footer span { padding-right: 0; border-right: 0; }
  .growth-stage-list li { min-height: auto; }
  .growth-stage-list h3 { margin-top: 1.2rem; }
  .growth-advisors { padding: 3.2rem 0; }
  .growth-advisor-head { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .growth-advisor-group { gap: .75rem; padding-right: .75rem; }
  .growth-advisor-group article { width: calc(100vw - 2rem); min-height: 270px; }
  .growth-advisor-contact { align-items: stretch; flex-direction: column; }
  .growth-advisor-contact a, .growth-advisor-contact button { width: 100%; text-align: center; }
  .growth-fit-grid, .growth-output-grid { grid-template-columns: 1fr; }
}

/* Progressive scroll reveal: content stays visible until the observer is ready. */
html.reveal-ready .scroll-reveal {
  opacity: 1;
  transition: opacity .52s cubic-bezier(.16, 1, .3, 1), transform .52s cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--reveal-delay, 0ms);
}
html.reveal-ready .scroll-reveal:not(.is-visible) {
  opacity: 0;
  transform: translate3d(0, 16px, 0);
  will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
  html.reveal-ready .scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .activity-banner-track { animation: none; }
  .activity-banner-group[aria-hidden="true"] { display: none; }
  .activity-banner-viewport { overflow-x: auto; }
  .growth-advisor-track { animation: none; }
  .growth-advisor-group[aria-hidden="true"] { display: none; }
  .growth-advisor-viewport { overflow-x: auto; }
}

/* Insights: compact operating rhythm and regional observation modules. */
.insights-operator-grid,
.insights-committee-grid { display:grid; gap:1rem; margin-top:1rem; }
.insights-operator-grid { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); }
.insights-committee-grid { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); }
.insights-process,
.insights-signal-panel,
.insights-stage-panel,
.insights-matrix-panel,
.insights-network-panel,
.insights-trend-panel { padding:1.05rem 1.1rem; border:1px solid #dce8e0; border-radius:10px; background:#fbfdfb; }
.insights-process { background:linear-gradient(135deg,#f7fbf8 0%,#fff 100%); }
.insights-signal-panel { background:#fffaf3; }
.insights-panel-title { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; margin-bottom:.75rem; }
.insights-panel-title h3 { margin:0; color:#174b36; font-size:.92rem; }
.insights-panel-title span { color:#83968b; font-size:.68rem; }
.insights-flow { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:0; padding:0; list-style:none; }
.insights-flow li { position:relative; min-width:0; padding:.35rem .65rem .25rem 0; }
.insights-flow li:not(:last-child)::after { position:absolute; top:1.15rem; right:.25rem; width:calc(100% - 2rem); height:1px; background:#b9d2c1; content:""; transform:translateX(50%); }
.insights-flow li b { position:relative; z-index:1; display:inline-flex; width:1.45rem; height:1.45rem; align-items:center; justify-content:center; border:1px solid #9cc3aa; border-radius:50%; color:#1f6a4b; background:#f7fbf8; font-size:.63rem; }
.insights-flow li:nth-child(2n) b { border-color:#f0bf95; color:#a3541d; background:#fff8ef; }
.insights-flow li div { margin-top:.6rem; }
.insights-flow strong,
.insights-flow small { display:block; }
.insights-flow strong { color:#174b36; font-size:.76rem; }
.insights-flow small { margin-top:.25rem; color:#6d8377; font-size:.67rem; line-height:1.5; }
.insights-signal-list { display:grid; gap:.15rem; margin:0; padding:0; list-style:none; }
.insights-signal-list li { display:grid; grid-template-columns:auto 1fr auto; gap:.5rem; align-items:center; padding:.55rem 0; border-bottom:1px solid #eee8dd; }
.insights-signal-list li:last-child { border-bottom:0; }
.signal-dot { width:.45rem; height:.45rem; border-radius:50%; background:#74a689; box-shadow:0 0 0 3px rgba(116,166,137,.13); }
.signal-dot.is-warm { background:#e89558; box-shadow:0 0 0 3px rgba(232,149,88,.13); }
.insights-signal-list strong,
.insights-signal-list small { display:block; }
.insights-signal-list strong { color:#24533f; font-size:.75rem; }
.insights-signal-list small { margin-top:.15rem; color:#718579; font-size:.67rem; line-height:1.45; }
.insights-signal-list em { padding:.25rem .35rem; border:1px solid #d7e4da; border-radius:4px; color:#789083; background:#f7fbf8; font-size:.62rem; font-style:normal; white-space:nowrap; }
.insights-signal-list li:nth-child(2n) em { border-color:#f0d4b8; color:#a3541d; background:#fff8ef; }
.insights-stage-panel { margin-top:1rem; }
.insights-stage-bars { max-width:760px; }
.insights-stage-bars p { grid-template-columns:5.5rem minmax(0,1fr) 4.2rem; margin:.55rem 0; }
.insights-stage-bars i { height:8px; background:#e5eee8; }
.insights-stage-bars i b { background:linear-gradient(90deg,#75a88a,#9fc5ac); }
.insights-stage-bars p:nth-child(2n) i b { background:linear-gradient(90deg,#e9a36e,#f2bc91); }
.insights-matrix { overflow:hidden; border:1px solid #dce8e0; border-radius:8px; background:#fff; }
.insights-matrix > div { display:grid; grid-template-columns:1.05fr 1fr 1.25fr .85fr; gap:.65rem; align-items:center; padding:.65rem .7rem; border-bottom:1px solid #e6eee8; color:#61786c; font-size:.7rem; line-height:1.45; }
.insights-matrix > div:last-child { border-bottom:0; }
.insights-matrix .insights-matrix-head { color:#82958a; background:#f7fbf8; font-size:.64rem; font-weight:800; }
.insights-matrix strong { color:#24533f; font-size:.72rem; }
.insights-matrix em { justify-self:start; padding:.25rem .35rem; border:1px solid #d6e4da; border-radius:4px; color:#6c8577; background:#f7fbf8; font-size:.61rem; font-style:normal; white-space:nowrap; }
.insights-network-panel { background:linear-gradient(135deg,#fffaf3 0%,#fff 100%); }
.insights-network { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; color:#174b36; font-size:.7rem; font-weight:800; }
.insights-network span { padding:.5rem .55rem; border:1px solid #c9ded0; border-radius:7px; background:#f7fbf8; }
.insights-network span:nth-of-type(2n) { border-color:#f0d4b8; background:#fff8ef; }
.insights-network i { color:#ef7d32; font-style:normal; }
.insights-network-panel p { margin:.7rem 0 0; color:#6a8074; font-size:.7rem; line-height:1.6; }
.insights-trend-panel { margin-top:1rem; }
.insights-trend-list { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }
.insights-trend-list > div { padding:.75rem .8rem; border-top:2px solid #b9d2c1; background:#f7fbf8; }
.insights-trend-list > div:nth-child(2) { border-top-color:#f0bf95; background:#fffaf3; }
.insights-trend-list > div:nth-child(3) { border-top-color:#a8bdd5; background:#f7fafc; }
.insights-trend-list strong { color:#24533f; font-size:.75rem; }
.insights-trend-list p { margin:.35rem 0 0; color:#667e71; font-size:.7rem; line-height:1.6; }

@media (max-width: 900px) {
  .insights-flow { grid-template-columns:repeat(5,minmax(88px,1fr)); overflow-x:auto; padding-bottom:.35rem; }
  .insights-flow li { min-width:88px; }
  .insights-operator-grid,
  .insights-committee-grid { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .insights-process,
  .insights-signal-panel,
  .insights-stage-panel,
  .insights-matrix-panel,
  .insights-network-panel,
  .insights-trend-panel { padding:.9rem; }
  .insights-flow { grid-template-columns:1fr; gap:0; overflow:visible; padding:0; }
  .insights-flow li { display:grid; grid-template-columns:1.55rem 1fr; gap:.6rem; min-width:0; padding:.45rem 0; }
  .insights-flow li:not(:last-child)::after { top:1.85rem; right:auto; left:.72rem; width:1px; height:calc(100% - .45rem); transform:none; }
  .insights-flow li div { margin-top:.1rem; }
  .insights-stage-bars p { grid-template-columns:4.4rem minmax(0,1fr) 3.8rem; gap:.4rem; }
  .insights-matrix .insights-matrix-head { display:none; }
  .insights-matrix > div { grid-template-columns:1fr 1fr; gap:.4rem .6rem; padding:.65rem; }
  .insights-matrix > div > *:nth-child(3) { color:#718579; }
  .insights-matrix em { justify-self:start; }
  .insights-trend-list { grid-template-columns:1fr; gap:.55rem; }
  .insights-network { align-items:stretch; }
  .insights-network span { flex:1 1 calc(50% - .4rem); }
  .insights-network i { display:flex; align-items:center; justify-content:center; }
}

/* About page refresh: editorial grid with a visual collaboration constellation. */
.about-page { background:linear-gradient(180deg,#fff8ef 0%,#f7fbf8 28%,#f8fbf8 72%,#fffaf4 100%); }
.about-page > .section { padding-block:3rem; background:transparent; }
.about-page > .section + .section { border-top:1px solid rgba(203,222,209,.48); }
.about-hero { padding-block:3.2rem 2.4rem; background:linear-gradient(180deg,#fff1e2 0%,#fff8ef 100%); }
.about-hero-shell { display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); gap:3.5rem; align-items:center; }
.about-hero-copy { padding-bottom:.8rem; }
.about-hero-copy h1 { max-width:9ch; margin:.9rem 0 1rem; color:#123d2d; font-size:clamp(2.8rem,5vw,5.35rem); line-height:1.02; letter-spacing:-.035em; }
.about-hero-copy h1 em { color:#c46427; font-style:normal; }
.about-hero-copy p { max-width:31rem; margin:0; color:#557164; font-size:1.02rem; line-height:1.85; }
.about-proof-row { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; margin-top:1.6rem; color:#1f6a4b; font-size:.75rem; font-weight:800; }
.about-proof-row span { padding:.45rem .6rem; border:1px solid #c8ddd0; border-radius:999px; background:rgba(255,255,255,.64); }
.about-proof-row span:nth-of-type(2) { border-color:#f0c9a4; background:#fff8ef; }
.about-proof-row i { color:#db8040; font-style:normal; }
.about-constellation { position:relative; min-height:360px; overflow:hidden; border:1px solid #d5e5da; border-radius:18px; background:radial-gradient(circle at 50% 50%,#fff 0%,#f7fbf8 58%,#eef6f0 100%); box-shadow:0 18px 36px rgba(41,79,59,.09); }
.about-constellation::before { position:absolute; inset:14% 17%; border:1px dashed rgba(117,168,138,.38); border-radius:50%; content:""; animation:about-orbit 18s linear infinite; }
.about-constellation::after { position:absolute; inset:25% 29%; border:1px solid rgba(240,191,149,.34); border-radius:50%; content:""; animation:about-orbit 12s linear infinite reverse; }
.about-constellation-core { position:absolute; top:50%; left:50%; z-index:2; display:flex; width:130px; height:130px; align-items:center; justify-content:center; flex-direction:column; border:1px solid #8fb99d; border-radius:50%; background:#fff; box-shadow:0 10px 26px rgba(41,79,59,.12); transform:translate(-50%,-50%); animation:about-core-breathe 4.8s ease-in-out infinite; }
.about-constellation-core strong { color:#174b36; font-size:1.05rem; }
.about-constellation-core small { margin-top:.25rem; color:#87988e; font-size:.66rem; }
.about-node { position:absolute; z-index:2; display:flex; min-width:112px; padding:.65rem .75rem; align-items:flex-start; flex-direction:column; border:1px solid #d0e2d6; border-radius:9px; color:#174b36; background:rgba(255,255,255,.9); box-shadow:0 8px 18px rgba(41,79,59,.07); font-size:.73rem; font-weight:800; animation:about-node-float 5s ease-in-out infinite; }
.about-node small { margin-top:.2rem; color:#82958a; font-size:.62rem; font-weight:600; }
.about-node.node-demand { top:15%; left:10%; }
.about-node.node-team { top:17%; right:9%; animation-delay:1.2s; }
.about-node.node-tool { right:13%; bottom:14%; animation-delay:2.1s; }
.about-node.node-resource { bottom:12%; left:9%; animation-delay:.6s; }
.about-constellation-line { position:absolute; z-index:1; top:50%; left:50%; height:1px; width:38%; background:linear-gradient(90deg,rgba(117,168,138,.1),rgba(117,168,138,.7),rgba(117,168,138,.1)); transform-origin:left center; }
.about-constellation-line.line-a { transform:rotate(-145deg); }
.about-constellation-line.line-b { transform:rotate(-35deg); }
.about-constellation-line.line-c { transform:rotate(35deg); }
.about-constellation-line.line-d { transform:rotate(145deg); }
.about-constellation-caption { position:absolute; right:1rem; bottom:.9rem; color:#8ca096; font-size:.64rem; }
.about-intro { padding-top:2.6rem !important; }
.about-intro-shell { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:3.5rem; align-items:start; }
.about-intro-lead h2 { max-width:12ch; margin:.6rem 0 0; color:#174b36; font-size:clamp(1.7rem,2.8vw,2.55rem); line-height:1.2; }
.about-intro-copy > p { max-width:65ch; margin:0; color:#526c5e; font-size:1rem; line-height:1.9; }
.about-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:.65rem; margin-top:1.35rem; }
.about-principles div { padding:.8rem .75rem; border-top:2px solid #a9c9b4; background:rgba(255,255,255,.48); }
.about-principles div:nth-child(2) { border-top-color:#efb47f; }
.about-principles div:nth-child(3) { border-top-color:#a8bdd5; }
.about-principles b, .about-principles span { display:block; }
.about-principles b { color:#24533f; font-size:.75rem; }
.about-principles span { margin-top:.28rem; color:#718579; font-size:.68rem; line-height:1.55; }
.about-section-heading { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:1.3rem; }
.about-section-heading h2 { margin:.55rem 0 0; color:#174b36; font-size:clamp(1.55rem,2.5vw,2.25rem); line-height:1.2; }
.about-section-heading > p { max-width:24ch; margin:0; color:#718579; font-size:.78rem; line-height:1.65; text-align:right; }
.about-bento-grid { display:grid; grid-template-columns:1.12fr .88fr .88fr; grid-template-rows:1fr 1fr; gap:.7rem; }
.about-bento-grid article { position:relative; display:flex; min-height:150px; padding:1.15rem; flex-direction:column; justify-content:space-between; border:1px solid #d4e4da; border-radius:12px; background:rgba(255,255,255,.76); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.about-bento-grid article:hover { border-color:#9fc4ac; box-shadow:0 12px 24px rgba(41,79,59,.08); transform:translateY(-3px); }
.about-bento-grid article > span { color:#e17c36; font-size:.66rem; font-weight:850; }
.about-bento-grid h3 { margin:.55rem 0 .35rem; color:#174b36; font-size:.95rem; }
.about-bento-grid p { margin:0; color:#657c70; font-size:.75rem; line-height:1.65; }
.about-bento-grid article > b { margin-top:1rem; color:#6c8577; font-size:.65rem; letter-spacing:.02em; }
.about-bento-grid .is-featured { grid-row:span 2; padding:1.35rem; background:linear-gradient(145deg,#eef7f0,#fff); }
.about-bento-grid .is-featured h3 { font-size:1.35rem; }
.about-bento-grid .is-warm { background:#fffaf3; }
.about-bento-grid .is-wide { grid-column:span 2; flex-direction:row; gap:1.5rem; align-items:flex-end; background:#f7fbf8; }
.about-bento-grid .is-wide > b { margin:0 0 .1rem auto; white-space:nowrap; }
.about-collaboration { background:linear-gradient(180deg,#f1f8f3,#f7fbf8); }
.about-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; margin:0; padding:0; list-style:none; }
.about-flow li { position:relative; min-height:165px; padding:1.15rem 1rem; border:1px solid #cfe2d5; border-radius:10px; background:rgba(255,255,255,.64); }
.about-flow li:not(:last-child)::after { position:absolute; top:1.55rem; right:-.55rem; width:1.1rem; height:1px; background:#a9c9b4; content:""; }
.about-flow li > span { display:inline-flex; width:1.55rem; height:1.55rem; align-items:center; justify-content:center; border:1px solid #f0bf95; border-radius:50%; color:#bd6225; background:#fff8ef; font-size:.62rem; font-weight:850; }
.about-flow h3 { margin:.8rem 0 .4rem; color:#174b36; font-size:.9rem; }
.about-flow p { margin:0; color:#60786c; font-size:.75rem; line-height:1.7; }
.about-audience-rows { border-top:1px solid #d8e7dc; }
.about-audience-rows article { display:grid; grid-template-columns:minmax(180px,.55fr) minmax(0,1.2fr) minmax(150px,.5fr); gap:1.3rem; align-items:center; padding:1rem .2rem; border-bottom:1px solid #d8e7dc; }
.about-audience-rows article > span { color:#174b36; font-size:.86rem; font-weight:850; }
.about-audience-rows p { margin:0; color:#60786c; font-size:.78rem; line-height:1.65; }
.about-audience-rows b { justify-self:end; color:#ae5a23; font-size:.7rem; font-weight:800; }
.about-ecosystem-shell { display:grid; grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr); gap:2.5rem; align-items:center; }
.about-ecosystem-shell > div > p { max-width:58ch; margin:0; color:#60786c; font-size:.9rem; line-height:1.8; }
.about-ecosystem-network { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.5rem; padding:1.25rem; border:1px solid #d4e4da; border-radius:14px; background:rgba(247,251,248,.7); }
.about-ecosystem-network span { padding:.6rem .7rem; border:1px solid #c8ddd0; border-radius:8px; color:#174b36; background:#fff; font-size:.72rem; font-weight:800; }
.about-ecosystem-network span:nth-of-type(2n) { border-color:#f0cfad; background:#fffaf3; }
.about-ecosystem-network i { color:#e17c36; font-style:normal; }
.about-boundary { padding-top:1.2rem !important; padding-bottom:3.1rem !important; }
.about-boundary-panel { display:flex; justify-content:space-between; gap:2rem; align-items:center; padding:1.25rem 1.35rem; border:1px solid #d8e7dc; border-radius:12px; background:rgba(247,251,248,.72); }
.about-boundary-panel strong { color:#174b36; font-size:.85rem; }
.about-boundary-panel p { max-width:78ch; margin:.5rem 0 0; color:#637a6e; font-size:.76rem; line-height:1.7; }
.about-boundary-mark { flex:none; padding:.5rem .65rem; border:1px solid #f0c9a4; border-radius:6px; color:#a3541d; background:#fff8ef; font-size:.66rem; font-weight:800; }
@keyframes about-core-breathe { 0%,100% { box-shadow:0 10px 26px rgba(41,79,59,.12); } 50% { box-shadow:0 12px 32px rgba(84,139,103,.2); } }
@keyframes about-node-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }

@media (max-width: 900px) {
  .about-hero-shell { grid-template-columns:1fr; gap:1.7rem; }
  .about-hero-copy h1 { max-width:none; }
  .about-constellation { min-height:320px; }
  .about-intro-shell, .about-ecosystem-shell { grid-template-columns:1fr; gap:1.4rem; }
  .about-bento-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .about-bento-grid .is-featured { grid-row:auto; }
  .about-bento-grid .is-wide { grid-column:span 2; }
  .about-flow { grid-template-columns:repeat(2,1fr); }
  .about-flow li:nth-child(2)::after { display:none; }
}
@media (max-width: 600px) {
  .about-page > .section { padding-block:2.4rem; }
  .about-hero { padding-block:2.5rem 1.7rem; }
  .about-hero-copy h1 { font-size:2.8rem; }
  .about-constellation { min-height:285px; }
  .about-constellation-core { width:100px; height:100px; }
  .about-constellation-core strong { font-size:.85rem; }
  .about-node { min-width:92px; padding:.5rem .55rem; font-size:.65rem; }
  .about-node small { font-size:.56rem; }
  .about-node.node-demand { top:11%; left:5%; }
  .about-node.node-team { top:12%; right:4%; }
  .about-node.node-tool { right:5%; bottom:9%; }
  .about-node.node-resource { bottom:8%; left:4%; }
  .about-section-heading { align-items:flex-start; flex-direction:column; gap:.7rem; }
  .about-section-heading > p { max-width:none; text-align:left; }
  .about-principles { grid-template-columns:1fr; gap:.45rem; }
  .about-bento-grid { grid-template-columns:1fr; }
  .about-bento-grid .is-featured, .about-bento-grid .is-wide { grid-column:auto; grid-row:auto; }
  .about-bento-grid .is-wide { align-items:flex-start; flex-direction:column; gap:.8rem; }
  .about-bento-grid .is-wide > b { margin:0; }
  .about-flow { grid-template-columns:1fr; gap:.55rem; }
  .about-flow li { min-height:auto; }
  .about-flow li:not(:last-child)::after { top:auto; right:auto; bottom:-.35rem; left:1.55rem; width:1px; height:.7rem; }
  .about-audience-rows article { grid-template-columns:1fr; gap:.3rem; padding:.9rem 0; }
  .about-audience-rows b { justify-self:start; }
  .about-ecosystem-network { padding:.9rem; }
  .about-ecosystem-network i { display:none; }
  .about-ecosystem-network span { flex:1 1 calc(50% - .5rem); text-align:center; }
  .about-boundary-panel { align-items:flex-start; flex-direction:column; gap:.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  .about-constellation::before,
  .about-constellation::after,
  .about-constellation-core,
  .about-node { animation:none; }
}
.brand-logo-image{display:block;width:auto;height:48px;object-fit:contain}@media(max-width:600px){.brand-logo-image{height:36px}}
