/* ============================================
   PrimeLink Tax Return — Global Styles
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --navy: #2B2F3B;
  --navy-mid: #45455D;
  --steel: #6D7991;
  --mint: #E5F9F0;
  --mint-dark: #C2EFE0;
  --white: #FAFCFB;
  --off-white: #F4F7F5;
  --text: #2B2F3B;
  --text-muted: #6D7991;
  --border: #D6E4DC;
  --radius: 10px;
  --radius-lg: 18px;
  --shadow: 0 2px 16px rgba(43,47,59,0.08);
  --shadow-md: 0 6px 32px rgba(43,47,59,0.12);
  --transition: 0.22s ease;

  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'DM Sans', Helvetica, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-sans);
  background: var(--white);
  color: var(--text);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

/* ============ TYPOGRAPHY ============ */

h1, h2, h3 { font-family: var(--font-serif); line-height: 1.2; }
h4, h5, h6, label, button, nav { font-family: var(--font-sans); }

h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 700; }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 600; }
h3 { font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 600; }
h4 { font-size: 1rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }

p { color: var(--navy-mid); line-height: 1.75; }

.label-tag {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 0.75rem;
}

/* ============ LAYOUT ============ */

.container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 32px;
}

section { padding: 88px 0; }

.section-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 56px;
}

.section-header p { margin-top: 16px; font-size: 1.05rem; }

/* ============ NAV ============ */

.site-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(250,252,251,0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 68px;
  gap: 32px;
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.nav-logo-mark {
  width: 36px;
  height: 36px;
  background: var(--navy);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-logo-mark span {
  color: var(--mint);
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 700;
}

.nav-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.nav-logo-text strong {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
}

.nav-logo-text small {
  font-size: 0.65rem;
  color: var(--steel);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  flex: 1;
  justify-content: center;
}

.nav-links a {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--navy-mid);
  transition: color var(--transition);
  white-space: nowrap;
  position: relative;
}

.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--mint-dark);
  transition: width var(--transition);
}

.nav-links a:hover,
.nav-links a.active { color: var(--navy); }

.nav-links a:hover::after,
.nav-links a.active::after { width: 100%; }

.nav-right {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.lang-toggle {
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--off-white);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 4px 6px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
}

.lang-toggle button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 18px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--steel);
  transition: all var(--transition);
  font-family: var(--font-sans);
}

.lang-toggle button.active {
  background: var(--navy);
  color: white;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: var(--radius);
  font-family: var(--font-sans);
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
  border: 1.5px solid transparent;
  white-space: nowrap;
}

.btn-primary {
  background: var(--navy);
  color: white;
  border-color: var(--navy);
}

.btn-primary:hover {
  background: var(--navy-mid);
  border-color: var(--navy-mid);
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}

.btn-outline {
  background: transparent;
  color: var(--navy);
  border-color: var(--navy);
}

.btn-outline:hover {
  background: var(--navy);
  color: white;
  transform: translateY(-1px);
}

.btn-mint {
  background: var(--mint);
  color: var(--navy);
  border-color: var(--mint-dark);
}

.btn-mint:hover {
  background: var(--mint-dark);
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}

/* ============ CARDS ============ */

.card {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 36px;
  box-shadow: var(--shadow);
  transition: box-shadow var(--transition), transform var(--transition);
}

.card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* ============ DIVIDER ============ */

.divider {
  width: 48px;
  height: 3px;
  background: var(--mint-dark);
  border-radius: 2px;
  margin: 16px auto;
}

.divider-left { margin: 16px 0; }

/* ============ BADGE ============ */

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--mint);
  color: var(--navy);
  border: 1px solid var(--mint-dark);
  border-radius: 24px;
  padding: 5px 14px;
  font-size: 0.8rem;
  font-weight: 600;
}

/* ============ FOOTER ============ */

.site-footer {
  background: var(--navy);
  color: rgba(255,255,255,0.75);
  padding: 64px 0 32px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 32px;
}

.footer-brand strong {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  color: white;
  display: block;
  margin-bottom: 12px;
}

