:root{
  --ink:#1c2630;
  --ink-soft:#4a5763;
  --paper:#fbfaf7;
  --surface:#ffffff;
  --line:#e7e2d8;
  --teal:#1f6f6b;
  --teal-deep:#164f4c;
  --gold:#c08a3e;
  --radius:14px;
  --wrap:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.1;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}

/* nav */
.nav{position:sticky;top:0;z-index:10;background:rgba(251,250,247,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:"Fraunces",serif;font-size:1.3rem;font-weight:600;letter-spacing:-.02em}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.95rem;font-weight:500}
.nav-links a{color:var(--ink-soft)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{padding:8px 16px;background:var(--teal);color:#fff!important;border-radius:999px}
.nav-cta:hover{background:var(--teal-deep)}

/* hero */
.hero{padding:96px 0 80px;background:
  radial-gradient(120% 100% at 85% 0%, rgba(31,111,107,.08), transparent 60%),
  radial-gradient(80% 80% at 0% 100%, rgba(192,138,62,.07), transparent 60%);}
.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:20px}
.hero h1{font-size:clamp(2.6rem,6vw,4.4rem)}
.lede{font-size:1.18rem;color:var(--ink-soft);max-width:46ch;margin-top:22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:600;font-size:1rem;transition:.18s;cursor:pointer;border:none}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:var(--teal-deep);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}

/* about */
.about{padding:72px 0}
.about h2{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:28px;max-width:18ch}
.about p{font-size:1.08rem;color:var(--ink-soft);margin-bottom:18px;max-width:70ch}

/* chinese block */
.cn{padding:56px 0;background:var(--ink);color:#eef1ee}
.cn h2{font-size:1.9rem;color:#fff;margin-bottom:22px}
.cn p{color:#c4ccc9;margin-bottom:16px;max-width:70ch;font-size:1.05rem}

/* services */
.services{padding:72px 0}
.services h2{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:36px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.card h3{font-size:1.3rem;margin-bottom:10px}
.card p{color:var(--ink-soft);font-size:.98rem}

/* contact */
.contact{padding:72px 0 88px;background:
  radial-gradient(90% 80% at 100% 0%, rgba(31,111,107,.07), transparent 60%);}
.contact h2{font-size:clamp(1.8rem,3.5vw,2.5rem);max-width:20ch}
.contact .lede{margin-bottom:40px}
.contact-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
.enquiry{display:flex;flex-direction:column;gap:16px}
.enquiry label{display:flex;flex-direction:column;gap:7px;font-weight:500;font-size:.92rem;color:var(--ink)}
.enquiry input,.enquiry textarea{font-family:inherit;font-size:1rem;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.enquiry input:focus,.enquiry textarea:focus{outline:2px solid var(--teal);border-color:transparent}
.enquiry .btn{margin-top:6px;align-self:flex-start}
.contact-card{background:var(--ink);color:#eef1ee;border-radius:var(--radius);padding:32px}
.contact-name{font-family:"Fraunces",serif;font-size:1.5rem;color:#fff;margin-bottom:6px}
.contact-role{color:#9fb0ac;font-size:.95rem;margin-bottom:20px}
.contact-card a{color:#fff;font-weight:500}
.contact-card p{margin-bottom:12px}
.contact-card .cea{color:#8d9c98;font-size:.85rem;margin-top:8px;margin-bottom:0}

/* footer */
.footer{border-top:1px solid var(--line);padding:36px 0;background:var(--paper)}
.footer-inner p{color:var(--ink-soft);font-size:.9rem;margin-bottom:6px}
.footer .disclaimer{font-size:.82rem;color:#8a93a0}

@media(max-width:760px){
  .nav-links{gap:16px}
  .contact-cols{grid-template-columns:1fr}
  .hero{padding:64px 0 56px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
