:root{
  --public-contact-orange:#ff6b00;
  --public-contact-ink:#181818;
  --public-contact-line:#e7e7e7;
  --public-contact-soft:#f8f7f4;
}

.public-contact-home{padding:68px 0;background:#fff}
.public-contact-home__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:22px;align-items:stretch}
.public-contact-home__copy,.public-contact-home__details{min-width:0;border:1px solid var(--public-contact-line);border-radius:22px;padding:26px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.07)}
.public-contact-home__copy{background:linear-gradient(135deg,#111,#242424);color:#fff}
.public-contact-home__copy h2{margin:8px 0 12px;font-size:38px;letter-spacing:-1.3px}
.public-contact-home__copy p{color:#d1d1d1;line-height:1.65}
.public-contact-facts{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.public-contact-facts li{min-width:0;padding-bottom:11px;border-bottom:1px solid #ececec}
.public-contact-facts li:last-child{padding-bottom:0;border-bottom:0}
.public-contact-facts small{display:block;margin-bottom:4px;color:#8a8a8a;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.public-contact-facts a,.public-contact-facts strong{color:var(--public-contact-ink);font-weight:850;line-height:1.55;overflow-wrap:anywhere}
.public-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.public-contact-action{display:inline-flex;min-height:46px;min-width:0;align-items:center;justify-content:center;border:1px solid var(--public-contact-line);border-radius:11px;padding:12px 18px;background:#fff;color:var(--public-contact-ink);font:inherit;font-weight:850;text-align:center;touch-action:manipulation}
.public-contact-action--orange{border-color:var(--public-contact-orange);background:var(--public-contact-orange);color:#fff}
.public-contact-action--dark{border-color:#111;background:#111;color:#fff}
.public-contact-action:hover{border-color:var(--public-contact-orange)}
.public-contact-action:focus-visible{outline:3px solid rgba(255,107,0,.35);outline-offset:3px}
.public-contact-action:disabled{cursor:not-allowed;opacity:.55}

.contact-hero-main h1{text-transform:uppercase}
.contact-main-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;align-items:stretch}
.wechat-panel{min-width:0;text-align:left!important}
.contact-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.public-contact-card{display:flex;min-width:0;min-height:238px;flex-direction:column;border:1px solid var(--public-contact-line);border-radius:17px;padding:20px;background:#fafafa}
.public-contact-card__label{color:var(--public-contact-orange);font-size:11px;font-weight:950;letter-spacing:.13em}
.public-contact-card h2{margin:8px 0 7px;font-size:22px;letter-spacing:-.4px}
.public-contact-card p{margin:0 0 16px;color:#6c6c6c;line-height:1.55;overflow-wrap:anywhere}
.public-contact-card .public-contact-action{width:100%;margin-top:auto}
.location-panel{display:flex;min-width:0;flex-direction:column}
.location-panel>.eyebrow:not(.public-contact-map-eyebrow),.location-panel>h2:not(.public-contact-map-heading),.location-panel>.contact-detail-list,.location-panel>.contact-note{display:none!important}
.public-contact-map-heading{margin:0 0 6px;font-size:28px}
.public-contact-map-address{margin:0 0 15px;color:#666;line-height:1.55}
.map-frame{min-width:0;margin-top:0!important;border:1px solid var(--public-contact-line)!important;border-radius:17px!important;overflow:hidden;background:#eee}
.map-frame iframe{display:block;width:100%;height:420px;border:0}
.location-panel .contact-btns{margin-top:15px}

.public-footer{width:100%;padding:34px 0!important;border-top:1px solid var(--public-contact-line)!important;background:#111!important;color:#fff!important}
.public-footer .container{width:min(1180px,calc(100% - 32px));margin:auto}
.public-footer[hidden]{display:none!important}
.public-footer__grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:28px;align-items:start}
.public-footer__brand{font-size:20px;font-weight:950}
.public-footer__brand span{color:#ff8a35}
.public-footer__name{margin:0 0 14px;font-size:18px;font-weight:950}
.public-footer__contact{display:grid;gap:7px;min-width:0;color:#ddd;line-height:1.55}
.public-footer__contact a{color:#fff;overflow-wrap:anywhere}
.public-footer__contact button{width:max-content;max-width:100%;border:0;background:transparent;color:#fff;padding:4px 0;text-align:left;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.public-footer__nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:17px}
.public-footer__nav a,.public-footer__nav button{min-height:40px;border:0;background:transparent;color:#ddd;padding:8px 0;font:inherit;font-weight:800;text-align:left}
.public-footer__nav a:hover,.public-footer__nav button:hover,.public-footer__contact a:hover{color:#ff9c55}
.public-footer__nav a:focus-visible,.public-footer__nav button:focus-visible,.public-footer__contact a:focus-visible,.public-footer__contact button:focus-visible{outline:2px solid #ff8a35;outline-offset:3px}

.public-contact-toast-region{position:fixed;right:18px;bottom:18px;z-index:500;display:grid;gap:10px;width:min(390px,calc(100vw - 36px));pointer-events:none}
.public-contact-toast{border-left:5px solid var(--public-contact-orange);border-radius:12px;padding:14px 16px;background:#111;color:#fff;box-shadow:0 14px 36px rgba(0,0,0,.25);font-weight:800;line-height:1.5;white-space:pre-line}
.public-contact-toast.success{border-left-color:#2bad68}
.public-contact-toast.error{border-left-color:#d94b4b}
.public-contact-copy-fallback{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.fu-toast>div{white-space:pre-line}

@media(max-width:850px){
  .public-contact-home__grid,.contact-main-grid,.public-footer__grid{grid-template-columns:1fr!important}
  .map-frame iframe{height:340px;min-height:300px}
  .public-footer__grid{gap:20px}
}

@media(max-width:600px){
  .public-contact-home{padding:48px 0}
  .public-contact-home__copy,.public-contact-home__details{padding:20px}
  .public-contact-home__copy h2{font-size:31px}
  .contact-card-grid{grid-template-columns:1fr}
  .public-contact-card{min-height:210px;padding:18px}
  .public-contact-actions{flex-direction:column}
  .public-contact-actions .public-contact-action{width:100%}
  .map-frame iframe{height:310px}
  .public-footer{padding:28px 0!important}
  .public-footer__nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
}