.footer-brand p {
  color: rgba(255,255,255,0.6);
  font-size: 0.9rem;
  line-height: 1.7;
}

.footer-col h5 {
  color: white;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.footer-col ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-col ul li a {
  color: rgba(255,255,255,0.6);
  font-size: 0.9rem;
  transition: color var(--transition);
}

.footer-col ul li a:hover { color: var(--mint); }

.footer-col .contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.88rem;
  color: rgba(255,255,255,0.6);
  margin-bottom: 10px;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.82rem;
  color: rgba(255,255,255,0.4);
}

/* ============ PLACEHOLDER IMAGE ============ */

.img-placeholder {
  background: var(--off-white);
  border: 1.5px dashed var(--border);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--steel);
  font-size: 0.8rem;
  font-family: 'Courier New', monospace;
  text-align: center;
}

/* ============ STEP PROCESS ============ */

.steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}

.step {
  position: relative;
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px 24px;
  box-shadow: var(--shadow);
}

.step-number {
  width: 40px;
  height: 40px;
  background: var(--mint);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  color: var(--navy);
  margin-bottom: 18px;
}

.step-connector {
  position: absolute;
  top: 52px;
  right: -12px;
  width: 24px;
  height: 2px;
  background: var(--mint-dark);
  z-index: 1;
}

/* ============ HERO ============ */

.hero {
  background: var(--navy);
  padding: 100px 0 88px;
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(229,249,240,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.hero-content .label-tag { color: var(--mint); }

.hero-content h1 {
  color: white;
  margin-bottom: 20px;
}

.hero-content p {
  color: rgba(255,255,255,0.65);
  font-size: 1.08rem;
  margin-bottom: 36px;
}

.hero-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.hero-trust {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.1);
}

.trust-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.trust-item strong {
  color: white;
  font-size: 1.1rem;
  font-family: var(--font-serif);
}

.trust-item span {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.trust-sep {
  width: 1px;
  height: 36px;
  background: rgba(255,255,255,0.15);
}

/* ============ PRICING TABLE ============ */

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: start;
}

.pricing-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 36px;
  position: relative;
  box-shadow: var(--shadow);
}

.pricing-card.featured {
  border-color: var(--navy);
  box-shadow: var(--shadow-md);
}

.pricing-card .popular-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--navy);
  color: white;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 12px;
}

.price-amount {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1;
}

.price-from {
  font-size: 0.85rem;
  color: var(--steel);
  margin-bottom: 4px;
}

.price-unit {
  font-size: 0.85rem;
  color: var(--steel);
}

.pricing-features {
  margin: 24px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pricing-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--navy-mid);
}

.pricing-features li::before {
  content: '✓';
  color: var(--navy);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ============ QUOTE CALCULATOR ============ */

.quote-section {
  background: var(--off-white);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.quote-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
}

.quote-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.quote-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border: 1.5px solid var(--border);
  border-radius: 24px;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--navy-mid);
  cursor: pointer;
  transition: all var(--transition);
  background: white;
  user-select: none;
}

.quote-chip:hover {
  border-color: var(--steel);
  color: var(--navy);
}

.quote-chip.selected {
  background: var(--navy);
  border-color: var(--navy);
  color: white;
}

.quote-result {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
  box-shadow: var(--shadow);
  position: sticky;
  top: 88px;
}

.quote-price-display {
  font-family: var(--font-serif);
  font-size: 3rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1;
  margin: 12px 0 4px;
}

.quote-price-label {
  font-size: 0.82rem;
  color: var(--steel);
  margin-bottom: 20px;
}

/* ============ SERVICE HERO ============ */

.page-hero {
  background: var(--navy);
  padding: 72px 0;
  text-align: center;
}

.page-hero h1 { color: white; margin: 12px 0; }
.page-hero p { color: rgba(255,255,255,0.65); max-width: 560px; margin: 0 auto; font-size: 1.05rem; }

/* ============ RESPONSIVE ============ */

