:root{--ink:#071d1c;--ink-soft:#36504d;--paper:#f4f7f2;--paper-deep:#e9efe9;--line:#072d2a26;--brand:#0a6158;--brand-dark:#063d39;--mint:#9ae0c5;--lime:#d9ef8b;--coral:#ff8f70;--white:#fffef9;--radius-sm:.75rem;--radius-md:1.25rem;--radius-lg:2rem;--shadow:0 24px 70px #0427241f;--shell:min(1180px, calc(100vw - 2.5rem));color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--paper);min-width:320px;margin:0;line-height:1.65}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.08em}img,svg{max-width:100%;display:block}button,input{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.08}h1,h2,h3,.lede{overflow-wrap:anywhere;max-width:100%}h1{font-size:clamp(3rem,8vw,6.8rem)}h2{font-size:clamp(2rem,4.6vw,3.9rem)}h3{font-size:clamp(1.25rem,2vw,1.65rem)}.shell{width:var(--shell);margin-inline:auto}.section{padding:clamp(4.5rem,9vw,8rem) 0}.section-tight{padding:clamp(3rem,6vw,5rem) 0}.eyebrow{color:var(--brand);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.7rem;margin-bottom:1.5rem;font-size:.78rem;font-weight:760;display:flex}.eyebrow:before{content:"";background:currentColor;width:2.5rem;height:1px}.lede{max-width:760px;color:var(--ink-soft);font-size:clamp(1.1rem,2vw,1.4rem)}.muted{color:var(--ink-soft)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--white);color:var(--ink);border-radius:.5rem;padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{z-index:50;color:var(--white);backdrop-filter:blur(18px);background:#051b1aeb;border-bottom:1px solid #ffffff14;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:4.75rem;display:flex}.brand-link{align-items:center;gap:.8rem;text-decoration:none;display:inline-flex}.brand-mark{aspect-ratio:1;width:2.55rem;color:var(--mint);place-items:center;display:inline-grid}.brand-mark.compact{width:2rem}.brand-copy{line-height:1.05;display:grid}.brand-copy strong{letter-spacing:.02em;font-size:1rem}.brand-copy small{color:#ffffff8c;letter-spacing:.12em;text-transform:uppercase;margin-top:.28rem;font-size:.66rem}.primary-nav{align-items:center;gap:clamp(.7rem,2vw,1.5rem);font-size:.9rem;display:flex}.primary-nav>a{color:#ffffffb8;text-decoration:none;transition:color .2s;position:relative}.primary-nav>a:hover,.primary-nav>a[aria-current=page]{color:var(--white)}.primary-nav>a[aria-current=page]:after{content:"";background:var(--mint);height:2px;position:absolute;bottom:-.72rem;left:0;right:0}.primary-nav .language-switch{color:var(--white);border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:.45rem;margin-left:.35rem;padding:.55rem .8rem;display:inline-flex}.language-switch span{background:var(--mint);width:1.55rem;height:1.55rem;color:var(--brand-dark);border-radius:50%;place-items:center;font-size:.68rem;font-weight:800;display:grid}.menu-toggle{background:0 0;border:1px solid #ffffff29;border-radius:50%;width:2.75rem;height:2.75rem;padding:.75rem;display:none}.menu-toggle>span:not(.sr-only){background:#fff;height:1px;margin:.3rem 0;display:block}.hero{background:var(--ink);color:var(--white);padding:clamp(5rem,11vw,9.5rem) 0 clamp(4rem,9vw,7rem);position:relative;overflow:hidden}.hero:before{content:"";background-image:linear-gradient(#9ae0c50f 1px,#0000 1px),linear-gradient(90deg,#9ae0c50f 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;mask-image:linear-gradient(#000,#0000 78%)}.hero:after{content:"";filter:blur(10px);background:radial-gradient(circle,#9ae0c538,#0000 68%);border-radius:50%;width:42rem;height:42rem;position:absolute;top:-18rem;right:-10rem}.hero-inner{z-index:1;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);align-items:end;gap:clamp(2rem,7vw,7rem);display:grid;position:relative}.hero-inner>*{min-width:0}.hero h1{text-wrap:balance;max-width:940px;margin-bottom:1.7rem}.hero .lede{color:#ffffffab;max-width:690px}.hero .eyebrow{color:var(--mint)}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:2.2rem;display:flex}.button{background:var(--lime);min-height:3.15rem;color:var(--ink);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.2rem;font-weight:760;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.secondary{color:var(--white);background:#ffffff0f;border-color:#ffffff2e}.hero-aside{border-radius:var(--radius-md);background:#ffffff0b;border:1px solid #ffffff1a;padding:1.5rem}.hero-aside .signal{color:var(--mint);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.76rem;font-weight:700;display:inline-flex}.hero-aside .signal:before{content:"";background:var(--mint);border-radius:50%;width:.5rem;height:.5rem;box-shadow:0 0 0 .3rem #9ae0c51f}.hero-aside p{color:#ffffff9e;margin:1rem 0 0;font-size:.95rem}.principle-strip{border-bottom:1px solid var(--line);background:var(--white)}.principle-grid{grid-template-columns:repeat(3,1fr);display:grid}.principle{border-right:1px solid var(--line);padding:1.6rem clamp(1rem,3vw,2.4rem)}.principle:first-child{padding-left:0}.principle:last-child{border-right:0}.principle span{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800;display:block}.principle strong{margin-top:.35rem;font-size:1rem;display:block}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(2rem,5vw,4rem);display:flex}.section-heading>div{max-width:760px}.section-heading h2{margin-bottom:1rem}.text-link{color:var(--brand);white-space:nowrap;font-weight:760}.pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.pillar-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffa6;min-height:290px;padding:clamp(1.5rem,4vw,2.7rem)}.pillar-card:nth-child(2),.pillar-card:nth-child(3){background:var(--paper-deep)}.pillar-number{color:var(--brand);letter-spacing:.1em;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:800;display:flex}.pillar-number:after{content:"";opacity:.35;border:1px solid;border-radius:50%;width:2.5rem;height:2.5rem}.pillar-card h3{max-width:420px;margin:3.8rem 0 1rem}.pillar-card p{max-width:560px;color:var(--ink-soft);margin:0}.dark-section{background:var(--brand-dark);color:var(--white);position:relative;overflow:hidden}.dark-section .eyebrow{color:var(--mint)}.dark-section .lede{color:#ffffffa6}.boundary-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(2rem,8vw,8rem);display:grid}.boundary-list{gap:.75rem;display:grid}.boundary-item{border-top:1px solid #ffffff21;grid-template-columns:auto 1fr;gap:1rem;padding:1.2rem 0;display:grid}.boundary-item span{color:var(--mint);font-variant-numeric:tabular-nums}.boundary-item strong{margin-bottom:.3rem;display:block}.boundary-item p{color:#ffffff94;margin:0}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.post-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);flex-direction:column;min-height:300px;padding:clamp(1.4rem,3vw,2rem);text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.post-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.post-meta{color:var(--brand);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;gap:.55rem;font-size:.76rem;font-weight:700;display:flex}.post-card h3{margin:auto 0 1rem;padding-top:3rem}.post-card p{color:var(--ink-soft);margin-bottom:0}.tag-list{flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 0;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:.3rem .65rem;font-size:.75rem}.page-hero{border-bottom:1px solid var(--line);background:linear-gradient(145deg, var(--white), var(--paper-deep));padding:clamp(4.5rem,10vw,8rem) 0 clamp(3rem,6vw,5rem)}.page-hero h1{max-width:980px;margin-bottom:1.4rem;font-size:clamp(2.8rem,7vw,6rem)}.page-hero .lede{max-width:820px}.content-grid{grid-template-columns:260px minmax(0,1fr);gap:clamp(2rem,7vw,6rem);display:grid}.side-label{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;align-self:start;font-size:.78rem;font-weight:800;position:sticky;top:7rem}.prose{max-width:780px;font-size:1.06rem}.prose h2{margin-top:3.4rem;font-size:clamp(1.8rem,3.5vw,2.7rem)}.prose h3{margin-top:2.4rem}.prose p,.prose li{color:#294542}.prose a{color:var(--brand)}.prose blockquote{border-left:3px solid var(--mint);background:var(--white);margin:2rem 0;padding:1.4rem 1.6rem;font-size:1.1rem}.prose code{background:var(--paper-deep);border-radius:.35rem;padding:.1rem .35rem;font-size:.9em}.article-header{max-width:940px}.article-meta{color:var(--ink-soft);flex-wrap:wrap;gap:1rem;margin-top:1.7rem;font-size:.9rem;display:flex}.article-body{padding:clamp(3rem,7vw,6rem) 0}.back-link{color:var(--brand);margin-bottom:2rem;font-weight:700;display:inline-flex}.software-empty{border-radius:var(--radius-md);text-align:center;background:#ffffff73;border:1px dashed #0a615859;padding:clamp(2rem,5vw,4rem)}.software-empty strong{margin-bottom:.7rem;font-size:1.25rem;display:block}.software-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.software-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);padding:2rem}.status{background:var(--paper-deep);color:var(--brand);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.28rem .65rem;font-size:.72rem;font-weight:800;display:inline-flex}.site-footer{background:var(--ink);color:var(--white);padding:4rem 0}.footer-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.footer-brand{align-items:start;gap:1rem;display:flex}.footer-brand strong{font-size:1.1rem}.footer-brand p{color:#ffffff8c;margin:.35rem 0 0}.footer-meta{color:#ffffff8c;text-align:right;font-size:.86rem}.footer-meta a{color:var(--mint)}.consent-banner{z-index:100;width:min(520px,100vw - 2rem);color:var(--white);background:#051b1af7;border:1px solid #ffffff29;border-radius:1rem;padding:1.15rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 24px 70px #0000004d}.consent-banner[hidden]{display:none}.consent-banner p{color:#ffffffb8;margin:0;font-size:.88rem}.consent-banner a{color:var(--mint)}.consent-actions{justify-content:flex-end;gap:.65rem;margin-top:1rem;display:flex}.consent-actions button{color:var(--white);background:0 0;border:1px solid #ffffff26;border-radius:999px;padding:.55rem .85rem}.consent-actions button.primary{border-color:var(--mint);background:var(--mint);color:var(--brand-dark);font-weight:760}@media (width<=820px){:root{--shell:min(100% - 1.5rem, 1180px)}.header-inner{min-height:4.2rem}.menu-toggle{display:block}.primary-nav{background:#051b1afa;border-bottom:1px solid #ffffff1a;flex-direction:column;align-items:stretch;gap:0;padding:.6rem .75rem 1rem;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}.primary-nav.is-open{display:flex}.primary-nav>a{padding:.85rem .7rem}.primary-nav>a[aria-current=page]:after{display:none}.primary-nav .language-switch{margin:.4rem 0 0}.hero-inner,.boundary-grid,.content-grid{grid-template-columns:1fr}.hero-aside{max-width:440px}.principle-grid{grid-template-columns:1fr}.principle{border-right:0;border-bottom:1px solid var(--line);padding:1.1rem 0}.principle:last-child{border-bottom:0}.pillar-grid,.post-grid,.software-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start}.side-label{position:static}.footer-grid{grid-template-columns:1fr}.footer-meta{text-align:left}}@media (width<=520px){.hero h1,.page-hero h1{text-wrap:wrap;font-size:clamp(2.45rem,12vw,3.15rem)}.hero .lede{font-size:1.05rem}.hero-actions{align-items:stretch}.hero-actions .button{flex:9.5rem;padding-inline:.85rem}.consent-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.consent-actions button{white-space:normal;min-width:0;padding-inline:.55rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
