.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.7rem;padding:.7rem 1.3rem;border:1px solid var(--color-primary);border-radius:999px;background:var(--color-primary);color:#fff;font-size:.9rem;font-weight:650;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.button:hover{background:var(--color-accent);border-color:var(--color-accent);transform:translateY(-2px)}
.button--small{min-height:44px;padding:.55rem 1rem}
.button--ghost{background:transparent;color:var(--color-primary)}
.button--light{border-color:#fff;background:#fff;color:#111}
.button--ghost-light{border-color:#4c4c4c;background:transparent;color:#fff}
.button-group{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.text-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:650}
.text-link svg,.card-link svg{transition:transform .2s}
.text-link:hover svg,.card-link:hover svg{transform:translateX(4px)}
.site-header{position:fixed;top:0;right:0;left:0;z-index:100;height:84px;transition:height .25s,background .25s,border-color .25s}
.admin-bar .site-header{top:32px}
.site-header.is-scrolled{height:70px;border-bottom:1px solid rgba(0,0,0,.07);background:rgba(247,247,245,.9);backdrop-filter:blur(18px)}
.site-header__inner{display:flex;height:100%;align-items:center;gap:2rem}
.site-brand{display:flex;align-items:center;gap:.7rem;margin-right:auto;line-height:1}
.site-brand__mark{display:grid;width:36px;aspect-ratio:1;place-items:center;border-radius:50%;background:#111;color:#fff;font-weight:700}
.site-brand strong,.site-brand small{display:block}.site-brand small{margin-top:.35rem;color:var(--color-text-secondary);font-size:.62rem;letter-spacing:.08em}
.custom-logo{width:auto;max-height:46px}.custom-logo-link{display:block}
.desktop-nav{display:flex;align-items:center;gap:1.8rem;font-size:.88rem;font-weight:550}
.desktop-nav>a,.desktop-nav__services>a{padding-block:1.5rem}
.desktop-nav__services{position:relative}
.mega-menu{position:absolute;top:calc(100% + .8rem);right:-200px;display:grid;visibility:hidden;width:680px;padding:1rem;transform:translateY(8px);grid-template-columns:repeat(2,1fr);border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.1);opacity:0;transition:.2s}
.desktop-nav__services:hover .mega-menu,.desktop-nav__services:focus-within .mega-menu{visibility:visible;transform:none;opacity:1}
.mega-menu a{padding:1rem;border-radius:10px}.mega-menu a:hover{background:var(--color-background)}.mega-menu strong,.mega-menu span{display:block}.mega-menu span{margin-top:.35rem;color:var(--color-text-secondary);font-size:.78rem}
.menu-toggle{display:none;width:46px;height:46px;padding:0;border:0;background:transparent;cursor:pointer}.menu-toggle svg{width:24px;height:24px}
.mobile-menu{position:fixed;z-index:200;inset:0;visibility:hidden;padding:5rem 1.5rem 2rem;background:#171717;color:#fff;opacity:0;transition:.25s}
.mobile-menu.is-open{visibility:visible;opacity:1}.mobile-menu nav{display:flex;height:100%;flex-direction:column;justify-content:center;gap:1.4rem}.mobile-menu nav>a:not(.button){font-size:clamp(2rem,9vw,3.4rem);font-weight:550;line-height:1}.mobile-menu__close{position:absolute;top:1.25rem;right:1.25rem;width:48px;height:48px;border:1px solid #444;border-radius:50%;background:transparent}.mobile-menu__close svg{width:22px}
.section-heading{display:grid;margin-bottom:clamp(3rem,6vw,5rem);gap:2rem;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end}
.section-heading h2{max-width:820px;margin:0}.section-heading p{color:var(--color-text-secondary)}.section--dark .section-heading p{color:#aaa}
.service-grid{display:grid;border-top:1px solid var(--color-border);grid-template-columns:repeat(2,1fr)}
.service-card{position:relative;display:grid;min-height:310px;padding:2rem;gap:2rem;grid-template-columns:40px 1fr 32px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transition:background .2s,transform .2s}
.service-card:nth-child(2n){border-right:0}.service-card:hover{z-index:1;background:#fff;transform:translateY(-4px)}.service-card__number{color:var(--color-text-secondary);font-size:.75rem}.service-card h3{margin-bottom:.3rem}.service-card__zh{color:var(--color-accent);font-size:.9rem;font-weight:600}.service-card p:not(.service-card__zh){color:var(--color-text-secondary)}.card-link{align-self:start}
.content-grid,.brand-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}
.content-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;transition:transform .2s,border-color .2s}.content-card:hover{transform:translateY(-5px);border-color:#bbb}.content-card__media{display:block;overflow:hidden;aspect-ratio:4/3;background:#e7e7e2}.content-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.content-card:hover img{transform:scale(1.025)}.image-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#e8e7e1,#d6d3ee)}.content-card__body{padding:1.5rem}.content-card h3{margin-bottom:.75rem}.content-card p{color:var(--color-text-secondary)}
.brand-card{min-height:430px;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff}.brand-card__visual{display:grid;height:200px;margin-bottom:1.5rem;place-items:center;border-radius:10px;background:#171717;color:#fff}.brand-card__visual span{font-size:4rem;font-weight:600}.brand-card p{color:var(--color-text-secondary)}
.faq-list{margin-top:2.5rem;border-top:1px solid var(--color-border)}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item h3{margin:0}.faq-item button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:1.4rem 0;border:0;background:transparent;text-align:left;cursor:pointer}.faq-item button span{display:grid;width:36px;height:36px;place-items:center}.faq-item__answer{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s}.js .faq-item__answer{grid-template-rows:0fr}.faq-item__answer p{min-height:0;overflow:hidden;color:var(--color-text-secondary)}.js .faq-item:has(button[aria-expanded=true]) .faq-item__answer{grid-template-rows:1fr}
.cta-banner{padding-block:clamp(5rem,10vw,9rem);text-align:center}.cta-banner--dark{background:#111;color:#fff}.cta-banner h2{max-width:900px;margin-inline:auto}.cta-banner p{max-width:650px;margin-inline:auto;color:#aaa;font-size:1.15rem}.cta-banner .button-group{justify-content:center}