@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .hero-inner { grid-template-columns: 1fr; }
  .steps { grid-template-columns: repeat(3, 1fr); }
  .pricing-grid { grid-template-columns: 1fr; }
  .quote-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .container { padding: 0 20px; }
  section { padding: 64px 0; }
  .nav-links { display: none; }
  .footer-grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
}

/* ============ LANGUAGE HIDDEN ============ */
[lang-key] { }
.cn-only { display: none; }
body.lang-cn .en-only { display: none; }
body.lang-cn .cn-only { display: block; }
body.lang-cn .cn-inline { display: inline; }
body.lang-cn .en-inline { display: none; }

/* ============ MOBILE MENU ============ */
.mobile-menu-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
  background: none;
  border: none;
}

.mobile-menu-btn span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--navy);
  border-radius: 2px;
  transition: all 0.2s;
}

.mobile-nav {
  display: none;
  position: fixed;
  top: 68px;
  left: 0;
  right: 0;
  background: white;
  border-bottom: 1px solid var(--border);
  padding: 16px 0;
  box-shadow: var(--shadow-md);
  z-index: 99;
}

.mobile-nav.open { display: block; }

.mobile-nav a {
  display: block;
  padding: 12px 32px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--navy-mid);
  border-bottom: 1px solid var(--off-white);
}

.mobile-nav a:last-child { border-bottom: none; }

@media (max-width: 640px) {
  .mobile-menu-btn { display: flex; }
}

/* ============ SERVICES: NAV DROPDOWN ============ */
a{color:inherit}a:hover{color:var(--navy)}
.nav-drop{position:relative}
.nav-drop>button{white-space:nowrap;flex-shrink:0;background:none;border:none;font:500 0.9rem var(--font-sans);color:var(--navy-mid);cursor:pointer;display:flex;align-items:center;gap:4px;padding:0}
.nav-drop>button:hover{color:var(--navy)}
.nav-drop-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:white;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);padding:10px;min-width:280px;display:none;flex-direction:column;gap:2px;z-index:120}
.nav-drop-menu::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{display:flex}
.nav-links .nav-drop-menu a{padding:9px 12px;border-radius:8px;font-size:0.88rem}
.nav-links .nav-drop-menu a::after{display:none}
.nav-links .nav-drop-menu a:hover{background:var(--off-white)}
.nav-drop-menu .nd-all{border-top:1px solid var(--border);margin-top:6px;padding-top:12px!important;font-weight:600;color:var(--navy)}
.mobile-nav .m-sub{padding-left:48px;font-size:0.88rem}

