:root{--ink:#151719;--muted:#636a72;--line:#dde1e3;--soft:#f4f5f5;--gold:#b48a42;--gold-deep:#76551d;--blue:#2f7ea6;--dark:#111416;--white:#fff;--shell:min(1280px,calc(100% - 48px));font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:74px}
body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;padding:10px 14px;background:#fff;color:#111;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #e2ad4e;outline-offset:3px}

.site-header{position:fixed;inset:0 0 auto;z-index:40;height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(24px,calc((100vw - 1440px)/2));color:#fff;background:linear-gradient(180deg,rgba(6,9,12,.82),rgba(6,9,12,.36));border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px)}
.inner-page .site-header{background:rgba(13,16,18,.96)}
.brand{display:flex;align-items:center;gap:11px;width:max-content;font-size:14px;font-weight:760;letter-spacing:.02em}
.brand>span{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.75);font-size:15px;font-weight:900}
.site-nav{justify-self:center;display:flex;align-items:center;gap:30px;color:rgba(255,255,255,.86);font-size:13px;font-weight:650}
.site-nav a,.header-phone{transition:color .2s ease,opacity .2s ease}
.site-nav a:hover,.header-phone:hover{color:#fff}
.header-phone{justify-self:end;font-size:13px;font-weight:760;letter-spacing:.025em}
.menu-toggle{display:none;width:44px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer}
.menu-toggle span{display:block;height:2px;margin:5px 0;background:#fff;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;left:0;right:0;top:68px;max-height:calc(100dvh - 68px);overflow:auto;padding:18px;background:#fff;color:var(--ink);box-shadow:0 22px 44px rgba(0,0,0,.18)}
.mobile-menu a,.mobile-menu button{display:flex;width:100%;min-height:48px;align-items:center;padding:0 12px;border-bottom:1px solid #eceeef;font-weight:720}
.mobile-menu .button{margin-top:12px;justify-content:center;border-bottom:0}

.hero{position:relative;min-height:min(92vh,920px);display:grid;place-items:center;overflow:hidden;background:#111}
.hero picture{position:absolute;inset:0}
.hero-image{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.05)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,13,.9) 0%,rgba(7,10,13,.64) 48%,rgba(7,10,13,.22) 100%),linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.22))}
.hero-content{position:relative;width:min(880px,calc(100% - 40px));margin-top:30px;color:#fff;text-align:center}
.eyebrow{margin:0 0 14px;color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.section-heading .eyebrow{color:var(--gold-deep)}
.hero h1{max-width:850px;margin:0 auto;font-size:clamp(42px,6vw,86px);line-height:1.04;letter-spacing:-.035em}
.hero-copy{max-width:720px;margin:22px auto 0;color:rgba(255,255,255,.86);font-size:clamp(16px,1.6vw,19px);line-height:1.85}
.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:30px}
.hero-note{margin:18px auto 0;color:rgba(255,255,255,.68);font-size:12px;line-height:1.7}
.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 22px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:14px;font-weight:780;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button.primary,.button.light{border-color:#fff;background:#fff;color:#111}
.button.ghost,.button.outline-light{border-color:rgba(255,255,255,.58);background:rgba(12,14,16,.2);color:#fff}
.button.dark{border-color:var(--ink);background:var(--ink);color:#fff}
.button[disabled]{opacity:.48;cursor:not-allowed;transform:none}
.text-link{font-size:14px;font-weight:780;text-decoration:underline;text-decoration-color:#cbd0d3;text-underline-offset:5px}

.strength-strip{width:var(--shell);display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto;border:1px solid var(--line);border-top:0;background:#fff;transform:translateY(-1px)}
.strength-strip article{min-height:130px;padding:27px 25px;border-right:1px solid var(--line)}
.strength-strip article:last-child{border-right:0}
.strength-strip strong,.strength-strip span{display:block}
.strength-strip strong{font-size:16px}
.strength-strip span{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.65}

.section{padding:96px max(24px,calc((100vw - 1280px)/2));border-top:1px solid var(--line)}
.section-soft{background:var(--soft)}
.section-heading{max-width:760px;margin:0 auto 45px;text-align:center}
.section-heading-row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:30px;text-align:left}
.section-heading h2,.trust h2,.contact h2,.page-hero h1{margin:0;font-size:clamp(31px,3.6vw,54px);line-height:1.12;letter-spacing:-.035em}
.section-heading p:last-child{max-width:720px;margin:16px auto 0;color:var(--muted);font-size:15px;line-height:1.8}
.section-heading-row p:last-child{margin-left:0}
.section-actions{display:flex;justify-content:center;margin-top:36px}
.empty-state{grid-column:1/-1;padding:48px;border:1px dashed #cfd4d7;color:var(--muted);text-align:center}

.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filter-button{min-height:38px;padding:0 15px;border:1px solid #d6d9dc;background:#fff;color:#34383d;font-size:13px;cursor:pointer;transition:background .18s ease,color .18s ease}
.filter-button:hover{border-color:#8d9499}
.filter-button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-card{min-width:0;border:1px solid var(--line);background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.case-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(21,23,25,.1)}
.case-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#d9dde0;cursor:zoom-in}
.case-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.case-card:hover .case-media img{transform:scale(1.025)}
.case-body{padding:19px}
.case-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--gold-deep);font-size:11px;font-weight:850;letter-spacing:.05em}
.case-body h3{margin:9px 0 0;font-size:20px;line-height:1.35}
.case-body p{min-height:3.3em;margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.65}
.case-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:16px;border-top:1px solid #edf0f1;padding-top:14px}
.case-links a,.case-links button{padding:0;border:0;background:transparent;color:#25292d;font-size:13px;font-weight:760;cursor:pointer;text-decoration:underline;text-decoration-color:#cdd2d4;text-underline-offset:4px}
.is-image-missing{display:grid;place-items:center;background:#eceff0;color:#5e656b}
.is-image-missing img{display:none}
.image-fallback{max-width:80%;font-size:13px;line-height:1.5;text-align:center}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid #dcdfdf;background:#dcdfdf}
.service-grid>a{min-height:260px;padding:32px;background:#fff;transition:background .2s ease,color .2s ease}
.service-grid>a:hover{background:#181b1d;color:#fff}
.service-grid span,.process-grid>li>span{display:block;margin-bottom:36px;color:var(--blue);font-size:12px;font-weight:900}
.service-grid h3{margin:0;font-size:23px}
.service-grid p{margin:13px 0 28px;color:var(--muted);font-size:14px;line-height:1.75}
.service-grid>a:hover p{color:#c7ccd0}
.service-grid b{font-size:12px;text-decoration:underline;text-underline-offset:4px}

.capability-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px}
.capability-grid figure{position:relative;min-height:410px;margin:0;overflow:hidden;background:#dfe2e3}
.capability-grid img{width:100%;height:100%;object-fit:cover}
.capability-grid figcaption{position:absolute;inset:auto 0 0;display:grid;padding:52px 22px 22px;color:#fff;background:linear-gradient(transparent,rgba(6,8,10,.8))}
.capability-grid figcaption span{color:#d8bd88;font-size:11px;font-weight:850}
.capability-grid figcaption strong{margin-top:5px;font-size:19px}
.capability-grid figcaption small{margin-top:5px;color:rgba(255,255,255,.72);font-size:12px}

.trust{display:grid;grid-template-columns:.9fr 1.15fr;gap:78px;background:var(--dark);color:#fff}
.trust-copy p:last-child{margin:22px 0 0;color:#c7ccd0;line-height:1.9}
.trust-list{border:1px solid rgba(255,255,255,.1)}
.trust-list article{display:grid;grid-template-columns:44px 1fr;gap:20px;padding:27px 30px;border-bottom:1px solid rgba(255,255,255,.1)}
.trust-list article:last-child{border-bottom:0}
.trust-list span{color:#d8bd88;font-size:12px;font-weight:850}
.trust-list h3{margin:0;font-size:18px}
.trust-list p{margin:8px 0 0;color:#b8bfc4;font-size:13px;line-height:1.7}

.process-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border:1px solid var(--line);list-style:none}
.process-grid li{min-height:220px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-grid li:nth-child(3n){border-right:0}
.process-grid li:nth-last-child(-n+3){border-bottom:0}
.process-grid h3{margin:0;font-size:19px}
.process-grid p{margin:11px 0 0;color:var(--muted);font-size:13px;line-height:1.75}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonial-grid blockquote{margin:0;padding:28px;border:1px solid var(--line);line-height:1.8}

.contact{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:88px max(24px,calc((100vw - 1280px)/2));background:#0f1113;color:#fff}
.contact p:last-child{margin:20px 0 0;color:#c5cace;line-height:1.8}
.contact-actions{display:grid;min-width:245px;gap:10px}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:30px;padding:30px max(24px,calc((100vw - 1440px)/2));background:#090b0c;color:#a9b0b5;font-size:12px}
.site-footer>div{display:grid;gap:6px}
.site-footer strong{color:#fff;font-size:13px}
.site-footer nav{display:flex;gap:20px}
.footer-meta{justify-self:end;text-align:right}
.footer-meta a{text-decoration:underline;text-underline-offset:3px}

.mobile-action-bar{display:none}
.modal,.lightbox{position:fixed;inset:0;z-index:80;place-items:center;padding:24px}
.modal:not([hidden]),.lightbox:not([hidden]){display:grid}
.modal-backdrop,.lightbox-backdrop{position:absolute;inset:0;background:rgba(6,8,10,.84);backdrop-filter:blur(5px)}
.modal-card{position:relative;width:min(480px,100%);padding:38px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.modal-card h2{margin:0;font-size:32px}
.modal-card p{line-height:1.75}
.modal-note{color:var(--muted);font-size:13px}
.modal-close,.lightbox-close,.lightbox-nav{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;cursor:pointer}
.modal-close{position:absolute;right:12px;top:10px;width:40px;height:40px;border-color:#d9dddf;background:#fff;color:#111;font-size:26px}
.copy-status{min-height:1.5em;margin-bottom:0;color:#2f6f55;font-size:13px}
.lightbox figure{position:relative;z-index:1;max-width:min(1160px,88vw);max-height:88vh;margin:0}
.lightbox img{width:auto;max-height:76vh;margin:auto;object-fit:contain;background:#202427}
.lightbox figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;color:#fff}
.lightbox figcaption span{color:#c8cdd1}
.lightbox-close,.lightbox-nav{position:absolute;z-index:2}
.lightbox-close{right:24px;top:22px;width:44px;height:44px;font-size:29px}
.lightbox-nav{top:50%;width:50px;height:72px;font-size:42px;transform:translateY(-50%)}
.lightbox-nav.prev{left:24px}.lightbox-nav.next{right:24px}
.noscript-note{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;padding:12px;background:#fff3cf;border:1px solid #d9b766;text-align:center}

.page-hero{padding:150px max(24px,calc((100vw - 1120px)/2)) 78px;background:#141719;color:#fff}
.page-hero .eyebrow{color:#d8bd88}
.page-hero p:last-child{max-width:780px;margin:20px 0 0;color:#c9ced2;font-size:17px;line-height:1.85}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;color:#aeb5ba;font-size:12px}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.content-shell{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:72px 0 100px}
.content-shell.narrow{width:min(820px,calc(100% - 48px))}
.content-section{padding:52px 0;border-bottom:1px solid var(--line)}
.content-section:first-child{padding-top:0}
.content-section:last-child{border-bottom:0}
.content-section h2{margin:0;font-size:clamp(27px,3vw,42px);letter-spacing:-.025em}
.content-section>p{color:var(--muted);font-size:15px;line-height:1.9}
.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chip-list span{padding:9px 12px;border:1px solid var(--line);background:#fff;font-size:13px}
.detail-image{overflow:hidden;background:#e4e7e8}
.detail-image img{width:100%;height:auto;max-height:760px;object-fit:contain;margin:auto}
.detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.detail-meta span{padding:8px 10px;background:#f0f2f2;color:#4e555a;font-size:12px}
.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.faq-list{display:grid;margin-top:28px;border-top:1px solid var(--line)}
.faq-list details{padding:20px 0;border-bottom:1px solid var(--line)}
.faq-list summary{font-weight:760;cursor:pointer}
.faq-list p{color:var(--muted);line-height:1.8}
.service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.service-cards article{padding:26px;border:1px solid var(--line)}
.service-cards h3{margin-top:0}
.service-cards p{color:var(--muted);line-height:1.8}
.page-cta{margin-top:54px;padding:42px;background:#121517;color:#fff}
.page-cta h2{margin:0;font-size:30px}
.page-cta p{color:#c8cdd1;line-height:1.8}
.not-found{min-height:100vh;display:grid;place-items:center;padding:30px;background:#111416;color:#fff;text-align:center}
.not-found h1{margin:0;font-size:clamp(46px,8vw,96px)}
.not-found p{color:#c6ccd0}

@media (max-width:1100px){.case-grid{grid-template-columns:repeat(2,1fr)}.strength-strip{grid-template-columns:repeat(2,1fr)}.strength-strip article:nth-child(2){border-right:0}.strength-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-grid{grid-template-columns:repeat(2,1fr)}.capability-grid{grid-template-columns:1fr 1fr}.capability-grid figure:first-child{grid-column:1/-1}.trust{grid-template-columns:1fr;gap:42px}.site-footer{grid-template-columns:1fr 1fr}.site-footer nav{justify-self:end}.footer-meta{justify-self:start;text-align:left}}
@media (max-width:900px){html{scroll-padding-top:68px}.site-header{grid-template-columns:1fr auto auto;padding:0 16px}.site-nav{display:none}.header-phone{margin-right:4px;font-size:12px}.menu-toggle{display:block}.hero{min-height:82vh}.hero-content{text-align:left}.hero h1{font-size:clamp(39px,11vw,58px)}.hero-copy{margin-left:0}.hero-actions{justify-content:flex-start;flex-wrap:wrap}.hero-note{margin-left:0}.section{padding:68px 18px}.section-heading-row{display:grid;align-items:start}.strength-strip{width:calc(100% - 36px)}.capability-grid{grid-template-columns:1fr}.capability-grid figure:first-child{grid-column:auto}.capability-grid figure{min-height:330px}.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid li:nth-child(3n){border-right:1px solid var(--line)}.process-grid li:nth-child(2n){border-right:0}.process-grid li:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.process-grid li:nth-last-child(-n+2){border-bottom:0}.contact{grid-template-columns:1fr;padding:68px 18px}.contact-actions{min-width:0}.site-footer{padding:30px 18px 92px}.content-shell,.content-shell.narrow{width:calc(100% - 36px)}.mobile-action-bar{position:fixed;inset:auto 0 0;z-index:55;display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #d9dddf;background:rgba(255,255,255,.98);box-shadow:0 -9px 30px rgba(0,0,0,.09)}.mobile-action-bar a,.mobile-action-bar button{display:grid;min-height:54px;place-items:center;align-content:center;gap:2px;border:0;border-right:1px solid #e3e6e7;background:transparent;color:#16191b;font-size:12px;font-weight:760;cursor:pointer}.mobile-action-bar span{font-size:15px}.lightbox-nav{top:auto;bottom:20px;height:46px;transform:none}.lightbox-nav.prev{left:18px}.lightbox-nav.next{right:18px}.lightbox-close{right:16px;top:14px}.lightbox figure{max-width:94vw}.page-hero{padding:124px 18px 62px}}
@media (max-width:640px){.header-phone{display:none}.site-header{grid-template-columns:1fr auto}.hero{min-height:780px}.hero-content{width:calc(100% - 36px)}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-note{font-size:11px}.strength-strip{grid-template-columns:1fr}.strength-strip article{min-height:105px;border-right:0;border-bottom:1px solid var(--line)!important}.strength-strip article:last-child{border-bottom:0!important}.case-grid,.service-grid,.process-grid,.service-cards{grid-template-columns:1fr}.case-card{box-shadow:none}.service-grid>a{min-height:220px}.process-grid li{min-height:0;border-right:0!important;border-bottom:1px solid var(--line)!important}.process-grid li:last-child{border-bottom:0!important}.capability-grid figure{min-height:300px}.section-heading-row .text-link{justify-self:start}.site-footer{grid-template-columns:1fr}.site-footer nav{justify-self:start;flex-wrap:wrap}.modal-card{padding:32px 22px}.lightbox{padding:16px}.lightbox figcaption{display:grid;font-size:13px}.page-hero p:last-child{font-size:15px}.content-shell{padding-top:55px}.detail-actions{display:grid}.detail-actions .button{width:100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.button:hover,.case-card:hover{transform:none}.case-card:hover .case-media img{transform:none}}
