@charset "UTF-8";

/* A contact page with the scale of a poster and three real contact channels. */
body[data-page="contact"] .ambient-photo { opacity:.045; }
body[data-page="contact"] .ambient-glow { opacity:.55; background:radial-gradient(ellipse at 85% 22%,#d6e96b20,transparent 40%); }
.contact-editorial { padding-top:27px; }
.contact-hero { display:grid; grid-template-columns:1.55fr 1fr; align-items:center; gap:15px; min-height:238px; position:relative; margin-bottom:25px; padding-bottom:23px; border-bottom:1px solid #cbd6c3; }
.contact-hero-copy { position:relative; z-index:2; min-width:0; }
.contact-hero .eyebrow { color:#68805d; font-size:9px; letter-spacing:2.3px; margin:0 0 17px; }
.contact-title-lockup { display:flex; align-items:center; gap:28px; }
.contact-title-lockup h1 { margin:0; font-size:clamp(78px,7.5vw,108px); font-weight:750; letter-spacing:-5px; line-height:1.1; white-space:nowrap; }
.contact-display { display:block; font-family:Arial,sans-serif; font-size:clamp(37px,4vw,56px); line-height:.88; font-weight:800; letter-spacing:-2.4px; color:transparent; -webkit-text-stroke:1px #92a584; transform:translateY(3px); }
.contact-display > span { display:block; }
.contact-lede { font-size:12px; line-height:1.85; color:#687963; margin:21px 0 0; max-width:460px; }
.contact-connect-art { position:relative; justify-self:end; align-self:center; width:100%; max-width:390px; color:#3b5739; margin-block:-8px -4px; }
.contact-connect-art svg { display:block; width:100%; height:auto; overflow:visible; }
.contact-connecting-orbits { transform-origin:210px 130px; animation:contact-orbit-drift 22s ease-in-out infinite alternate; }
.contact-art-core { transform-origin:210px 130px; animation:contact-star-breathe 10s ease-in-out infinite; }
.contact-art-caption { position:absolute; bottom:4px; left:0; right:0; text-align:center; font-family:Arial,sans-serif; font-size:8px; letter-spacing:2px; color:#7c906d; }
.contact-editorial-grid { display:grid; grid-template-columns:1.65fr 1fr; gap:18px; align-items:stretch; }
.contact-editorial .contact-stack .contact-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:20px; min-height:224px; padding:25px 28px; border-radius:9px; overflow:hidden; }
.contact-editorial .contact-stack .email-card { background:#233e2e; border-color:#233e2e; color:#f1f4e7; }
.contact-editorial .contact-stack .wechat-card { background:#fbfcf6b3; border:1px solid #d1ddc8; }
.contact-editorial .contact-card-body { position:relative; width:100%; min-width:0; z-index:2; }
.contact-editorial .contact-card-body .contact-index { margin:0 0 15px; font-family:Arial,sans-serif; font-size:8px; letter-spacing:1.8px; color:#849976; }
.contact-editorial .email-card .contact-card-body .contact-index { color:#c2d3ad; }
.contact-editorial .contact-stack .contact-card h2 { font-size:10px; letter-spacing:.4px; font-weight:500; color:#748667; margin:0 0 5px; }
.contact-editorial .contact-stack .email-card h2 { color:#bdd0b2; }
.contact-editorial .contact-stack .contact-value { font-size:25px; line-height:1.5; letter-spacing:-.7px; font-weight:600; margin:0 0 7px; }
.contact-editorial .contact-stack .email-card .contact-value { color:#eff5e5; padding-right:30px; }
.contact-editorial .contact-stack .wechat-card .contact-value { color:#2f472f; font-size:21px; }
.contact-editorial .contact-description { font-size:10px; color:#819071; line-height:1.8; margin:0; }
.contact-editorial .email-card .contact-description { color:#a4bb9b; }
.contact-editorial .contact-card-action { width:100%; min-height:0; border:0; padding:0; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:20px; position:relative; z-index:2; }
.contact-editorial .contact-card-action .button { font-size:10px; min-height:36px; padding:8px 18px; border-radius:3px; }
.contact-editorial .email-card .button:disabled { background:#f3f9e50b; border-color:#cfdfb33d; color:#adbf9f; opacity:1; }
.contact-editorial .email-card .text-button { color:#c6dab5; font-size:10px; }
.contact-card-corner { position:absolute; top:22px; right:24px; font-family:Arial,sans-serif; font-size:55px; line-height:1; font-weight:300; color:#c8e0a97a; }
.contact-editorial .wechat-card .contact-description { max-width:190px; padding-right:45px; }
.contact-editorial .wechat-card .text-button { margin-top:12px; font-size:10px; }
.contact-editorial .contact-stack .wechat-qr { position:absolute; bottom:20px; right:22px; width:75px; height:75px; padding:9px; border-color:#b8c8a8; border-radius:5px; gap:6px; background:#fafbf5; }
.contact-editorial .wechat-qr svg { width:26px; height:26px; }
.contact-editorial .wechat-qr > span { font-size:7px; }
.contact-editorial .contact-note { padding:0; margin:13px 0 0; border:0; border-radius:0; background:transparent; font-size:9px; line-height:1.7; color:#89947e; }
.contact-editorial .contact-closing { margin-top:24px; padding-top:16px; border-top:1px solid #d8e0d0; font-size:16px; letter-spacing:-.1px; }
.contact-editorial .contact-closing .text-button { font-size:10px; }
@keyframes contact-orbit-drift { from { transform:rotate(-5deg); } to { transform:rotate(7deg); } }
@keyframes contact-star-breathe { 0%,100% { transform:scale(.98) rotate(-2deg); } 50% { transform:scale(1.035) rotate(2deg); } }
.motion-paused .contact-connecting-orbits,.motion-paused .contact-art-core,.motion-suspended .contact-connecting-orbits,.motion-suspended .contact-art-core { animation-play-state:paused; }
@media (max-width:1100px) and (min-width:761px) {
  .contact-hero { grid-template-columns:1.7fr 1fr; min-height:220px; }
  .contact-title-lockup { gap:20px; }
  .contact-title-lockup h1 { font-size:78px; letter-spacing:-4px; }
  .contact-display { font-size:40px; }
  .contact-editorial-grid { grid-template-columns:1.55fr 1fr; gap:16px; }
  .contact-editorial .contact-stack .contact-card { padding:23px; }
  .contact-editorial .contact-stack .contact-value { font-size:23px; }
  .contact-editorial .contact-stack .wechat-card .contact-value { font-size:20px; }
}
@media (max-width:760px) {
  .contact-editorial { padding-top:32px; }
  .contact-hero { display:block; min-height:242px; padding-bottom:25px; margin-bottom:21px; overflow:hidden; }
  .contact-hero-copy { z-index:2; }
  .contact-hero .eyebrow { font-size:8px; letter-spacing:1.8px; margin-bottom:18px; }
  .contact-title-lockup { flex-direction:column; align-items:flex-start; gap:13px; }
  .contact-title-lockup h1 { font-size:68px; letter-spacing:-4px; line-height:1.08; }
  .contact-display { font-size:36px; line-height:1; letter-spacing:-1.4px; -webkit-text-stroke:.8px #8ea47c; display:flex; gap:8px; }
  .contact-display > span { display:block; }
  .contact-lede { font-size:11px; line-height:1.9; max-width:280px; margin-top:20px; }
  .contact-connect-art { position:absolute; width:220px; top:20px; right:-41px; margin:0; opacity:.43; z-index:0; }
  .contact-connect-art svg { transform:rotate(-12deg); }
  .contact-art-caption { display:none; }
  .contact-editorial-grid { grid-template-columns:1fr; gap:13px; }
  .contact-editorial .contact-stack .contact-card,.contact-editorial .contact-stack .contact-card + .contact-card { min-height:226px; padding:23px; gap:19px; border-radius:8px; }
  .contact-editorial .contact-stack .wechat-card { min-height:209px; }
  .contact-editorial .contact-card-body .contact-index { margin-bottom:17px; font-size:8px; }
  .contact-editorial .contact-stack .contact-card h2 { font-size:10px; }
  .contact-editorial .contact-stack .contact-value { font-size:24px; padding-right:0; }
  .contact-editorial .contact-stack .email-card .contact-value { padding-right:25px; }
  .contact-editorial .contact-stack .wechat-card .contact-value { font-size:22px; }
  .contact-editorial .contact-description { font-size:10px; }
  .contact-editorial .contact-card-action { flex-direction:row; align-items:center; gap:17px; }
  .contact-editorial .contact-card-action .button { min-height:37px; padding:8px 16px; }
  .contact-card-corner { top:20px; right:20px; font-size:47px; }
  .contact-editorial .contact-stack .wechat-qr { width:74px; height:74px; bottom:19px; right:21px; }
  .contact-editorial .wechat-card .contact-description { max-width:205px; padding-right:50px; }
  .contact-editorial .contact-note { font-size:9px; margin-top:12px; }
  .contact-editorial .contact-closing { font-size:16px; margin-top:24px; padding-top:17px; gap:12px; }
}
@media (max-width:359px) {
  .contact-title-lockup h1 { font-size:61px; }
  .contact-display { font-size:33px; }
  .contact-connect-art { right:-59px; }
  .contact-editorial .contact-stack .contact-card { padding:21px; }
  .contact-editorial .contact-stack .contact-value { font-size:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .contact-connecting-orbits,.contact-art-core { animation:none; }
}

/* Real contact details: a direct-contact column beside a scannable WeChat card. */
.contact-editorial-grid { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); }
.contact-editorial .contact-stack .contact-card { min-width:0; }
.contact-editorial .contact-stack .email-card { grid-column:1; grid-row:1; min-height:205px; }
.contact-editorial .contact-stack .phone-card { grid-column:1; grid-row:2; min-height:192px; background:#f8fbf1d9; border:1px solid #cddbc0; }
.contact-editorial .contact-stack .wechat-card { grid-column:2; grid-row:1 / span 2; justify-content:flex-start; gap:23px; }
.contact-editorial .contact-stack .contact-value { overflow-wrap:anywhere; }
.contact-editorial .contact-stack .email-card .contact-value { font-size:clamp(18px,2.1vw,27px); padding-right:20px; letter-spacing:-.5px; }
.contact-editorial .contact-stack .phone-card .contact-value { font-size:27px; color:#2f472f; font-variant-numeric:tabular-nums; letter-spacing:.5px; }
.contact-editorial .contact-card-action { flex-wrap:wrap; row-gap:12px; }
.contact-editorial .phone-card .text-button { font-size:10px; }
.contact-editorial .phone-card .button { color:#30482f; border-color:#a9bea0; background:#eff5e3; }
.contact-editorial .wechat-card .contact-description { max-width:none; padding-right:0; }
.wechat-qr-trigger { display:flex; flex-direction:column; align-items:center; align-self:center; width:min(100%,218px); padding:12px; gap:7px; background:#fff; border:1px solid #d8e3cb; border-radius:8px; color:#375031; box-shadow:0 8px 28px #314b2410; }
.wechat-qr-trigger:hover { border-color:#759757; box-shadow:0 9px 30px #314b2420; }
.wechat-qr-window { position:relative; display:block; width:100%; aspect-ratio:820 / 1219; background:#fff; }
/* Keep the entire supplied image, including its avatar and instructions. */
.wechat-qr-window img { display:block; width:100%; max-width:100%; height:auto; }
.wechat-qr-label { display:flex; align-items:center; gap:12px; font-size:11px; line-height:1.5; }
.wechat-qr-trigger small { font-size:9px; font-weight:400; color:#87957a; }
@media (max-width:760px) {
  .contact-editorial-grid { grid-template-columns:minmax(0,1fr); }
  .contact-editorial .contact-stack .email-card,.contact-editorial .contact-stack .phone-card,.contact-editorial .contact-stack .wechat-card { grid-column:auto; grid-row:auto; min-height:0; padding:23px; gap:21px; }
  .contact-editorial .contact-stack .email-card .contact-value { font-size:clamp(17px,5.3vw,24px); padding-right:0; letter-spacing:-.5px; }
  .contact-editorial .contact-stack .phone-card .contact-value { font-size:26px; }
  .contact-editorial .contact-stack .wechat-card { gap:24px; }
  .wechat-qr-trigger { width:min(100%,234px); margin:0 auto 2px; }
}
