:root{
  --teal:#062a33; --teal2:#0a3947; --gold:#d8b26a; --lgold:#f2d8a4;
  --ink:#123; --mut:#5b6b70; --bg:#f7f4ec; --card:#ffffff; --line:#e5ddc9;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;background:var(--bg);color:#1d2b2e;line-height:1.75}
a{color:#8a6a25;text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.site{background:var(--teal);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px rgba(0,0,0,.18)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 0;padding-top:14px;padding-bottom:14px};position:relative}
.brand{font-weight:700;letter-spacing:.06em;color:var(--lgold);font-size:18px;white-space:nowrap;flex:none}
.brand small{display:block;color:#bcd;font-size:11px;letter-spacing:.28em;font-weight:400}
nav.main a{color:#e8e2d2;margin-left:22px;font-size:15px}
nav.main a:hover{color:var(--gold);text-decoration:none}
.hero{background:linear-gradient(160deg,var(--teal) 55%,var(--teal2));color:#fff;padding:72px 0 60px;text-align:center}
.hero .kicker{color:var(--gold);letter-spacing:.4em;font-size:13px;margin-bottom:18px}
.hero h1{font-size:42px;line-height:1.3;font-weight:800}
.hero h1 .gold{color:var(--gold)}
.hero p.sub{color:#d5dee0;max-width:760px;margin:18px auto 0;font-size:17px}
.hero .cta{margin-top:30px}
.btn{display:inline-block;background:var(--gold);color:#221a05;padding:12px 30px;border-radius:999px;font-weight:700;margin:0 6px}
.btn.ghost{background:transparent;color:var(--lgold);border:1px solid var(--gold)}
.btn:hover{text-decoration:none;opacity:.92}
section{padding:56px 0}
h2.title{font-size:30px;text-align:center;margin-bottom:8px;color:var(--teal)}
p.lead{text-align:center;color:var(--mut);max-width:820px;margin:0 auto 34px}
.grid{display:grid;gap:20px}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.grid.c3{grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.grid.c2,.grid.c3{grid-template-columns:1fr}.hero h1{font-size:32px}}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 2px 8px rgba(20,40,40,.05)}
.card h3{color:var(--teal);font-size:21px;margin-bottom:8px}
.card .tag{display:inline-block;background:#f3e9d2;color:#8a6a25;border-radius:999px;padding:2px 12px;font-size:13px;margin-bottom:12px}
.card .price{color:#a07d2c;font-weight:800;font-size:22px;margin:6px 0}
.card ul{margin:8px 0 0 18px;color:#3c4a4d}
.card p{color:#3c4a4d}
table.cmp{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
table.cmp th,table.cmp td{border:1px solid var(--line);padding:12px 14px;text-align:left;font-size:15px;vertical-align:top}
table.cmp th{background:var(--teal);color:#fff}
table.cmp td.hl{background:#fdf6e0;font-weight:700}
.fact{background:var(--teal);color:#e9e4d4;border-radius:14px;padding:28px}
.fact h3{color:var(--gold);margin-bottom:10px}
.faq{max-width:860px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin-bottom:12px}
.faq summary{font-weight:700;color:var(--teal);cursor:pointer}
.faq details p{margin-top:8px;color:#3c4a4d}
.note{background:#fdf6e0;border:1px solid var(--gold);border-radius:10px;padding:16px 20px;color:#5c4a14;font-size:14px}
form.lead{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;max-width:680px;margin:0 auto}
form.lead label{display:block;font-weight:600;margin:12px 0 4px;color:var(--teal)}
form.lead input,form.lead select,form.lead textarea{width:100%;padding:11px;border:1px solid #cfc7ae;border-radius:8px;font-size:15px;font-family:inherit}
form.lead button{margin-top:18px;width:100%;background:var(--teal);color:#fff;border:0;padding:13px;border-radius:999px;font-size:16px;font-weight:700;cursor:pointer}
.banner{background:linear-gradient(120deg,#0a3947,#062a33);color:#fff;border-radius:14px;padding:30px;text-align:center}
.banner .gold{color:var(--gold)}
footer.site{background:var(--teal);color:#cfe0e2;padding:36px 0;text-align:center;font-size:14px}
footer.site .gold{color:var(--gold)}
.crumb{font-size:14px;color:var(--mut);padding:18px 0 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:860px){.steps{grid-template-columns:repeat(2,1fr)}}
.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.step .n{color:var(--gold);font-size:26px;font-weight:800}

figure.ph{margin:0}
figure.ph img{width:100%;border-radius:12px;display:block;box-shadow:0 2px 10px rgba(20,40,40,.12)}
figure.ph figcaption{font-size:13px;color:var(--mut);text-align:center;margin-top:6px}
.hero-img{max-width:1020px;margin:0 auto}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:860px){.gallery{grid-template-columns:1fr}}
.card img.cardimg{width:100%;height:190px;object-fit:cover;border-radius:10px;margin-bottom:12px;display:block}
.wide-fig{max-width:1020px;margin:22px auto 0}
.mid-fig{max-width:640px;margin:22px auto 0}

.team{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
@media(max-width:1000px){.team{grid-template-columns:repeat(2,1fr)}}
.member{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}
.member img{width:100%;height:230px;object-fit:cover;object-position:top;border-radius:10px;display:block}
.member .avatar{height:230px;border-radius:10px;background:var(--navy);color:#e9c877;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;letter-spacing:2px}
.member h3{margin:12px 0 4px;font-size:18px;color:var(--navy)}
.member p{margin:0;font-size:13px;color:var(--mut);line-height:1.55}

.langbox{margin-left:14px}
.langbox select{background:#0b5563;color:#fff;border:1px solid #e9c877;border-radius:8px;padding:6px 8px;font-size:13px;max-width:150px}
.goog-te-banner-frame.skiptranslate,.goog-te-gadget-icon{display:none!important}
body{top:0!important}
.goog-te-gadget{font-size:0!important}
#google_translate_element{display:none}

@media(max-width:640px){.brand{font-size:15.5px;letter-spacing:.02em}nav.main a{margin-left:13px;font-size:14px}}

.langbox{position:absolute;top:12px;right:20px;z-index:12}
.langbox select{background:rgba(255,255,255,.06);color:#f2d8a4;border:1px solid var(--gold);border-radius:999px;padding:5px 10px;font-size:13.5px;cursor:pointer;max-width:175px}
nav.main{padding-right:190px}
@media(max-width:860px){nav.main{padding-right:0}}

.hero-home{background:linear-gradient(160deg,rgba(4,38,43,.82) 40%,rgba(4,38,43,.94)),url('img/kl-skyline.jpg') center 38%/cover no-repeat}