/* ============ SERVICES: PAGE PARTS ============ */
.crumbs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;font-size:0.8rem;color:rgba(255,255,255,0.55);margin-bottom:14px}
.crumbs a:hover{color:var(--mint)}
.page-hero .hero-cities{margin:18px auto 0;font-size:0.82rem;color:rgba(255,255,255,0.5);letter-spacing:0.02em}
.svc-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
.svc-toc{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--border)}
.svc-toc span{font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--steel);padding:0 0 10px 18px}
.svc-toc a{font-size:0.88rem;color:var(--navy-mid);padding:7px 0 7px 18px;margin-left:-2px;border-left:2px solid transparent;line-height:1.4}
.svc-toc a:hover{color:var(--navy);border-left-color:var(--mint-dark)}
.svc-body{display:flex;flex-direction:column;gap:0;max-width:720px}
.svc-block{padding:48px 0;border-bottom:1px solid var(--border);scroll-margin-top:90px}
.svc-block:first-child{padding-top:0}
.svc-block:last-child{border-bottom:none}
.svc-block h2{font-size:clamp(1.4rem,2.4vw,1.85rem);margin-bottom:14px}
.svc-block>p{font-size:1.02rem;text-wrap:pretty}
.svc-block>p+p{margin-top:12px}
.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.svc-cols h4{font-size:0.72rem;letter-spacing:0.12em;color:var(--steel);margin-bottom:10px}
.check{display:flex;flex-direction:column;gap:8px}
.check li{display:flex;gap:10px;font-size:0.93rem;color:var(--navy-mid);line-height:1.55}
.check li::before{content:'';flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--navy);margin-top:9px}
.svc-note{margin-top:22px;background:var(--off-white);border:1px solid var(--border);border-radius:12px;padding:16px 20px;font-size:0.88rem;color:var(--navy-mid)}
.svc-note strong{color:var(--navy)}
.svc-cta{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.svc-groups{display:flex;flex-direction:column;gap:56px}
.svc-group-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:24px}
.svc-group-head h2{font-size:clamp(1.35rem,2.4vw,1.8rem)}
.svc-group-head p{font-size:0.95rem;max-width:460px}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.svc-item{display:flex;flex-direction:column;gap:8px;background:white;border:1px solid var(--border);border-radius:14px;padding:22px 22px 20px;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}
.svc-item:hover{border-color:var(--navy);transform:translateY(-2px);box-shadow:var(--shadow)}
.svc-item h3{font-size:1.02rem;line-height:1.35}
.svc-item p{font-size:0.86rem;line-height:1.6}
.svc-item .more{margin-top:auto;padding-top:6px;font-size:0.8rem;font-weight:600;color:var(--navy)}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--border);max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font-weight:600;color:var(--navy);font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:1.3rem;line-height:1;color:var(--steel);flex-shrink:0}
.faq details[open] summary::after{content:'–'}
.faq details p{padding:0 0 22px;font-size:0.95rem;max-width:720px}
.area-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:24px}
.area-list span{background:white;border:1px solid var(--border);border-radius:24px;padding:6px 14px;font-size:0.85rem;color:var(--navy-mid)}
.sf{max-width:760px;margin:32px auto 0;text-align:left}
.sf-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sf-bar{display:flex;align-items:center;gap:10px;background:white;border:1.5px solid var(--border);border-radius:14px;padding:6px 6px 6px 16px;box-shadow:var(--shadow);color:var(--steel)}
.sf-bar:focus-within{border-color:var(--navy)}
.sf-bar input{flex:1;min-width:0;border:none;outline:none;font:400 1rem var(--font-sans);color:var(--navy);padding:10px 0;background:transparent}
.sf-bar .btn{padding:12px 20px}
.sf-sug{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font-size:0.82rem;color:var(--steel)}
.sf-sug button{background:white;border:1px solid var(--border);border-radius:20px;padding:5px 12px;font:500 0.82rem var(--font-sans);color:var(--navy-mid);cursor:pointer}
.sf-sug button:hover{border-color:var(--navy);color:var(--navy)}
.sf-out:empty{display:none}
.sf-out{margin-top:16px;background:white;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden}
.sf-count,.sf-none{padding:16px 22px 0;font-size:0.8rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--steel)}
.sf-none{text-transform:none;letter-spacing:0;font-weight:400;font-size:0.95rem;color:var(--navy-mid);padding-bottom:16px}
.sf-list li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;border-bottom:1px solid var(--off-white)}
.sf-t{font:600 1rem var(--font-serif);color:var(--navy)}
.sf-list p{font-size:0.86rem;margin-top:2px;line-height:1.5}
.sf-acts{display:flex;gap:14px;flex-shrink:0;font-size:0.84rem;font-weight:600}
.sf-acts a{color:var(--steel)}
.sf-acts a:hover{color:var(--navy)}
.sf-acts .sf-ask{color:var(--navy)}
.sf-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 22px;background:var(--off-white);font-size:0.88rem;color:var(--navy-mid)}
.sf-dark .sf-sug{color:rgba(255,255,255,0.6)}
.sf-dark .sf-sug button{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.2);color:rgba(255,255,255,0.85)}
.sf-dark .sf-sug button:hover{border-color:var(--mint);color:white}
.page-hero .sf-out p{color:var(--navy-mid);max-width:none;margin:0;font-size:0.86rem}
.page-hero .sf-out .sf-count,.page-hero .sf-out .sf-none{color:var(--steel);font-size:0.8rem}
.page-hero .sf-out .sf-none{font-size:0.95rem;color:var(--navy-mid)}
.svc-price{font-family:var(--font-serif);font-weight:700;font-size:1.05rem;color:var(--navy);margin-top:4px}
.sf-price{display:inline-block;margin-top:6px;font-size:0.8rem;font-weight:700;color:var(--navy);background:var(--mint);border:1px solid var(--mint-dark);border-radius:20px;padding:2px 10px}
.pr-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.pr-head h2{margin:0!important}
.pr-head a{font-size:0.85rem;font-weight:600;color:var(--navy)}
.pr-table{width:100%;border-collapse:collapse}
.pr-table th{text-align:left;font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--steel);padding:0 0 10px;border-bottom:2px solid var(--navy)}
.pr-table th:last-child,.pr-table td.pr-price{text-align:right}
.pr-table td{padding:14px 0;border-bottom:1px solid var(--border);vertical-align:top}
.pr-name{display:block;font-weight:600;color:var(--navy);font-size:0.97rem}
.pr-note{display:block;font-size:0.85rem;color:var(--steel);margin-top:2px;line-height:1.5}
.pr-price{font-family:var(--font-serif);font-weight:700;font-size:1.08rem;color:var(--navy);white-space:nowrap;padding-left:20px!important}
.hero-price{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:24px;background:rgba(255,255,255,0.06);border:1px solid rgba(229,249,240,0.2);border-radius:14px;padding:12px 20px;font-size:0.9rem;color:rgba(255,255,255,0.8)}
.hp-amt{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;color:var(--mint);line-height:1}
.hero-price a{color:var(--mint);font-weight:600;text-decoration:underline}
.qc-qty{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding-left:8px;border-left:1px solid rgba(255,255,255,0.3)}
.qc-qty button{width:22px;height:22px;border-radius:50%;border:none;background:rgba(255,255,255,0.18);color:white;font-weight:700;cursor:pointer;line-height:1}
.qc-qty b{min-width:14px;text-align:center}
@media (max-width:1180px){.nav-links{gap:18px}.nav-right{gap:10px}.nav-right .btn-outline{display:none}}
@media (max-width:1024px){.nav-links{display:none}.mobile-menu-btn{display:flex}}
@media (max-width:640px){.sf-list li{flex-direction:column;align-items:flex-start;gap:8px}.sf-bar .btn{padding:10px 14px}}
@media (max-width:900px){.svc-layout{grid-template-columns:1fr;gap:32px}.svc-toc{position:static;flex-direction:row;flex-wrap:wrap;border-left:none;gap:8px}.svc-toc span{width:100%;padding:0}.svc-toc a{border:1px solid var(--border);border-radius:20px;padding:6px 12px;margin:0;font-size:0.82rem}}
@media (max-width:640px){.svc-cols{grid-template-columns:1fr}.nav-right .btn-outline{display:none}}

