footer.site-footer{display:block;position:relative;z-index:10;background:#e8e0d2;color:#383839;padding:64px 5% 24px;border-top:1px solid #d2c8b7;font-family:-apple-system,BlinkMacSystemFont,'PingFang TC',sans-serif;border-radius:0;line-height:1.8} .site-footer *{box-sizing:border-box}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:#817360}.site-footer a:focus-visible{outline:2px solid #817360;outline-offset:5px}.site-footer p,.site-footer h2{margin:0}.site-footer .sf-intro{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:45px;border-bottom:1px solid #cfc4b2}.sf-intro img{width:155px;height:auto;filter:none}.sf-intro p{font-family:'Songti TC',serif;font-size:22px;letter-spacing:.06em}.sf-intro p span{display:block;font:9px/2.4 Arial,sans-serif;letter-spacing:.2em;color:#736b5f;margin-top:8px}.site-footer .sf-invite{display:flex;align-items:center;gap:28px;font-size:13px;padding:13px 19px;border:1px solid #b8aa94;border-radius:5px}.sf-invite>span{font-size:21px}.site-footer .sf-columns{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.25fr;gap:40px;padding:45px 0 52px}.sf-columns h2{font:500 12px/1.8 sans-serif;letter-spacing:.12em;margin-bottom:19px;color:#61594c}.sf-columns nav a,.sf-contact>a{display:block;font-size:13px;line-height:2.5}.sf-brand p{font-size:15px;line-height:2.1}.sf-brand>span{display:block;font:italic 14px/1.8 Georgia,serif;color:#807461;margin-top:18px}.sf-contact p{font-size:12px;color:#756b5d;line-height:2;margin-top:16px}.site-footer .sf-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:22px;border-top:1px solid #cfc4b2;color:#746b5d;font-size:10px;letter-spacing:.04em}.sf-bottom a{display:inline-flex;align-items:center;gap:22px;line-height:1}.sf-bottom a svg{display:block;width:15px;height:15px;flex:none}@media(max-width:750px){footer.site-footer{padding:44px 6% 24px}.site-footer .sf-intro{align-items:flex-start;flex-wrap:wrap;gap:24px;padding-bottom:30px}.sf-intro img{width:123px}.sf-intro p{font-size:18px}.site-footer .sf-invite{width:100%;justify-content:space-between}.site-footer .sf-columns{grid-template-columns:1fr 1fr;gap:32px 20px;padding:32px 0}.sf-brand{grid-column:1/-1}.sf-brand p br{display:none}.sf-brand>span{display:none}.sf-contact{grid-column:1/-1}.site-footer .sf-bottom{flex-wrap:wrap;gap:16px;font-size:9px}.sf-bottom>span:first-child{width:100%}.sf-bottom>a{margin-left:auto}}

.site-footer .sf-contact>a.line-contact,.line-contact{display:inline-flex;align-items:center;gap:12px;margin:16px 0 12px;padding:9px 15px;border:1px solid #a9b5a1;border-radius:5px;background:#e4eadf;color:#354d35;font-size:13px;line-height:1.8;text-decoration:none;transition:background .25s ease}.line-contact:hover,.site-footer .line-contact:hover{background:#d3dfcd;color:#263e26}.line-label{font:bold 11px/1.5 Arial,sans-serif;letter-spacing:.04em}.contact-banner .line-contact{display:flex;width:max-content;margin-bottom:20px}

/* Match the desktop navigation gutter and avoid repeating its visible logo. */
@media(min-width:900px){
 footer.site-footer{padding-left:3.2%;padding-right:3.2%}
 .site-footer .sf-intro>a:first-child{display:none}
 .site-footer .sf-intro{justify-content:space-between}
}

/* Keep the footer aligned with the mobile header as well. */
@media(max-width:899px){
 footer.site-footer{padding-left:5%;padding-right:5%}
 .site-footer .sf-intro>a:first-child{display:none}
 .site-footer .sf-intro{justify-content:space-between}
}
