/* Subpages V27: shared V26 visual system; independent from the canonical homepage. */
body{background:#fff;color:#17243b}
main{padding-top:86px}
main .page-hero,main .media-hero{background:linear-gradient(110deg,rgba(1,62,46,.90),rgba(1,62,46,.67)),url('../images/hero-preview.jpg') center 45%/cover;color:#fff}
main .page-hero h1,main .media-hero h1,main .page-hero p,main .media-hero p{color:#fff}
.section,.video-section{background:#fff}
.section-light{background:#f5f7f9}
.section h2,.service-row h2,.card h2{color:#013e2e}
.service-row .icon,.icon{background:#e8f1ed;color:#013e2e}
.service-image img{border-radius:18px}
.card,.form-card{border-color:#e1e9e5;box-shadow:0 8px 25px rgba(1,62,46,.06)}
main .gold,main .more-link{color:#126347}
main .btn-primary{background:#f2f0e9;color:#013e2e}
main .btn-primary:hover{background:#fff}
main .btn-outline-light{color:#fff;border-color:#f2f0e9}
.contact-hero{background:linear-gradient(105deg,rgba(0,32,27,.83),rgba(1,62,46,.55)),url('../images/hero-preview.jpg') center/cover!important}
.footer{background:#013e2e}
@media(max-width:900px){main{padding-top:72px}}


/* V28 — Shared glass-button system, scoped to Chinese secondary pages.
   Light panels use darker emerald text for legibility; photo banners use white.
   Utility controls (menu, modal-close, media lightbox-close) are kept functional. */
body .btn,
body .conversion-form button[type="submit"],
body .media-tabs .media-tab,
body .faq-item .faq-toggle {
  position:relative;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.58);
  background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(240,246,242,.42) 55%,rgba(255,255,255,.55));
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
  box-shadow:0 8px 22px rgba(1,62,46,.10),inset 0 1px 0 rgba(255,255,255,.65);
  color:#013e2e;
  transition:transform .3s cubic-bezier(.2,.75,.25,1),box-shadow .3s ease,background .3s ease,border-color .3s ease;
}
body .btn:hover,
body .conversion-form button[type="submit"]:hover,
body .media-tabs .media-tab:hover,
body .faq-item .faq-toggle:hover {
  transform:translateY(-5px);
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(241,248,244,.56),rgba(255,255,255,.7));
  box-shadow:0 14px 30px rgba(1,62,46,.18),inset 0 1px 0 rgba(255,255,255,.8);
  border-color:rgba(255,255,255,.78);
  color:#013e2e;
}
body .btn:focus-visible,
body .conversion-form button[type="submit"]:focus-visible,
body .media-tabs .media-tab:focus-visible,
body .faq-item .faq-toggle:focus-visible {
  outline:3px solid #4b927c;
  outline-offset:3px;
}
body .btn:active,
body .conversion-form button[type="submit"]:active,
body .media-tabs .media-tab:active,
body .faq-item .faq-toggle:active { transform:translateY(-1px); }

/* Transparent outlined secondary action on dark photographic backdrops. */
main .contact-hero .btn-outline-light,
main .page-hero .btn-outline,
main .media-hero .btn-outline {
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.73);
  color:#fff;
  box-shadow:0 8px 24px rgba(0,20,18,.16),inset 0 1px 0 rgba(255,255,255,.18);
}
main .contact-hero .btn-outline-light:hover,
main .page-hero .btn-outline:hover,
main .media-hero .btn-outline:hover {
  background:rgba(255,255,255,.22);
  color:#fff;
}
/* Primary CTAs over hero photographs share homepage frosted-glass appearance. */
main .contact-hero .btn-primary,
main .page-hero .btn-primary,
main .media-hero .btn-primary {
  background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(250,251,250,.29),rgba(255,255,255,.40));
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
main .contact-hero .btn-primary:hover,
main .page-hero .btn-primary:hover,
main .media-hero .btn-primary:hover {
  background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(252,253,252,.39),rgba(255,255,255,.49));
  color:#fff;
}
body .media-tabs .media-tab.active {
  background:rgba(1,62,46,.13);
  border-color:rgba(1,62,46,.35);
  color:#013e2e;
}
/* A wide submit button is still an accessible, high-contrast control. */
body .conversion-form button[type="submit"] {
  width:100%;
  min-height:52px;
  font-weight:750;
}
@media (prefers-reduced-motion: reduce) {
  body .btn,body .conversion-form button[type="submit"],
  body .media-tabs .media-tab,body .faq-item .faq-toggle {transition:none}
  body .btn:hover,body .conversion-form button[type="submit"]:hover,
  body .media-tabs .media-tab:hover,body .faq-item .faq-toggle:hover {transform:none}
}


/* V29: readable unhovered frosted-glass submit button on a white form. */
body .conversion-form button[type="submit"],
body .conversion-form button.btn-primary[type="submit"] {
  background:linear-gradient(135deg,rgba(170,196,183,.78),rgba(194,215,203,.72) 53%,rgba(163,191,176,.78));
  border:1px solid rgba(1,62,46,.30);
  color:#013e2e;
  box-shadow:0 7px 18px rgba(1,62,46,.15), inset 0 1px 0 rgba(255,255,255,.65);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  backdrop-filter:blur(18px) saturate(120%);
}
body .conversion-form button[type="submit"]:hover,
body .conversion-form button.btn-primary[type="submit"]:hover {
  background:linear-gradient(135deg,rgba(156,187,168,.87),rgba(185,209,196,.82) 53%,rgba(148,181,161,.87));
  border-color:rgba(1,62,46,.42);
  color:#013e2e;
  box-shadow:0 14px 28px rgba(1,62,46,.21),inset 0 1px 0 rgba(255,255,255,.72);
}

/* V30: neutral-grey frosted glass for button controls on light content panels.
   Keep emerald typography; remove green tint from glass, borders and shadows. */
body .conversion-form button[type="submit"],
body .conversion-form button.btn-primary[type="submit"],
body .media-tabs .media-tab,
body .media-tabs .media-tab.active {
  background:linear-gradient(135deg,rgba(208,211,213,.78),rgba(226,228,229,.72) 52%,rgba(202,206,209,.80)) !important;
  border:1px solid rgba(116,125,131,.40) !important;
  color:#013e2e !important;
  box-shadow:0 7px 20px rgba(45,53,58,.14),inset 0 1px 0 rgba(255,255,255,.76) !important;
  -webkit-backdrop-filter:blur(18px) saturate(100%);
  backdrop-filter:blur(18px) saturate(100%);
}
body .conversion-form button[type="submit"]:hover,
body .conversion-form button.btn-primary[type="submit"]:hover,
body .media-tabs .media-tab:hover,
body .media-tabs .media-tab.active:hover {
  background:linear-gradient(135deg,rgba(193,199,202,.88),rgba(218,221,222,.82) 52%,rgba(189,196,199,.88)) !important;
  border-color:rgba(104,113,119,.52) !important;
  color:#013e2e !important;
  box-shadow:0 14px 28px rgba(45,53,58,.20),inset 0 1px 0 rgba(255,255,255,.84) !important;
}
/* Selected gallery category stays recognizable without any green tint. */
body .media-tabs .media-tab.active {border-color:rgba(83,94,101,.72) !important;box-shadow:inset 0 0 0 1px rgba(102,113,119,.26),0 8px 22px rgba(45,53,58,.16) !important;}


/* V31: borderless neutral-grey glass controls on white surfaces.
   Shape comes from the glass fill and soft shadow, not a dark outline. */
body .conversion-form button[type="submit"],
body .conversion-form button.btn-primary[type="submit"],
body .media-tabs .media-tab,
body .media-tabs .media-tab.active,
body .conversion-form button[type="submit"]:hover,
body .conversion-form button.btn-primary[type="submit"]:hover,
body .media-tabs .media-tab:hover,
body .media-tabs .media-tab.active:hover {
  border-color:transparent !important;
}
body .media-tabs .media-tab.active {
  box-shadow:0 9px 24px rgba(45,53,58,.22),inset 0 1px 0 rgba(255,255,255,.78) !important;
}


/* V36: enlarge navbar logo within existing header height. */
@media(min-width:1121px){
  .site-header .nav{height:85px;}
  .site-header .brand{gap:16px;}
  .site-header .brand img{height:78px;}
  .site-header .brand-cn{font-size:clamp(1.12rem,1.38vw,1.30rem);}
  .site-header .nav-links{gap:clamp(14px,1.3vw,22px);font-size:1.12rem;}
  .site-header .nav-links > a,
  .site-header .lang-switch > a{font-size:1.12rem;}
  .site-header .lang-switch{gap:11px;margin-left:23px;padding-left:21px;}
}
@media(max-width:1120px){
  .site-header .nav{height:76px;}
  .site-header .brand img{height:66px;}
  .site-header .brand{gap:12px;}
}
@media(max-width:600px){
  .site-header .brand img{height:60px;}
}


/* V37: Chinese confirmation page aligned to the V36 visual system. */
.success-screen{min-height:calc(100svh - 180px);display:flex;align-items:center;justify-content:center;padding:65px 0 85px;background:linear-gradient(130deg,rgba(1,38,32,.73),rgba(1,62,46,.45)),url('../images/hero-preview.jpg') center/cover;color:#fff}
.success-screen .container{width:100%}
.success-panel{max-width:690px;margin:auto;padding:clamp(30px,5vw,65px);background:rgba(255,255,255,.92);color:#013e2e;border-radius:22px;text-align:center;box-shadow:0 20px 60px rgba(0,30,24,.25);border:1px solid rgba(255,255,255,.8)}
.success-mark{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;margin:0 auto 20px;background:rgba(1,62,46,.10);font-size:2rem;color:#013e2e;font-weight:800}
.success-panel h1{font-size:clamp(2.3rem,5vw,3.5rem);line-height:1.2;margin:9px 0 20px;color:#013e2e}
.success-panel .kicker{color:#126347;font-weight:700;letter-spacing:.10em}
.success-panel .success-lead{font-size:1.13rem;color:#223e34}
.success-panel .success-note{color:#536276}
.success-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.success-actions .btn{padding:15px 24px;min-width:160px;background:linear-gradient(140deg,rgba(233,236,234,.90),rgba(214,220,217,.72));color:#013e2e;border:0;border-radius:12px;box-shadow:0 10px 24px rgba(1,45,35,.12),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .28s,box-shadow .28s}
.success-actions .btn:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(1,45,35,.18)}
@media(max-width:600px){.success-screen{padding:35px 0 60px}.success-actions{flex-direction:column}.success-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.success-actions .btn{transition:none}.success-actions .btn:hover{transform:none}}


/* V38: fix heading contrast on the dark contact-sidebar panel. */
.contact-panel.contact-panel-premium h2 {
  color:#F2F0E9 !important;
}

/* V46: shortened consultation hero card natural height. */
.contact-hero-grid > .contact-hero-card.consult-card{align-self:start;height:auto;min-height:0;}
.contact-hero-card.consult-card ul{margin-bottom:0;}