.kb-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.kb-group h3{font-family:var(--font-sans);font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--steel);margin:0 0 12px}.kb-chips{display:flex;flex-wrap:wrap;gap:8px}.kb-chips a{padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:white;color:var(--navy);font-weight:600;font-size:0.9rem;transition:var(--transition)}.kb-chips a:hover{background:var(--navy);color:white;border-color:var(--navy)}.kb-link{font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px}.kb-table{width:100%;border-collapse:collapse;margin-top:8px}.kb-table th,.kb-table td{text-align:left;padding:14px 0;border-bottom:1px solid var(--border);font-size:0.93rem;vertical-align:top}.kb-table th{width:42%;padding-right:20px;color:var(--navy);font-weight:600}.kb-table td{color:var(--navy-mid)}.kb-small{font-size:0.82rem;color:var(--text-muted);margin-top:14px}
@media (max-width:900px){.kb-index{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.kb-index{grid-template-columns:1fr}.kb-table th{width:auto;display:block;padding-bottom:2px;border:none}.kb-table td{display:block;padding-top:0}}
.kb-meta{font-size:0.85rem!important;opacity:0.75}.kb-article{max-width:720px;margin:0 auto}.kb-article .label-tag{margin-bottom:18px}.kb-lead{font-size:1.02rem;line-height:1.75;color:var(--navy-mid);margin-bottom:16px}.kb-article>h2{font-size:1.5rem;margin:40px 0 16px}.kb-faq{max-width:none}.kb-cta{margin-top:40px}.kb-cta .svc-cta{margin-top:16px}.kb-related{margin-top:40px;padding-top:28px;border-top:1px solid var(--border)}.kb-related h3{font-family:var(--font-sans);font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--steel);margin:0 0 12px}.kb-sec{padding:48px 0;border-bottom:1px solid var(--border);scroll-margin-top:90px}.kb-sec:last-child{border-bottom:none}.kb-sec>h2{margin:0 0 24px}.kb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.kb-card{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:white;transition:var(--transition)}.kb-card:hover{border-color:var(--navy);box-shadow:var(--shadow)}.kb-card h3{font-size:1.05rem;margin:0;color:var(--navy)}.kb-card p{font-size:0.88rem;color:var(--navy-mid);margin:0;line-height:1.55}.kb-code{font-size:0.75rem;font-weight:700;letter-spacing:0.06em;color:var(--steel)}.kb-feature{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 32px;border-radius:var(--radius-lg);background:var(--mint);border:1px solid var(--mint-dark);margin-top:8px}.kb-feature h2{margin:10px 0 6px;font-size:1.5rem}.kb-feature p{margin:0;color:var(--navy-mid)}#deadlines h2{margin-bottom:16px}
.cl-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--border)}.cl-count{font-weight:700;color:var(--navy);font-size:1.1rem}.cl-sec{padding:32px 0 8px}.cl-sec h2{font-size:1.35rem;margin:0 0 14px}.cl-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.cl-list label{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer;font-size:0.95rem;color:var(--navy-mid);line-height:1.5}.cl-list input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--navy)}.cl-list input:checked+span{color:var(--steel);text-decoration:line-through}
@media print{.site-nav,.mobile-nav,.site-footer,.cl-bar .svc-cta,.kb-cta{display:none!important}.page-hero{padding:20px 0!important;background:none!important;color:#000!important}.page-hero *{color:#000!important}.cl-list input:checked+span{text-decoration:none}}
.wechat-qr{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:white;border-radius:10px;border:1.5px dashed rgba(109,121,145,0.6);overflow:hidden}.wechat-qr img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6px;background:white}.wechat-qr span{font-size:0.75rem;color:var(--steel);text-align:center;padding:8px}.footer-wechat{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;font-size:0.85rem}.contact-wechat{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.cred-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:center}@media (max-width:900px){.cred-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.cred-grid{grid-template-columns:1fr}}

.hero-wx{display:none}
@media (max-width:768px){.hero-wx{display:flex;align-items:center;gap:14px;background:white;border-radius:14px;padding:12px;margin:4px 0 22px;box-shadow:0 8px 24px rgba(0,0,0,0.18)}.hero-wx img{width:112px;height:112px;flex-shrink:0;display:block}.hero-wx-text{display:flex;flex-direction:column;gap:4px;min-width:0}.hero-wx-text strong{color:var(--navy);font-size:1.02rem}.hero-wx-text span{color:var(--steel);font-size:0.8rem;line-height:1.45}.hero-wx-text a{color:var(--navy);font-weight:600;font-size:0.85rem;margin-top:4px;text-decoration:underline}}
.wx-fab{position:fixed;right:20px;bottom:20px;z-index:900;display:flex;align-items:center;gap:8px;padding:12px 18px;border:none;border-radius:999px;background:#07C160;color:white;font:inherit;font-weight:600;font-size:0.92rem;cursor:pointer;box-shadow:0 8px 24px rgba(7,193,96,0.35)}.wx-fab:hover{background:#06ad56}
@media (max-width:768px){.wx-fab{left:12px;right:12px;bottom:12px;justify-content:center;padding:14px;font-size:1rem}.site-footer{padding-bottom:84px}}
.wx-sheet{position:fixed;inset:0;z-index:1000;background:rgba(10,20,40,0.55);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s}.wx-sheet.open{opacity:1;pointer-events:auto}
.wx-sheet-card{position:relative;background:white;border-radius:18px;padding:28px 24px 24px;max-width:340px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.wx-sheet-card strong{color:var(--navy);font-size:1.15rem}.wx-sheet-card p{color:var(--steel);font-size:0.88rem;margin:0}.wx-sheet-card img{width:220px;height:220px;display:block;margin:6px 0}.wx-sheet-card .btn{width:100%;justify-content:center}
.wx-steps{text-align:left;margin:0 0 6px;padding-left:18px;font-size:0.82rem;color:var(--steel);line-height:1.5;display:flex;flex-direction:column;gap:4px}
.wx-close{position:absolute;top:8px;right:12px;border:none;background:none;font-size:1.6rem;line-height:1;color:var(--steel);cursor:pointer;padding:4px}
@media (max-width:768px){.wx-sheet{align-items:flex-end;padding:0}.wx-sheet-card{max-width:none;border-radius:18px 18px 0 0;padding-bottom:28px}}
@media print{.wx-fab,.wx-sheet{display:none!important}}

/* ===== Mobile simplification ===== */
@media (max-width:768px){
section{padding:40px 0}
.section-header{margin-bottom:20px}.section-header p,.section-header .divider,.section-header .label-tag{display:none}
h1{font-size:1.75rem!important;line-height:1.25!important}h2{font-size:1.4rem!important}
.page-hero{padding:32px 0!important}.page-hero p{font-size:0.92rem;margin-top:8px}
.hero{padding:28px 0 32px!important}.hero .label-tag,.hero-content>p,.hero-visual,.hero-trust{display:none!important}
.hero-btns{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;margin-top:18px!important}.hero-btns .btn{justify-content:center;padding:12px 10px}
.m-hide{display:none!important}
.m-finder{padding:28px 0!important}.m-finder p{display:none}
.m-services .container>div[style*="text-align:center"]{margin-top:18px!important}
.m-steps .steps{grid-template-columns:1fr!important;gap:8px!important}.m-steps .step{display:flex;align-items:center;gap:12px;padding:12px 14px!important;text-align:left}.m-steps .step p,.m-steps .step-connector{display:none!important}.m-steps .step-number{margin:0!important;flex-shrink:0;width:32px!important;height:32px!important;font-size:0.9rem!important}.m-steps .step h3{margin:0!important;font-size:0.95rem!important}
.nav-right .btn-primary{display:none!important}.nav-right{gap:8px!important}.lang-toggle{transform:scale(0.9);transform-origin:right center}
.footer-grid{gap:24px!important}.footer-col:nth-child(2),.footer-col:nth-child(3){display:none}.footer-brand p{display:none}.footer-bottom{flex-direction:column;gap:4px;text-align:center}
}

@media (max-width:900px){.svc-grid{grid-template-columns:1fr!important;gap:0!important;background:white;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.svc-grid .card{flex-direction:row!important;align-items:center;gap:12px!important;padding:16px 18px!important;border:none!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;box-shadow:none!important;background:white!important;transform:none!important}
.svc-grid .card:last-child{border-bottom:none!important}
.svc-grid .card>div[style*="width:48px"],.svc-grid .card p,.svc-grid .card .badge,.svc-grid .card>div[style*="margin-top:auto"] span:first-child{display:none!important}
.svc-grid .card h3{font-size:1rem;color:var(--navy)!important;flex:1}.svc-grid .card>div[style*="margin-top:auto"]{margin:0!important;color:var(--navy)!important}
}
@media (max-width:768px){.page-hero .label-tag{display:none}.quote-grid{gap:16px!important}.quote-options{gap:6px!important}.quote-chip{padding:8px 12px!important;font-size:0.82rem!important}.quote-result{padding:18px!important}.quote-price-display{font-size:2.2rem!important}}
@media (max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}.contact-side{order:-1}.contact-layout>*{min-width:0}}
@media (max-width:768px){.form-row{grid-template-columns:1fr!important;gap:16px!important}.contact-wechat{flex-direction:column!important;align-items:center!important;text-align:center;gap:12px!important}.contact-wechat .wechat-qr{width:200px!important;height:200px!important}.contact-info-card{padding:20px!important}}
@media (max-width:768px){.contact-form-card{padding:22px 18px!important}.cf-intro{margin-bottom:16px!important}}
@media (max-width:768px){.ab-mission-grid{grid-template-columns:minmax(0,1fr)!important;gap:0!important}.ab-mission .img-placeholder,.ab-mission .label-tag,.ab-mission .divider,.ab-mission-grid>div:first-child>p~p{display:none!important}.ab-mission h2{margin-bottom:12px}
.ab-cred .container>p{font-size:0.9rem;margin-bottom:20px!important}.ab-cred .cred-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.ab-cred .cred-grid>div{padding:16px 12px!important}.ab-cred .cred-grid>div>div{font-size:1.25rem!important}.ab-cred .cred-grid>div>p{font-size:0.75rem!important;margin-top:6px!important;line-height:1.4}}
@media (max-width:768px){.ct-svc{grid-template-columns:1fr 1fr!important;gap:8px!important}.ct-svc .card{padding:14px 12px!important;display:flex;align-items:center;min-height:56px}.ct-svc .card>div,.ct-svc .card p{display:none!important}.ct-svc .card h3{margin:0!important;font-size:0.86rem!important;line-height:1.35}
.ct-price .pricing-grid{gap:12px!important}.ct-price .pricing-card{padding:18px!important;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px}.ct-price .pricing-card>p[style*="margin-top:8px"],.ct-price .pricing-features{display:none!important}.ct-price .popular-badge{position:static!important;flex-basis:100%;width:max-content;max-width:max-content;margin-bottom:8px;transform:none!important}.ct-price .price-from,.ct-price .price-unit{font-size:0.78rem!important;margin:0!important;color:var(--steel)}.ct-price .price-amount{font-size:1.8rem!important;margin:0!important;line-height:1.1}.ct-price .pricing-card h3{flex-basis:100%;margin:4px 0 0!important;font-size:1rem!important}.ct-price .pricing-card .btn{flex-basis:100%;margin-top:12px}.ct-price .container>p:last-child{margin-top:14px!important;font-size:0.78rem!important}}
@media (max-width:768px){.t1134-hero{padding:32px 0!important}.t1134-hero-inner{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}.t1134-hero-inner>div:first-child>p{font-size:0.92rem!important;margin:10px 0 18px!important}.t1134-hero .badge:nth-child(2){display:none}.t1134-hero .btn{flex:1;justify-content:center;padding:12px 10px}.alert-box{padding:14px!important}
.tk-2col{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}.tk-2col .label-tag,.tk-2col .divider{display:none!important}
.tk-what .tk-2col>div:first-child>p:nth-of-type(2),.tk-what .deadline-card:nth-child(2){display:none!important}
.tk-pen .penalty-table th:nth-child(3),.tk-pen .penalty-table td:nth-child(3){display:none}.tk-pen .penalty-table th,.tk-pen .penalty-table td{padding:10px 12px!important;font-size:0.82rem!important}.tk-pen .penalty-table td span[style*="0.82rem"]{display:block;font-size:0.72rem!important}
.tk-docs .tk-2col>div:last-child{display:none}.tk-docs .tk-2col>div:first-child>p{font-size:0.9rem}
.tk-cta{padding:32px 0!important}.tk-cta .tk-2col>div:first-child>div,.tk-cta .tk-2col>div:first-child>.label-tag{display:none!important}.tk-cta h2{margin:0 0 10px!important}.tk-cta p{font-size:0.9rem}}
.tk-cta [hidden]{display:none!important}
.photo-frame{position:relative;overflow:hidden;border-radius:var(--radius-lg,16px);background:var(--navy);border:none!important}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}
