
:root{
  --green:#123f36;
  --green-2:#194f43;
  --cream:#f6f1e9;
  --paper:#fffdf8;
  --rust:#b85a38;
  --ink:#17211f;
  --muted:#626b68;
  --line:#d9d2c7;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,Arial,sans-serif;line-height:1.55
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(3rem,6.2vw,6.4rem);letter-spacing:-.035em}
h2{font-size:clamp(2.3rem,4vw,4.4rem);letter-spacing:-.025em}
h3{font-size:1.65rem}
p{margin:0 0 18px}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.eyebrow{font-size:.77rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--rust)}
.site-header{
  position:sticky;top:0;z-index:30;background:rgba(255,253,248,.95);
  backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,61,53,.12)
}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:20px;text-decoration:none}
.logo{font-family:Georgia,serif;font-size:2.25rem;letter-spacing:.03em;color:var(--green)}
.logo small{display:block;font:700 .64rem Inter;letter-spacing:.42em;margin-left:.2em}
.tagline{border-left:1px solid var(--line);padding-left:20px;font-weight:600;line-height:1.25;max-width:210px}
.nav{display:flex;align-items:center;gap:28px}
.nav a{text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.lang{background:var(--green);color:white;padding:13px 18px}
.menu{display:none;border:0;background:transparent;font-weight:800}
.hero{
  min-height:640px;background:
  radial-gradient(circle at 62% 55%,rgba(242,188,111,.30),transparent 30%),
  linear-gradient(90deg,#fffdf8 0%,#fffaf2 52%,#edf1f0 100%);
  overflow:hidden;position:relative
}
.hero:after{
  content:"";position:absolute;right:-8%;bottom:-30%;width:58%;height:94%;
  background:
    linear-gradient(155deg,transparent 0 52%,rgba(18,63,54,.15) 52.3% 53%,transparent 53.3%),
    linear-gradient(25deg,transparent 0 58%,rgba(18,63,54,.12) 58.3% 59%,transparent 59.3%);
  opacity:.8
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:640px;gap:50px}
.hero-copy{padding:72px 0;position:relative;z-index:2}
.hero-copy h1 span{color:var(--rust)}
.hero-copy>p{font-size:1.22rem;max-width:720px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:52px;
  padding:0 24px;background:var(--green);color:white;text-decoration:none;
  text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800
}
.hero-art{position:relative;min-height:520px}
.tower{
  position:absolute;bottom:0;background:linear-gradient(#2e5f73,#7892a0);
  clip-path:polygon(45% 0,55% 0,58% 12%,62% 12%,64% 28%,68% 28%,70% 100%,30% 100%,32% 28%,36% 28%,38% 12%,42% 12%);
  box-shadow:0 30px 50px rgba(0,0,0,.15)
}
.tower.taipei{width:150px;height:470px;left:20%}
.tower.ny{width:130px;height:410px;right:10%;clip-path:polygon(48% 0,52% 0,54% 15%,57% 15%,60% 35%,67% 35%,72% 100%,28% 100%,33% 35%,40% 35%,43% 15%,46% 15%)}
.arc{position:absolute;border-top:2px solid rgba(255,255,255,.8);border-radius:50%;height:180px}
.arc.a1{width:520px;left:-50px;top:110px;transform:rotate(8deg)}
.arc.a2{width:420px;left:80px;top:160px;transform:rotate(-6deg)}
.services-strip{background:var(--green);color:white}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.service-mini{padding:34px 28px;border-right:1px solid rgba(255,255,255,.14)}
.service-mini:last-child{border-right:0}
.service-mini h3{font-family:Inter;font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em}
.icon{font-size:2rem;color:var(--rust);margin-bottom:18px}
.section{padding:100px 0}
.approach-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.pillars{display:grid;grid-template-columns:repeat(3,1fr)}
.pillar{padding:10px 28px;border-left:1px solid var(--line)}
.pillar:first-child{border-left:0}
.pillar .icon{color:var(--green)}
.testimonials{background:var(--cream)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.quote{padding:8px 36px;border-left:1px solid var(--line)}
.quote:first-child{border-left:0;padding-left:0}
.quote blockquote{font-family:Georgia,serif;font-size:1.23rem;font-style:italic;margin:0 0 20px}
.quote cite{font-style:normal;font-size:.8rem;font-weight:800;text-transform:uppercase}
.full-services{background:var(--paper)}
.section-head{max-width:820px;margin-bottom:48px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.card{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.card.featured{background:var(--green);color:white}
.card ul{padding-left:20px}
.leadership{background:var(--green);color:white}
.people{display:grid;grid-template-columns:1fr 1fr;gap:52px}
.person{display:grid;grid-template-columns:210px 1fr;gap:28px;align-items:start}
.person img{width:210px;aspect-ratio:1/1;object-fit:cover}
.person h3{font-size:2rem}
.role{color:#d7c3b6;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800}
.person p{color:rgba(255,255,255,.8)}
.contact{background:var(--cream)}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}
.contact-box{background:white;padding:38px;border:1px solid var(--line)}
footer{background:#0d302a;color:white;padding:34px 0}
.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}
.footer-grid p{margin:0;font-size:.85rem}
@media(max-width:980px){
 .nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--paper);padding:24px;flex-direction:column;align-items:flex-start}
 .nav.open{display:flex}.menu{display:block}
 .hero-grid,.approach-grid,.contact-grid{grid-template-columns:1fr}
 .hero-art{min-height:420px}.services-grid,.pillars,.quotes{grid-template-columns:1fr 1fr}
 .people{grid-template-columns:1fr}
}
@media(max-width:640px){
 .container{width:min(var(--max),calc(100% - 32px))}
 .tagline{display:none}.header-inner{min-height:72px}.nav{top:72px}
 .hero-grid{min-height:auto}.hero-copy{padding:55px 0 25px}.hero-art{min-height:330px}
 .tower.taipei{height:320px;width:105px}.tower.ny{height:280px;width:90px}
 .services-grid,.pillars,.quotes,.cards{grid-template-columns:1fr}
 .service-mini,.pillar,.quote{border:0;border-top:1px solid rgba(255,255,255,.14);padding:26px 0}
 .pillar,.quote{border-color:var(--line)}
 .person{grid-template-columns:1fr}.person img{width:100%;max-width:300px}
 .section{padding:72px 0}.footer-grid{flex-direction:column;align-items:flex-start}
}
