*{margin:0;padding:0;box-sizing:border-box}
:root{--navy:#0a2540;--gold:#c9a227;--gold-h:#d4b13a;--bg:#f8f9fa;--text:#1a1a1a;--muted:#4a5568}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}
html[lang="zh-Hans"] body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Segoe UI',sans-serif;line-height:1.75}
img{max-width:100%;height:auto}
a{color:var(--navy)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:300}
.skip:focus{left:.5rem}
[id]{scroll-margin-top:84px}
header{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);position:sticky;top:0;z-index:100}
.nav{max-width:1100px;margin:0 auto;padding:.75rem 1.5rem;display:flex;justify-content:flex-start;align-items:center;gap:1rem}
.logo{height:44px;width:auto;display:block}
nav{display:flex;align-items:center;gap:1.4rem}
nav a{text-decoration:none;color:var(--navy);font-weight:500;white-space:nowrap}
nav a:hover{color:var(--gold)}
.lang{display:inline-flex;border:1px solid #d0d7de;border-radius:999px;overflow:hidden;font-size:.85rem}
.lang a{padding:.3rem .75rem;color:var(--navy);text-decoration:none;font-weight:600}
.lang a[aria-current="true"]{background:var(--navy);color:#fff}
.hero{background:linear-gradient(rgba(10,37,64,.58),rgba(10,37,64,.58)),url('/hero.jpg') center/cover no-repeat;color:#fff;padding:8rem 1.5rem 6rem;text-align:center}
.hero h1{font-size:2.8rem;line-height:1.2;margin-bottom:1rem;font-weight:700}
.hero p{font-size:1.25rem;max-width:720px;margin:0 auto 2rem}
.btn{display:inline-block;background:var(--gold);color:var(--navy);padding:.85rem 2rem;border-radius:6px;text-decoration:none;font-weight:600;margin:.5rem;border:2px solid var(--gold);font-size:1rem;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--gold-h);border-color:var(--gold-h)}
.btn-outline{background:transparent;border-color:#fff;color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
section{max-width:1100px;margin:0 auto;padding:4rem 1.5rem}
.band{background:#fff}
h2{font-size:2.2rem;line-height:1.25;color:var(--navy);margin-bottom:1.5rem;text-align:center}
h3{color:var(--navy);margin:0 0 .75rem;line-height:1.3}
.lead{text-align:center;max-width:800px;margin:0 auto 2rem}
.center{text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.card{background:#fff;padding:1.75rem 1.5rem;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.band .card{border:1px solid #eef0f3}
.card p+p{margin-top:.75rem}
.price{font-size:2rem;font-weight:700;color:var(--gold);margin:.25rem 0 .5rem}
.price small{display:block;font-size:.8rem;font-weight:500;color:var(--muted);letter-spacing:.02em}
.pricing .card{text-align:center;display:flex;flex-direction:column}
.pricing .card .btn{margin:1rem auto 0}
ul{margin:.75rem 0 0 1.2rem}
li+li{margin-top:.3rem}
.narrow{max-width:800px;margin:0 auto}
.faq details{background:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:.75rem;padding:0 1.25rem}
.faq summary{cursor:pointer;font-weight:600;color:var(--navy);padding:1rem 0;list-style:none;position:relative;padding-right:2rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:.85rem;font-size:1.3rem;color:var(--gold)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 1rem}
.contact-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:1.5rem;align-items:start}
.contact-info p+p{margin-top:1rem}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
form label{display:block;font-weight:600;color:var(--navy);font-size:.95rem;margin:.9rem 0 .3rem}
form input,form select,form textarea{width:100%;padding:.75rem .8rem;border:1px solid #c9d1d9;border-radius:6px;font-size:16px;font-family:inherit;background:#fff;color:var(--text)}
form textarea{min-height:130px;resize:vertical}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
form .btn{width:100%;margin:1.25rem 0 0}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.note{font-size:.85rem;color:var(--muted);margin-top:.75rem}
.simple{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center}
.simple .card{max-width:560px}
footer{background:var(--navy);color:#fff;text-align:center;padding:2.5rem 1.5rem}
footer a{color:var(--gold);text-decoration:none}
footer p+p{margin-top:.75rem;font-size:.9rem}
.mobile-cta{display:none}
@media (max-width:860px){
  .contact-wrap{grid-template-columns:1fr}
}
@media (max-width:700px){
  .nav{flex-wrap:wrap;padding:.6rem 1rem;gap:.5rem}
  .logo{height:36px}
  nav{order:3;width:100%;overflow-x:auto;gap:1.1rem;padding:.15rem 0 .2rem;font-size:.92rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  [id]{scroll-margin-top:110px}
  .hero{background-image:linear-gradient(rgba(10,37,64,.6),rgba(10,37,64,.6)),url('/hero-sm.jpg');padding:4.5rem 1.25rem 3.5rem}
  .hero h1{font-size:2rem}
  .hero p{font-size:1.08rem}
  .hero .btn{display:block;margin:.6rem auto;max-width:320px}
  section{padding:3rem 1.1rem}
  h2{font-size:1.75rem}
  .grid{grid-template-columns:1fr;gap:1rem}
  form .row{grid-template-columns:1fr;gap:0}
  body{padding-bottom:68px}
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--navy);padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));gap:.5rem;box-shadow:0 -2px 10px rgba(0,0,0,.2)}
  .mobile-cta a{flex:1;text-align:center;padding:.75rem .5rem;border-radius:6px;font-weight:700;text-decoration:none;font-size:1rem}
  .mobile-cta .call{background:var(--gold);color:var(--navy)}
  .mobile-cta .mail{background:#fff;color:var(--navy)}
}
.mt2{margin-top:2rem}
.btn-left{margin:1rem 0 0}
nav{margin-left:auto;margin-right:.5rem}
@media (max-width:700px){.lang{margin-left:auto}nav{margin-left:0}}
.nav>.lang:nth-child(2){margin-left:auto}
/* multi-page additions */
.mt1{margin-top:1rem}
nav a[aria-current="page"]{color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.85rem!important;font-weight:600;color:#f1d98a;margin-bottom:.75rem!important}
html[lang="zh-Hans"] .eyebrow{letter-spacing:.2em;text-transform:none}
.page-head{background:linear-gradient(135deg,#0a2540,#16406b);color:#fff;text-align:center;padding:3.5rem 1.5rem 3rem}
.page-head h1{font-size:2.4rem;line-height:1.2;margin-bottom:.75rem}
.page-head p{max-width:760px;margin:0 auto;font-size:1.1rem;opacity:.92}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.cta-band{background:var(--navy);color:#fff;text-align:center}
.cta-band h2{color:#fff}
.cta-band p{max-width:680px;margin:0 auto 1.5rem}
.about{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;align-items:center;max-width:960px;margin:0 auto}
.about h2{text-align:left}
.about p+p{margin-top:1rem}
.portrait{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.12);border:4px solid #fff;background:#fff}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:960px;margin:2.5rem auto 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;box-shadow:0 4px 12px rgba(0,0,0,.08)}
@media (max-width:700px){
  .page-head{padding:2.5rem 1.1rem 2rem}
  .page-head h1{font-size:1.75rem}
  .about{grid-template-columns:1fr;gap:1.5rem;text-align:center}
  .about h2{text-align:center}
  .about .portrait{max-width:200px;margin:0 auto}
  .about div{text-align:left}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery figure:first-child{grid-column:1/-1}
  body{padding-bottom:82px}
  .mobile-cta .call{flex:2.2;font-size:1.2rem;padding:.95rem .5rem;letter-spacing:.02em}
  .mobile-cta .mail{flex:1;align-self:stretch;display:flex;align-items:center;justify-content:center;font-size:.95rem}
  .cta-band .btn{display:block;max-width:320px;margin:.6rem auto}
}
