:root{
  --gold:#946006;
  --gold-bright:#ad7108;
  --muted:#514d47;
  --soft:#6c665f;
  --line:#d4cfc6;
  --ease-premium:cubic-bezier(.2,.72,.2,1);
}

body{font-size:16px;text-rendering:optimizeLegibility}
html[lang="zh-Hans"] body,html[lang="zh-Hant"] body{font-family:"PingFang SC","PingFang TC","Microsoft YaHei","Microsoft JhengHei",Arial,sans-serif}
p,.lead-grid p,.business-row p,.feature p,.product-story p,.service p,.cap p,.card p,.adv p,.app-card p,.app-card li,.clean-list li{color:var(--muted)}
.eyebrow,.section-no{color:var(--gold);font-weight:600;letter-spacing:.095em}

/* Navigation: keep the active/hover rule above the dropdown edge. */
.nav{box-shadow:0 1px 0 rgba(15,15,13,.035)}
.desktop-nav{height:100%}
.nav-item{height:100%}
.nav-item>a{padding:0 2px}
.nav-item>a:after{bottom:8px;height:1.5px}
.dropdown{
  top:calc(100% - 1px);left:-22px;width:min(330px,80vw);padding:12px;
  border-top:1px solid var(--gold);box-shadow:0 22px 60px rgba(15,15,13,.13);
  transform:translateY(10px);transform-origin:top left;
  transition:opacity .22s var(--ease-premium),transform .28s var(--ease-premium),visibility .22s;
}
.dropdown:before{content:"";position:absolute;inset:-14px 0 auto;height:14px}
.dropdown a{padding:13px 14px;border-radius:2px;color:#2f2c28;transition:background .22s,color .22s,transform .22s}
.dropdown a:hover,.dropdown a:focus-visible{background:#eee9df;color:#171410;transform:translateX(4px)}

/* Reading progress follows the page, beneath the navigation. */
.reading-progress{position:fixed;z-index:92;left:0;top:79px;width:100%;height:2px;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#a9690c,#d8a744);transform:scaleX(0);transform-origin:left;will-change:transform;box-shadow:0 0 10px rgba(200,141,37,.22)}

/* CTA: the outlined dot grows into a tactile gold pill. */
.cta{position:relative;isolation:isolate;appearance:none;-webkit-appearance:none;min-height:46px;padding:0 18px 0 0;gap:13px;border:0;background:transparent;border-radius:999px;cursor:pointer;color:var(--ink);transition:color .3s var(--ease-premium),transform .3s var(--ease-premium);overflow:hidden}
.cta:before{content:"";position:absolute;z-index:-1;left:0;top:50%;width:42px;height:42px;border:1px solid var(--gold-bright);border-radius:999px;transform:translateY(-50%);transition:width .4s var(--ease-premium),background .3s,border-color .3s}
.cta-dot{width:42px;height:42px;border:0;flex:0 0 42px;transition:transform .35s var(--ease-premium)}
.cta-dot:after{width:8px;height:8px;background:var(--gold-bright);transition:background .25s,transform .35s var(--ease-premium)}
.cta:hover,.cta:focus-visible{color:#fff;transform:translateY(-2px);outline:none}
.cta:hover:before,.cta:focus-visible:before{width:100%;background:var(--gold);border-color:var(--gold)}
.cta:hover .cta-dot:after,.cta:focus-visible .cta-dot:after{background:#fff;transform:translateX(2px) scale(.75)}
.black .cta{color:#f7f5f1;background:transparent}.black .cta:hover,.black .cta:focus-visible{color:#15130f}
.black .cta:hover:before,.black .cta:focus-visible:before{background:#d6a64b}.black .cta:hover .cta-dot:after,.black .cta:focus-visible .cta-dot:after{background:#15130f}

.text-link{position:relative;padding:7px 1px;cursor:pointer;font-weight:500}
.text-link:after{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:currentColor;transform:scaleX(.18);transform-origin:left;opacity:.45;transition:transform .35s var(--ease-premium),opacity .25s}
.text-link span{display:inline-block;transition:transform .32s var(--ease-premium)}
.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1);opacity:1}.text-link:hover span,.text-link:focus-visible span{transform:translateX(6px)}

/* Cards and modules respond as complete interactive surfaces. */
.portfolio-card,.app-card,.card,.adv,.cap,.business-row,.feature,.service{transition:background-color .38s var(--ease-premium),border-color .38s,transform .38s var(--ease-premium),box-shadow .38s}
.portfolio-card,.app-card{position:relative;overflow:hidden}
.portfolio-card:hover,.portfolio-card:focus-visible,.app-card:hover{transform:translateY(-5px);border-color:#c3a15d;box-shadow:0 18px 46px rgba(23,20,15,.09)}
.portfolio-card img,.app-card img,.feature-media img,.product-story img{transition:transform .75s var(--ease-premium),filter .6s}
.portfolio-card:hover img,.app-card:hover img,.feature:hover .feature-media img,.product-story:hover img{transform:scale(1.035);filter:saturate(.78)}
.cap:hover,.card:hover,.adv:hover{background:#f0ece4;transform:translateY(-3px)}
.business-row:hover,.feature:hover,.service:hover{background:rgba(200,160,74,.045)}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .78s var(--ease-premium)}
.reveal-ready.is-visible{opacity:1;transform:none}

.form-status{grid-column:1/-1;min-height:24px;margin:2px 0 0;font-size:14px!important;color:#d4cec4!important}
.form-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status[data-state="success"]{color:#dfbb6d!important}.form-status[data-state="error"]{color:#ffb1a8!important}
.form[aria-busy="true"] .cta{opacity:.68;pointer-events:none}
input,textarea,select{transition:border-color .25s,background-color .25s,box-shadow .25s}
input:hover,textarea:hover,select:hover{border-color:#5f5b53}
input:focus,textarea:focus,select:focus{border-color:#c79a42;background:#1c1b18;box-shadow:none}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:0;outline-offset:0}

/* Keep the hero hierarchy compact and make Build / Operate / Advise purposeful. */
.hero-copy{justify-content:flex-start}
.hero-meta{margin-top:52px;gap:26px;color:#4f4a43;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}

@media(max-width:860px){.reading-progress{top:79px}.reveal-ready{transform:translateY(14px)}}
@media(max-width:640px){.reading-progress{top:69px}.cta{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.reveal-ready{opacity:1;transform:none}}
