/* Shared footer components; each site's typography remains its own. */
.site-footer.footer-v2{padding:38px 4.5% 22px;background:var(--paper);border-top:0;position:relative;isolation:isolate;color:var(--ink)}
.footer-v2::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--bright) 0 27%,var(--accent) 27% 100%)}
.footer-layout{display:grid;grid-template-columns:1fr .9fr 1.25fr;gap:28px;align-items:start;max-width:1600px;margin:0 auto}
.footer-identity{min-width:0;padding:15px 12px 20px 0}
.footer-brandline{display:flex;align-items:center;gap:12px;min-height:54px}
.footer-v2 .footer-brand{font-size:25px;line-height:1.15;letter-spacing:-.035em;color:var(--orange);font-weight:500}
.footer-tex .footer-brand{font-family:var(--serif)}
.footer-insta .footer-brand{font-family:var(--sans);font-weight:700}
.footer-logo-tex{width:47px;height:45px;object-fit:contain;mix-blend-mode:multiply;flex:none}
.footer-v2 .footer-logo-insta{width:48px;height:48px;flex:none}
.footer-v2 .footer-logo-insta img{width:120px;height:120px;left:-34px;top:-14px}
.footer-v2 .footer-brand-note{font-size:12px;line-height:1.8;margin:19px 0 12px;color:var(--accent);max-width:340px}
.footer-v2 .footer-introduction{font-size:14px;line-height:1.8;color:var(--muted);max-width:350px;margin:0 0 24px}
.footer-enquiry{display:inline-flex;align-items:center;gap:35px;justify-content:space-between;padding:13px 18px;min-height:46px;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:var(--paper);font-size:13px;line-height:1.5;transition:background .2s,transform .2s}
.footer-enquiry:hover{background:var(--accent-hover);transform:translateY(-2px)}
.footer-panel-label{font-size:11px!important;letter-spacing:.11em;line-height:1.6!important;color:var(--accent)!important;font-weight:600;margin:0 0 17px!important}
.footer-navigation{padding:18px 0;min-width:0}
.footer-link-grid{display:grid;grid-template-columns:1fr;gap:7px}
.footer-link-grid>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:11px 13px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:13px;line-height:1.5;transition:background .2s,border-color .2s,transform .2s}
.footer-link-grid>a>span:last-child{color:var(--accent);transition:transform .2s}
.footer-link-grid>a:hover{background:var(--accent-wash);border-color:var(--accent)}
.footer-link-grid>a:hover>span:last-child{transform:translate(2px,-2px)}
.footer-reach{min-width:0;padding:22px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--bright);border-radius:12px;box-shadow:0 16px 34px -29px rgba(100,60,30,.4)}
.footer-email-card{display:flex;align-items:center;gap:12px;padding:16px 13px;border:1px solid #c9dfd5;border-radius:7px;background:var(--accent-wash);color:var(--accent);transition:border-color .2s,box-shadow .2s}
.footer-email-card:hover{border-color:var(--accent);box-shadow:0 5px 15px -10px var(--accent)}
.footer-email-symbol{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #b2cec4;border-radius:50%;flex:none;background:var(--paper)}
.footer-v2 svg{display:block;width:18px;height:18px;flex:none}
.footer-email-card>span:nth-child(2){min-width:0;flex:1}
.footer-email-card small{display:block;font-size:9px;letter-spacing:.1em;line-height:1.5;margin-bottom:4px}
.footer-email-card strong{display:block;font-size:clamp(14px,1.35vw,18px);line-height:1.5;font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere}
.footer-email-arrow{font-size:18px;flex:none}
.footer-phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.footer-phone-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:13px 11px;border:1px solid var(--line);border-radius:6px;background:var(--paper);transition:border-color .2s,background .2s}
.footer-phone-card:hover{border-color:var(--accent);background:var(--accent-wash)}
.footer-contact-label{display:flex;align-items:start;gap:6px;font-size:10px;line-height:1.5;color:var(--accent)}
.footer-contact-label svg{width:13px;height:13px;margin-top:2px}
.footer-phone-card strong{font-size:clamp(12px,1.1vw,15px);font-weight:500;line-height:1.5;white-space:nowrap}
.footer-location-list{margin-top:22px}
.footer-location-hint{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:9px!important;letter-spacing:.07em;line-height:1.7!important;color:var(--accent)!important;margin:0 0 10px!important;font-weight:600}
.footer-location{margin-top:8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:hidden}
.footer-location-heading{background:var(--accent-wash);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;min-height:50px;padding:13px;font-size:13px;line-height:1.5;color:var(--ink)}
.footer-location-heading>svg{color:var(--accent);width:16px;height:16px}
.footer-location address{padding:15px 17px 18px;font-style:normal;font-size:13px;line-height:1.85;color:var(--muted)}
.footer-base{margin:25px auto 0;border-top:1px solid var(--line);padding-top:20px;max-width:1600px}
.footer-signoff{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;line-height:1.8;color:var(--muted)}
.footer-signoff small{font-size:11px}
.footer-social,.footer-top-link{color:var(--accent);min-height:38px;display:inline-flex;align-items:center;gap:20px}
.footer-domain{font-size:9px;letter-spacing:.08em;color:var(--accent)}
.footer-v2 .corporate-footer-links{border:0;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.footer-v2 .corporate-footer-links a,.footer-v2 .corporate-footer-links button{min-height:38px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:30px;background:var(--surface);color:var(--accent);padding:8px 12px;font-size:11px;line-height:1.5;text-decoration:none;transition:background .2s,border-color .2s}
.footer-v2 .corporate-footer-links a:hover,.footer-v2 .corporate-footer-links button:hover{background:var(--accent-wash);border-color:var(--accent)}
.footer-in-view>.back-to-top{visibility:hidden;pointer-events:none}
@media(max-width:1100px){
 .footer-layout{grid-template-columns:1fr 1.2fr;gap:26px}
 .footer-identity{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 35px;padding:0 0 10px}
 .footer-brandline,.footer-brand-note{grid-column:1}
 .footer-v2 .footer-introduction{grid-column:2;grid-row:1/3;margin:0;align-self:center}
 .footer-identity .footer-enquiry{grid-column:1;justify-self:start;margin-top:10px}
 .footer-link-grid{grid-template-columns:1fr 1fr}
 .footer-phone-card strong{font-size:14px}
}
@media(max-width:760px){
 .site-footer.footer-v2{padding:29px 6% 20px}
 .footer-layout{grid-template-columns:1fr;gap:20px}
 .footer-identity{grid-column:auto;display:block;padding:0 0 1px}
 .footer-brandline{min-height:48px;gap:10px}
 .footer-v2 .footer-brand{font-size:24px;max-width:calc(100% - 58px)}
 .footer-v2 .footer-brand-note{font-size:12px;line-height:1.7;margin:14px 0 10px}
 .footer-v2 .footer-introduction{font-size:13px;line-height:1.8;margin:0 0 17px;max-width:100%}
 .footer-identity .footer-enquiry{font-size:12px;min-height:44px;padding:11px 15px;gap:40px;margin:0}
 .footer-navigation{padding:4px 0 0}
 .footer-panel-label{font-size:10px!important;margin-bottom:12px!important}
 .footer-link-grid{grid-template-columns:1fr 1fr;gap:8px}
 .footer-link-grid>a{font-size:12px;padding:10px 11px;gap:9px;min-height:46px}
 .footer-insta .footer-link-grid>a:nth-child(3),.footer-insta .footer-link-grid>a:nth-child(4){grid-column:1/-1}
 .footer-reach{padding:18px;border-radius:10px}
 .footer-email-card{padding:13px 10px;gap:9px}
 .footer-email-card strong{font-size:16px}
 .footer-email-symbol{width:30px;height:30px}
 .footer-email-arrow{font-size:16px}
 .footer-email-card small{font-size:9px}
 .footer-phone-grid{gap:8px}
 .footer-phone-card{padding:11px 9px;gap:10px}
 .footer-contact-label{font-size:10px;gap:5px}
 .footer-phone-card strong{font-size:13px}
 .footer-location-list{margin-top:18px}
 .footer-location-hint{font-size:9px!important;gap:8px}
 .footer-location-heading{font-size:13px;min-height:50px;padding:12px}
 .footer-location address{font-size:13px;padding:13px 15px 17px}
 .footer-base{margin-top:22px;padding-top:16px}
 .footer-signoff{gap:5px 20px;font-size:11px}
 .footer-signoff small{font-size:11px;flex:1 1 100%}
 .footer-top-link,.footer-social{font-size:12px;min-height:36px}
 .footer-v2 .corporate-footer-links{gap:7px;margin-top:10px}
 .footer-v2 .corporate-footer-links a,.footer-v2 .corporate-footer-links button{font-size:11px;min-height:38px;padding:8px 11px}
}
@media(prefers-reduced-motion:reduce){.footer-v2 *{transition:none!important}}

.footer-phone-grid:has(>a:only-child){grid-template-columns:1fr}
