
:root{--paper:#F6F5F1;--white:#fff;--mist:#ECEFEB;--sage:#E5EFEB;--warm:#F2E9E2;--ink:#203744;--dark:#152B37;--blue:#49616C;--green:#2E6A62;--rust:#A95539;--heading:#20313A;--text:#394950;--muted:#5C6C73;--line:#D5DEDC}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font:16px/1.8 system-ui,-apple-system,"Microsoft YaHei","PingFang SC",sans-serif}img{display:block;max-width:100%;height:auto;object-fit:contain}figure{margin:0;min-width:0}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--rust)}a:focus-visible,button:focus-visible{outline:3px solid var(--rust);outline-offset:3px;border-radius:3px}button{font:inherit;cursor:pointer;min-height:44px}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{color:var(--heading);line-height:1.4;margin:0 0 .7em}h1{font-size:34px;line-height:1.3;letter-spacing:.01em}h2{font-size:24px}h3{font-size:19px}p{margin:0 0 1.2em}small,.muted{color:var(--muted)}.wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:32px;min-width:0}.skip{position:absolute;left:16px;top:-100px;background:#fff;z-index:4;padding:8px}.skip:focus{top:8px}.site-header{background:var(--white)}.brand-row{background:var(--dark);color:#fff}.brand-flex{min-height:60px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{color:#fff;display:flex;align-items:center;gap:13px;min-width:0;text-decoration:none}.brand:hover{color:white}.brand img{max-height:34px;max-width:155px}.brand-name{font-size:19px;font-weight:800;white-space:nowrap}.brand-name small{display:block;color:#ecf3f0;font-size:10px;line-height:1.1;letter-spacing:.12em}.brand-sub{font-size:12px;color:#edf3f2;white-space:nowrap;border-left:1px solid #648087;padding-left:13px}.header-actions{display:flex;gap:18px;align-items:center;flex-shrink:0}.menu-toggle{border:1px solid #b9d0ce;background:transparent;color:#fff;border-radius:8px;padding:5px 15px;display:flex;gap:10px;align-items:center}.menu-toggle:hover{background:#33505b}.desktop-pick{font-size:14px;color:#fff}.desktop-pick:hover{color:#fff}.mobile-label{display:none}.primary-nav{border-bottom:1px solid var(--line);background:#fff}.nav-line{height:48px;display:flex;align-items:stretch;gap:38px}.nav-line a{color:var(--heading);display:inline-flex;align-items:center;border-bottom:2px solid transparent;text-decoration:none;font-size:15px}.nav-line a.active,.nav-line a[aria-current]{font-weight:700;border-color:var(--green)}.nav-line a:hover{color:var(--green);border-color:var(--green)}.category-panel{padding-block:20px 18px;border-bottom:1px solid var(--line);background:#fff}.category-panel[hidden]{display:none!important}.directory-desktop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.directory-desktop h2,.directory-mobile h2{font-size:16px;margin-bottom:10px}.directory-desktop a{display:block;text-decoration:none;color:var(--heading);font-size:14px;padding:3px 0}.directory-desktop small{color:var(--muted);font-size:12px;margin-left:8px}.directory-bottom{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}.directory-bottom a{font-size:14px;color:var(--heading)}.close-menu{background:transparent;border:1px solid var(--line);padding:1px 14px;border-radius:8px;margin-left:auto}.directory-mobile{display:none}.noscript-nav{display:flex;flex-wrap:wrap;gap:14px;background:var(--sage)}.mobile-bottom{display:none}
main{min-height:50vh}.page-intro{max-width:970px;margin:34px auto 25px}.crumb{font-size:14px;margin-bottom:18px;color:var(--muted)}.crumb a{color:var(--green)}.lead{font-size:17px;line-height:1.82;max-width:800px;color:var(--blue)}.article-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(0,235px);gap:42px;align-items:start}.article-layout>*{min-width:0}.article-content{min-width:0;max-width:760px}.article-content>section{margin:0 0 40px}.article-content p{line-height:1.85}.article-content h2{padding-left:14px;border-left:3px solid var(--green)}.article-content h3{margin-top:20px}.side-note{border-top:3px solid var(--green);background:var(--sage);padding:20px;border-radius:0 0 10px 10px;font-size:14px}.side-note h2{font-size:18px}.side-note a{display:block;margin:8px 0}.feature-image{margin:23px 0 27px;display:table;max-width:100%;padding:8px;background:var(--white);border:1px solid var(--line);border-radius:11px}.feature-image img{max-width:min(100%,430px);max-height:245px;width:auto}.feature-image.wide img{max-width:100%;max-height:260px}.feature-image.tiny img{max-width:210px;max-height:185px}.feature-image.vertical img{max-width:210px;max-height:380px}.related{border-top:1px solid var(--line);padding-top:22px;margin:34px 0 65px}.related h2{font-size:20px}.related-links{display:flex;flex-wrap:wrap;gap:10px 22px}.related-links a{font-weight:600}.callout{background:var(--sage);padding:20px 24px;border-radius:11px;border:1px solid var(--line);margin:24px 0}.callout.warm{background:var(--warm)}.number-list{counter-reset:steps}.number-list section{border-top:1px solid var(--line);padding:24px 0 7px;position:relative}.number-list section::before{counter-increment:steps;content:counter(steps,decimal-leading-zero);font-size:14px;color:var(--rust);font-weight:700}.number-list h2{border:0;padding:0}.timeline{border-left:2px solid var(--line);padding-left:27px}.timeline section{position:relative;margin-bottom:32px}.timeline section::before{content:"";position:absolute;left:-34px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--green)}.question{padding:22px 0;border-bottom:1px solid var(--line)}.question h2{font-size:20px}.quiet{max-width:720px}.editorial{border-bottom:1px solid var(--line);padding:14px 0 32px;margin-bottom:30px}.editorial h2{border:0;padding:0}.status-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.status-list article{border-top:2px solid var(--green);background:#fff;border-radius:8px;padding:15px}.status-list h3{font-size:17px}.status-list p{font-size:14px;margin:0}.site-footer{background:#172E39;color:#F5F8F7;padding-top:42px}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr 1.25fr;gap:30px}.site-footer h2{color:#F5F8F7;font-size:16px}.site-footer p{font-size:14px;color:#F5F8F7}.site-footer a{display:block;font-size:14px;line-height:1.7;color:#F5F8F7;margin-bottom:7px}.site-footer a:hover{text-decoration-thickness:2px}.footer-last{font-size:13px;color:#F5F8F7;border-top:1px solid #4a6169;margin-top:30px;padding-block:12px 20px}
.home>section{margin-top:58px;margin-bottom:66px}.home h2{margin-bottom:18px}.home .eyebrow{font-size:13px;letter-spacing:.08em;font-weight:700;color:var(--green);margin-bottom:8px}.home .intro-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:44px;margin-top:26px;background:var(--sage);border-radius:13px;padding:32px}.home .intro-grid h1{max-width:580px}.intro-grid .feature-image{margin:0;justify-self:center}.intro-grid .feature-image img{max-height:270px;max-width:100%}.links{display:flex;flex-wrap:wrap;gap:14px}.action{background:var(--green);color:white!important;border-radius:8px;padding:8px 19px;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.action.secondary{background:white;color:var(--green)!important;border:1px solid var(--green)}.home .split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);gap:36px;align-items:start}.home .split>*{min-width:0}.home .split.reverse{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.home .line-item{padding:18px 0;border-top:1px solid var(--line)}.home .line-item h3{margin-bottom:7px}.home .line-item p{margin-bottom:7px}.home .mini-list{border-left:2px solid var(--line);padding-left:18px}.home .mini-list p{margin:10px 0}.home .gallery-note{max-width:860px}.home .image-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}.home .image-row>*{min-width:0}.home .longread{max-width:670px}.home .status-list{margin-top:18px}.home .service-links{padding-block:20px;border-top:1px solid var(--line);display:flex;gap:10px 24px;flex-wrap:wrap}.home .small-image img{max-height:200px}.home .app-split{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:40px;align-items:center}.home .app-split .feature-image{margin:0}.home .app-split img{max-width:210px;max-height:380px}
@media(max-width:1020px){.wrap{padding-inline:24px}.brand-sub{display:none}.article-layout{grid-template-columns:minmax(0,1fr)}.side-note{max-width:100%;margin-bottom:20px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-list{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-desktop{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){body{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px));font-size:16px}.wrap{padding-inline:16px}.brand-flex{height:60px;min-height:60px}.brand img{max-height:28px;max-width:115px}.brand-name{font-size:18px}.brand-name small,.brand-sub,.desktop-pick,.desktop-label,.primary-nav{display:none}.mobile-label{display:inline}.menu-toggle{padding:4px 13px}.category-panel{padding-block:16px}.directory-desktop{display:none}.directory-mobile{display:block}.directory-mobile section{padding:10px 0;border-bottom:1px solid var(--line)}.directory-mobile h2{margin:0 0 6px}.directory-mobile section>a{display:block;color:var(--heading);padding:7px 0;font-size:15px;line-height:1.6}.directory-bottom{gap:8px 18px}.close-menu{margin-left:0}.mobile-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid var(--line);z-index:3}.mobile-bottom a{min-height:44px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--heading);font-size:13px}.mobile-bottom a[aria-current]{color:var(--green);font-weight:700;border-top:2px solid var(--green)}.page-intro{margin:24px auto 22px}h1{font-size:27px;line-height:1.35}h2{font-size:22px}h3{font-size:18px}.lead{font-size:16px}.article-content>section{margin-bottom:33px}.feature-image img{max-height:195px;max-width:100%}.feature-image.wide img{max-height:190px}.feature-image.vertical img{max-width:175px;max-height:300px}.article-layout,.home .split,.home .split.reverse,.home .image-row,.home .intro-grid,.home .app-split{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.home .split>*,.home .intro-grid>*,.home .app-split>*,.home .image-row>*{grid-column:auto;grid-row:auto;grid-area:auto;order:initial;min-width:0;width:auto}.home>section{margin-top:38px;margin-bottom:43px}.home .intro-grid{margin-top:16px;padding:19px}.intro-grid .feature-image img{max-height:195px}.home .app-split img{max-width:175px;max-height:300px}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 16px}.site-footer{padding-top:30px}.status-list{grid-template-columns:minmax(0,1fr)}.site-footer a{font-size:14px}.related{margin-bottom:40px}}
@media(max-width:359px){.wrap{padding-inline:14px}.brand{gap:7px}.brand-name{font-size:16px}.brand img{max-width:85px}.footer-grid{grid-template-columns:minmax(0,1fr)}.directory-mobile section>a{font-size:15px}}
@media(min-width:390px) and (max-width:767px){.directory-mobile section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.directory-mobile h2{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* When optional local art is absent, text takes over the available column. */
.home .intro-grid:not(:has(figure)),.home .app-split:not(:has(figure)),.home .split:has(>div:empty){grid-template-columns:minmax(0,1fr)}
.home .split>div:empty{display:none}
