*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font-family:Arial,'Microsoft YaHei',sans-serif;color:var(--text);background:var(--body);line-height:1.7}
a{color:inherit;text-decoration:none}
body{--body:#F8F6FF;--surface:#FFFFFF;--surface-soft:#eeeaff;--text:#302a47;--muted:#6d6386;--primary:#9B8EC4;--accent:#D4AF37;--border:#ded8f2;--hero:linear-gradient(135deg,#9B8EC4 0%,#c8c0e6 66%,#D4AF37 100%);--hero-text:#302a47;--hero-muted:#5f5677;--card-shadow:0 14px 34px rgba(155,142,196,.16)}
.site-header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}
.site-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 6vw}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--primary)}
.brand img{width:auto;height:38px;max-width:180px;object-fit:contain}
.brand span{white-space:nowrap}
.header-contacts{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}
.header-contacts>span{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}
.header-contacts>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.header-contacts a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid color-mix(in srgb,var(--accent) 54%,var(--border));border-radius:8px;background:var(--accent);color:#ffffff;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.header-contacts em{font-style:normal;font-size:12px;font-weight:700;opacity:.88}
.header-contacts strong{font-size:18px;line-height:1;font-weight:900;white-space:nowrap}
.site-nav{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 6vw;background:var(--primary);color:#ffffff;font-size:15px;font-weight:700}
.site-nav a{display:inline-flex;align-items:center;min-height:50px;padding:0 15px;border-bottom:3px solid transparent}
.site-nav a:hover{border-bottom-color:var(--accent);background:rgba(255,255,255,.1)}
.nav-toggle{display:none;border:0;background:var(--primary);color:#fff;width:38px;height:38px;border-radius:6px;font-size:20px}
.banner-slider{position:relative;width:100%;margin:0;overflow:hidden;background:var(--surface-soft);isolation:isolate}
.banner-track{position:relative;height:600px;background:var(--surface-soft)}
.banner-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;overflow:hidden;transition:opacity .45s ease;background:var(--surface-soft);color:inherit;text-decoration:none}
.banner-slide.active{opacity:1;pointer-events:auto}
.banner-slide img{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--surface-soft)}
.banner-slide .banner-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;padding:96px max(40px,calc((100vw - 1200px)/2)) 48px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.76) 100%);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.banner-slide .banner-content{display:flex;width:min(100%,1200px);min-width:0;flex-direction:column;gap:7px}
.banner-slide .banner-overlay strong{overflow:hidden;font-size:40px;font-weight:900;line-height:1.22;text-overflow:ellipsis;white-space:nowrap}
.banner-slide .banner-overlay small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:rgba(255,255,255,.9);font-size:18px;line-height:1.6}
.banner-arrow{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(0,0,0,.42);color:#fff;font-size:34px;line-height:1;cursor:pointer;transform:translateY(-50%);box-shadow:0 12px 28px rgba(0,0,0,.2);transition:.2s}
.banner-arrow:hover{background:var(--primary);border-color:var(--accent);color:#ffffff}
.banner-prev{left:22px}
.banner-next{right:22px}
.banner-dots{position:absolute;left:50%;bottom:18px;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;transform:translateX(-50%)}
.banner-dot{width:10px;height:10px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.58);cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.24);transition:.2s}
.banner-dot.active{width:28px;border-radius:999px;background:var(--accent);border-color:var(--accent)}
.hero{min-height:520px;display:flex;align-items:center;padding:70px 6vw;background:var(--hero);color:var(--hero-text)}
.hero-copy{max-width:760px}
.hero span,.page-title span{font-size:14px;letter-spacing:0;color:var(--accent);font-weight:700}
.hero h1,.page-title h1{margin:10px 0 16px;font-size:clamp(34px,6vw,58px);line-height:1.12}
.hero p,.page-title p{margin:0 0 26px;font-size:18px;color:var(--hero-muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:6px;background:var(--primary);color:#ffffff;font-weight:700}
.btn.secondary{background:var(--accent);color:#ffffff}
.section{padding:48px 6vw}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.section-head h2{margin:0;font-size:28px;color:var(--text)}
.section-head a{color:var(--primary);font-weight:700}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.article-grid.featured{grid-template-columns:repeat(3,1fr)}
.article-card{display:block;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);transition:.2s;box-shadow:var(--card-shadow)}
.article-card:hover{transform:translateY(-2px)}
.card-image{height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface-soft),var(--border));overflow:hidden}
.card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.article-card div:last-child{padding:18px}
.article-card span{font-size:13px;color:var(--primary);font-weight:700}
.article-card h3{margin:8px 0;font-size:19px;line-height:1.35;color:var(--text)}
.article-card p{margin:0 0 12px;color:var(--muted)}
.article-card em{font-style:normal;font-size:13px;color:var(--muted)}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.home-service-projects{margin:0}
.home-service-projects .section-head{margin-bottom:20px}
.partner-card{display:grid;gap:12px;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow)}
.partner-card img{display:block;width:100%;height:86px;border-radius:6px;background:transparent;object-fit:contain;object-position:center}
.partner-logo-fallback{width:100%;height:86px;border-radius:6px;background:linear-gradient(135deg,var(--surface-soft),var(--border))}
.partner-card h3{margin:0;font-size:18px;color:var(--text)}
.partner-card p{margin:6px 0 0;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 360px;gap:24px}
.news-list{display:grid;gap:10px}
.news-list a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
.news-list span{color:var(--muted);white-space:nowrap}
.consult-panel,.contact-box{border-radius:8px;background:var(--primary);color:#fff;padding:26px}
.consult-panel span{display:inline-block;margin-bottom:8px;color:rgba(255,255,255,.78);font-size:13px;font-weight:700}
.consult-panel h2{margin:0 0 12px}
.consult-panel p{color:rgba(255,255,255,.86)}
.page-title{padding:64px 6vw;background:var(--hero);color:var(--hero-text)}
.page-title h1{font-size:clamp(32px,5vw,48px)}
.article-detail{max-width:900px;margin:0 auto;padding:54px 24px;background:var(--surface)}
.breadcrumb{font-size:14px;color:var(--primary);margin-bottom:18px}
.article-detail h1{margin:0 0 14px;font-size:38px;line-height:1.25;color:var(--text)}
.article-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:14px;margin-bottom:24px}
.article-cover{width:100%;max-height:460px;object-fit:cover;border-radius:8px;margin-bottom:22px}
.article-summary{padding:18px 20px;margin-bottom:24px;border-left:4px solid var(--primary);background:var(--surface-soft);color:var(--text)}
.article-content{font-size:17px;color:var(--text)}
.article-content,.single-article-content{min-width:0;max-width:100%;overflow-x:hidden;overflow-wrap:anywhere;word-break:break-word}
.article-content p,.single-article-content p{margin:0 0 1em;line-height:inherit}
.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.single-article-content h1,.single-article-content h2,.single-article-content h3,.single-article-content h4,.single-article-content h5,.single-article-content h6{max-width:100%;overflow-wrap:anywhere}
.article-content ul,.article-content ol,.single-article-content ul,.single-article-content ol{max-width:100%;margin:0 0 1em;padding-left:2em}
.article-content li,.single-article-content li{overflow-wrap:anywhere}
.article-content a,.single-article-content a{color:var(--primary);text-decoration:underline;overflow-wrap:anywhere}
.article-content blockquote,.single-article-content blockquote{max-width:100%;margin:1em 0;padding:.25em 1em;border-left:4px solid var(--accent);color:var(--muted)}
.article-content img,.article-content video,.article-content audio,.article-content canvas,.article-content iframe,.single-article-content img,.single-article-content video,.single-article-content audio,.single-article-content canvas,.single-article-content iframe{display:block;max-width:100%!important;height:auto;box-sizing:border-box}
.article-content iframe,.single-article-content iframe{width:100%!important;min-height:240px;border:0}
.article-content table,.single-article-content table{width:100%!important;max-width:100%!important;table-layout:fixed!important;border-collapse:collapse;white-space:normal!important}
.article-content th,.article-content td,.single-article-content th,.single-article-content td{min-width:0!important;max-width:100%!important;padding:9px 10px;border:1px solid var(--border);overflow-wrap:anywhere;word-break:break-word;white-space:normal!important;vertical-align:top}
.article-content th,.single-article-content th{background:var(--surface-soft);font-weight:800}
.article-content pre,.article-content code,.single-article-content pre,.single-article-content code{max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}
.article-content pre,.single-article-content pre{padding:1em;background:var(--surface-soft);border:1px solid var(--border);overflow:auto}
.prose,.contact-box{font-size:17px;background:var(--surface)}
.contact-box{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;color:var(--text)}
.contact-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.contact-list-grid a{display:grid;gap:4px;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow)}
.contact-list-grid span{color:var(--muted);font-size:13px}
.contact-list-grid strong{font-size:22px;color:var(--primary)}
.message-board{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;padding:44px 6vw;background:var(--surface-soft);border-top:1px solid var(--border)}
.message-copy span{font-size:13px;font-weight:700;color:var(--accent)}
.message-copy h2{margin:8px 0 10px;font-size:28px;line-height:1.25;color:var(--text)}
.message-copy p{margin:0;color:var(--muted)}
.message-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.message-form label{display:grid;gap:6px;color:var(--text);font-weight:700}
.message-form label span{font-size:14px}
.message-form input,.message-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;outline:none}
.message-form input{height:44px;padding:0 12px}
.message-form textarea{min-height:116px;padding:10px 12px;resize:vertical}
.message-form input:focus,.message-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}
.message-full,.message-form button,.message-tip{grid-column:1/-1}
.message-form button{height:46px;border:0;border-radius:8px;background:var(--primary);color:#ffffff;font-weight:800;cursor:pointer}
.message-tip{min-height:24px;margin:0;color:var(--primary);font-weight:700}
.message-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.empty{grid-column:1/-1;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--muted)}
.site-footer{padding:32px 6vw;background:#241f35;color:#F8F6FF}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:26px}
.site-footer strong{display:block;font-weight:700;font-size:18px;margin-bottom:8px;color:#F8F6FF}
.site-footer p{margin:6px 0 0;color:#d8d1ee}
.footer-contacts,.friend-links{display:grid;gap:7px}
.footer-contacts a,.friend-links a{color:#d8d1ee}
.footer-contacts a:hover,.friend-links a:hover{color:var(--accent)}
.friend-links div{display:flex;flex-wrap:wrap;gap:8px 14px}
.footer-beian{margin-top:22px;padding-top:16px;border-top:1px solid color-mix(in srgb,#F8F6FF 18%,transparent);text-align:center;font-size:13px;color:#d8d1ee}
.footer-beian a{color:#d8d1ee;text-decoration:none}
.footer-beian a:hover{color:var(--accent)}
@media(max-width:900px){.site-topbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.brand img{height:34px;max-width:140px}.header-contacts{order:3;width:100%;justify-content:flex-start;align-items:flex-start;flex-direction:column;margin-left:0}.header-contacts>div{width:100%;justify-content:flex-start}.header-contacts a{flex:1 1 180px;justify-content:center}.nav-toggle{display:block;margin-left:auto}.site-nav{display:none;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:0;padding:8px 6vw;background:var(--primary);border-top:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.site-header.open .site-nav{display:flex}.site-nav a{width:100%;min-height:46px;padding:0;border-bottom:1px solid rgba(255,255,255,.16)}.banner-arrow{width:36px;height:36px;font-size:26px}.banner-prev{left:10px}.banner-next{right:10px}.banner-dots{bottom:14px}.banner-dot{width:8px;height:8px}.banner-dot.active{width:22px}.article-grid,.article-grid.featured,.partner-grid,.two-col,.contact-box,.contact-list-grid,.message-board,.message-form,.footer-grid{grid-template-columns:1fr}.hero{min-height:440px}.article-detail h1{font-size:30px}.news-list a{display:block}.news-list span{display:block;margin-top:4px}}
.nav-menu{display:flex;align-items:center;justify-content:center;gap:4px;margin:0;padding:0;list-style:none}
.nav-item{position:relative}
.nav-item>a,.nav-menu>li>a{display:inline-flex;align-items:center;min-height:50px;padding:0 14px;border-bottom:3px solid transparent}
.nav-item:hover>a,.nav-menu>li>a:hover{border-bottom-color:var(--accent);background:rgba(255,255,255,.1)}
.nav-item.active>a,.nav-menu>li.active>a{border-bottom-color:var(--accent);background:color-mix(in srgb,var(--primary) 88%,#fff);color:var(--accent);font-weight:900}
.nav-sub .nav-item.active>a{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--primary)}
.nav-sub{position:absolute;left:0;top:100%;z-index:20;display:none;min-width:180px;margin:0;padding:8px 0;list-style:none;background:var(--surface);border:1px solid var(--border);box-shadow:0 18px 38px rgba(0,0,0,.18)}
.nav-item:hover>.nav-sub{display:block}
.nav-sub .nav-item>a{width:100%;min-height:38px;color:var(--text);border-bottom:0;white-space:nowrap}
.nav-sub .nav-sub{left:100%;top:0}
.category-list{display:grid;gap:16px}
.list-card{display:grid;grid-template-columns:260px 1fr;gap:18px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow)}
.list-card .card-image{height:100%;min-height:190px}
.list-card.no-cover{grid-template-columns:1fr}
.list-card.no-cover .placeholder-image{display:none}
.list-card>div:last-child{padding:18px}
.list-card span,.list-card em{font-size:13px;color:var(--muted);font-style:normal}
.list-card h3{margin:8px 0;font-size:22px;line-height:1.35;color:var(--text)}
.list-card p{margin:0 0 12px;color:var(--muted)}
.category-style-list{display:grid;gap:16px}
.section-head h2 a{color:inherit}
.style-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow);transition:.2s}
.style-card:hover{transform:translateY(-2px)}
.style-copy{padding:20px}
.style-card span,.style-card em{display:block;font-size:13px;color:var(--muted);font-style:normal}
.style-card h3{margin:8px 0 10px;font-size:22px;line-height:1.34;color:var(--text)}
.style-card p{margin:0 0 12px;color:var(--muted)}
.image-text-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.image-text-card{display:grid;grid-template-columns:minmax(220px,32%) 1fr;align-items:stretch}
.image-text-card .card-image{height:210px}
.home-recommend-list .card-image,.grouped-image-grid .card-image{position:relative;isolation:isolate}
.home-recommend-list .card-image.has-image:before,.grouped-image-grid .card-image.has-image:before{position:absolute;inset:-14px;z-index:0;content:'';background:var(--card-image) center/cover no-repeat;filter:blur(12px);opacity:.34;transform:scale(1.08)}
.home-recommend-list .card-image img,.grouped-image-grid .card-image img{position:relative;z-index:1}
@media(min-width:901px){.home-recommend-list .image-text-card{height:217px}.home-recommend-list .image-text-card .card-image{height:100%;min-height:0}.home-recommend-list .image-text-card .card-image img{position:absolute;inset:0;width:100%;height:214px;object-fit:cover}.home-recommend-list .style-copy{display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden}.home-recommend-list .style-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-recommend-list .style-card h3,.home-recommend-list .style-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.home-recommend-list .style-card h3{-webkit-line-clamp:2}.home-recommend-list .style-card p{-webkit-line-clamp:4}.home-recommend-list .style-card em{margin-top:auto}}
.text-only-card{display:block;padding:24px 28px 24px 34px;border-left:5px solid var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,var(--surface)) 0%,var(--surface) 58%)}
.text-only-card .style-copy{padding:0 76px 0 0}
.text-only-card .style-index{position:absolute;right:24px;top:18px;color:color-mix(in srgb,var(--primary) 26%,transparent);font-size:34px;font-weight:900;line-height:1}
.text-only-card h3{font-size:25px}
.text-only-card p{font-size:17px;font-weight:700;color:var(--text)}
.home-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;border-top:1px solid var(--border)}
.home-text-item{min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:start;gap:10px;padding:15px 10px;border-bottom:1px solid var(--border);border-radius:6px;color:var(--text);transition:background .2s,color .2s}
.home-text-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.home-text-dot{width:6px;height:6px;margin-top:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}
.home-text-item h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;font-size:16px;line-height:1.45;color:var(--text)}
.home-text-item time{white-space:nowrap;color:var(--muted);font-size:13px;line-height:1.8}
.home-more{display:flex;justify-content:flex-end;margin-top:12px}
.home-more a{font-weight:700;color:var(--primary)}
.home-more a:hover{color:var(--accent)}
.large-image-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.large-image-card .card-image{height:260px}
.large-image-card h3{font-size:24px}
.alternating-list{display:grid;gap:16px}
.alt-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow);transition:.2s}
.alt-card:hover{transform:translateY(-2px)}
.alt-card-media{display:grid;grid-template-columns:minmax(220px,32%) 1fr;align-items:stretch}
.alt-card-media .card-image{height:100%;min-height:190px}
.alt-copy{padding:20px}
.alt-meta,.alt-card em{display:block;font-size:13px;color:var(--muted);font-style:normal}
.alt-card h3{margin:8px 0 10px;font-size:22px;line-height:1.34;color:var(--text)}
.alt-card p{margin:0 0 12px;color:var(--muted)}
.alt-card-text{display:block;padding:24px 28px 24px 34px;border-left:5px solid var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,var(--surface)) 0%,var(--surface) 58%)}
.alt-card-text .alt-copy{padding:0 76px 0 0}
.alt-card-text .alt-index{position:absolute;right:24px;top:18px;color:color-mix(in srgb,var(--primary) 26%,transparent);font-size:34px;font-weight:900;line-height:1}
.alt-card-text h3{font-size:25px}
.alt-card-text p{font-size:17px;font-weight:700;color:var(--text)}
.masonry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.masonry-card{display:block;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow)}
.masonry-card .card-image,.masonry-card .placeholder-image{height:190px}
.masonry-card>div:last-child{padding:16px}
.masonry-card h3{margin:0 0 8px;font-size:19px;color:var(--text)}
.masonry-card p{margin:0;color:var(--muted)}
.pagination,.content-pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:24px}
.pagination a,.pagination span,.content-pager a,.content-pager span,.content-pager strong{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-weight:700}
.pagination .active,.content-pager strong{background:var(--primary);border-color:var(--primary);color:#fff}
.load-more{display:flex;justify-content:center;margin-top:24px;color:var(--muted);font-weight:700}
.single-article-card{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow)}
.single-article-card .article-cover{display:block;width:100%;max-height:520px;margin:0;border-radius:0}
.single-article-copy{padding:28px}
.single-article-copy>span{color:var(--primary);font-weight:700}
.single-article-copy h2{margin:10px 0 12px;font-size:32px;line-height:1.22;color:var(--text)}
.single-article-copy p{color:var(--muted)}
.single-article-content{overflow:hidden;margin-bottom:18px;color:var(--text)}
.home-category-tabs{padding-top:34px}
.home-category-tabs .section-head{margin-bottom:12px}
.section-eyebrow{display:block;margin-bottom:4px;color:var(--primary);font-size:11px;font-weight:900;letter-spacing:2px}
.home-category-tab-list{display:flex;gap:22px;overflow-x:auto;padding:0;border-bottom:1px solid var(--border);scrollbar-width:none}
.home-category-tab-list::-webkit-scrollbar{display:none}
.home-category-tab{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:44px;padding:0 4px;border:0;background:transparent;color:color-mix(in srgb,var(--text) 66%,var(--surface));font:inherit;font-weight:700;cursor:pointer;transition:color .2s}
.home-category-tab:hover{color:var(--primary)}
.home-category-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.home-category-tab.active{background:transparent;color:var(--primary);font-weight:900}
.home-category-tab.active:after{position:absolute;right:2px;bottom:-1px;left:2px;height:3px;border-radius:3px 3px 0 0;background:var(--accent);content:''}
.home-category-region{margin-top:26px}
.home-category-region .home-category-tab-list{padding:0}
.home-category-region-text .home-category-tab.active,.home-category-region-image .home-category-tab.active{background:transparent;color:var(--primary)}
.home-category-panel[hidden]{display:none}
.home-category-panel{padding-top:18px}
.home-category-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.home-category-panel-heading>span{flex:0 0 auto;color:var(--muted);font-size:12px;letter-spacing:1px}
.home-category-sources{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.home-category-sources a{padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--primary);font-size:13px;font-weight:700}
.home-category-sources a:hover{border-color:var(--primary);background:var(--primary);color:#fff}
.grouped-text-grid{margin-top:0}
.grouped-image-grid{margin-top:0}
.grouped-image-grid .image-text-card{height:220px;min-height:220px;grid-template-columns:minmax(220px,32%) minmax(0,1fr);align-items:stretch}
.grouped-image-grid .image-text-card .card-image{height:100%;min-height:0;align-self:stretch}
.grouped-image-grid .image-text-card .card-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.grouped-image-grid .style-copy{display:flex;height:100%;min-width:0;min-height:0;flex-direction:column;overflow:hidden;padding:24px}
.grouped-image-grid .style-card span,.grouped-image-grid .style-card em{color:color-mix(in srgb,var(--text) 72%,var(--surface))}
.grouped-image-grid .style-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grouped-image-grid .style-card h3{overflow:hidden;margin:7px 0 6px;text-overflow:ellipsis;white-space:nowrap}
.grouped-image-grid .style-card p{display:-webkit-box;min-height:0;margin:0;overflow:hidden;color:color-mix(in srgb,var(--text) 76%,var(--surface));font-size:15px;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.grouped-image-grid .style-card em{margin-top:auto;padding-top:10px;line-height:1.5;white-space:nowrap}
.grouped-image-grid .image-text-card:has(.placeholder-image){grid-template-columns:1fr}
.grouped-image-grid .image-text-card .placeholder-image{display:none}
.service-project-card{transition:transform .2s,box-shadow .2s}
.service-project-card:hover{transform:translateY(-3px)}
.partner-grid.service-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.partner-card.service-project-card{position:relative;display:block;height:340px;min-height:340px;padding:0;overflow:hidden;border:0;background:var(--primary)}
.partner-card.service-project-card:before{position:absolute;inset:-18px;z-index:0;content:'';background:var(--card-image) center/cover no-repeat;filter:blur(15px);opacity:.42;transform:scale(1.08)}
.partner-card.service-project-card>img,.partner-card.service-project-card>.service-project-cover-fallback{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;border-radius:0;object-fit:cover}
.partner-card.service-project-card>.service-project-cover-fallback{background:linear-gradient(135deg,var(--primary),var(--accent))}
.partner-card.service-project-card .service-project-copy{position:relative;z-index:2;display:flex;height:100%;min-height:0;box-sizing:border-box;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:92px 28px 24px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.8) 100%)}
.partner-card.service-project-card h3{margin:0;color:#fff;font-size:26px;line-height:1.3}
.partner-card.service-project-card p{margin:10px 0 0;color:rgba(255,255,255,.9);font-size:15px;line-height:1.65;white-space:normal}
@media(max-width:1200px){.masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grouped-image-grid{grid-template-columns:1fr}}
@media(max-width:900px){.nav-menu{width:100%;align-items:stretch;flex-direction:column}.nav-item>a,.nav-menu>li>a{width:100%;padding:0;border-bottom:1px solid rgba(255,255,255,.16)}.nav-sub{position:static;display:block;min-width:0;padding:0 0 0 16px;background:transparent;border:0;box-shadow:none}.nav-sub .nav-item>a{color:#fff}.list-card,.image-text-card,.alt-card-media{grid-template-columns:1fr}.image-text-list,.large-image-list{grid-template-columns:1fr}.home-text-item:nth-child(n+7){display:none}.list-card .card-image,.image-text-card .card-image,.alt-card-media .card-image{height:210px}.large-image-card .card-image{height:220px}.style-copy,.alt-copy{padding:18px}.text-only-card,.alt-card-text{padding:22px}.text-only-card .style-copy,.alt-card-text .alt-copy{padding:0}.text-only-card .style-index,.alt-card-text .alt-index{position:static;display:inline-block;margin-bottom:8px;font-size:22px}.text-only-card h3,.alt-card-text h3{font-size:22px}.masonry-grid{grid-template-columns:1fr}.masonry-card .card-image,.masonry-card .placeholder-image{height:160px}.single-article-copy h2{font-size:26px}}
@media(max-width:900px){.grouped-image-grid .image-text-card{height:auto;min-height:0;grid-template-columns:1fr}.grouped-image-grid .image-text-card .card-image{height:210px;min-height:210px}.grouped-image-grid .style-copy{height:auto;min-height:174px;padding:20px}.grouped-image-grid .style-card h3{white-space:normal}.grouped-image-grid .style-card p{-webkit-line-clamp:3}}
@media(max-width:600px){.home-text-grid{grid-template-columns:1fr}.home-text-item{grid-template-columns:10px minmax(0,1fr);gap:8px 10px}.home-text-item:nth-child(n+5){display:none}.home-text-item time{grid-column:2;line-height:1.4}}