/* Public footer: one layout for desktop and mobile, with explicit page gutters. */
body.reference-design .site-footer{background:var(--walin-deep);color:#cbd8e2;padding:0 0 24px;border:0}
body.reference-design .site-footer>.container{width:calc(100% - 64px);max-width:1290px;margin:0 auto;padding-left:0;padding-right:0;min-width:0}
body.reference-design .footer-brand-row{display:flex;align-items:center;justify-content:space-between;gap:24px;height:auto;padding-top:32px;padding-bottom:32px;border-bottom:1px solid #ffffff24}
body.reference-design .footer-brand-row img{display:block;width:166px;height:48px;object-fit:contain}
body.reference-design .footer-brand-row .wd-social{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.reference-design .footer-brand-row .wd-social>span{font-size:12px;margin-right:8px}
body.reference-design .site-footer .box-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff26;border-radius:50%;background:transparent;color:var(--walin-champagne)}
body.reference-design .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:40px;padding-top:40px;padding-bottom:40px}
body.reference-design .footer-grid>div{min-width:0}
body.reference-design .footer-grid h2{font-size:16px!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0;text-transform:uppercase;color:var(--walin-champagne);margin:0 0 20px}
body.reference-design .site-footer :is(p,a){font-size:13px;line-height:1.8;color:#cbd8e2;overflow-wrap:anywhere}
body.reference-design .footer-grid p{margin:12px 0}
body.reference-design .footer-grid>div>a:not(.brand){display:block;margin-bottom:10px}
body.reference-design .site-footer a:hover{color:var(--walin-champagne)}
body.reference-design .site-footer .brand{display:block;font-size:22px;font-weight:600;line-height:1.5;letter-spacing:.04em;color:var(--walin-champagne)}
body.reference-design .site-footer .brand small{display:block;font-size:10px;letter-spacing:.15em;color:#cbd8e2}
body.reference-design .newsletter-form{display:grid;gap:12px;margin:0;min-width:0}
body.reference-design .newsletter-form label{margin:0;font-size:12px;font-weight:400;line-height:1.6;color:#cbd8e2}
body.reference-design .footer-email-control{min-width:0}
body.reference-design .footer-email-field{display:block;position:relative;margin-top:7px;min-width:0}
body.reference-design .newsletter-form input[type=email]{display:block;width:100%;max-width:100%;height:54px;margin:0;padding:14px 60px 14px 18px;box-sizing:border-box;border:1px solid #ffffff30;border-radius:99px;background:#ffffff0a;font-size:13px;line-height:24px;color:#fff}
body.reference-design .newsletter-form input::placeholder{color:#9eafbc;opacity:1}
body.reference-design .site-footer .newsletter-form .button{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:42px;height:42px;min-height:42px;margin:0;padding:0;border:0;border-radius:50%;background:var(--walin-gold);color:var(--walin-deep)}
body.reference-design .newsletter-form .button .action-arrow{width:18px;height:18px;margin:0}
body.reference-design .newsletter-form .check{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.6}
body.reference-design .newsletter-form .check input{flex-shrink:0;width:16px;height:16px;margin:2px 0 0;accent-color:var(--walin-gold)}
body.reference-design .copyright{border-top:1px solid #ffffff24;padding-top:24px;padding-bottom:0;font-size:11px;line-height:1.8;color:#afc0cd;overflow-wrap:anywhere}
body.reference-design .copyright a{font-size:inherit}
@media(max-width:1024px){body.reference-design .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:600px){
 body.reference-design .site-footer>.container{width:calc(100% - 40px)}
 body.reference-design .footer-brand-row{padding-top:24px;padding-bottom:24px;gap:16px;flex-wrap:wrap}
 body.reference-design .footer-brand-row .wd-social{gap:8px}
 body.reference-design .footer-brand-row .wd-social>span{display:none}
 body.reference-design .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:28px;padding-bottom:28px;gap:28px 20px}
 body.reference-design .footer-grid>div:first-child,body.reference-design .footer-grid>div:last-child{grid-column:1/-1}
 body.reference-design .footer-grid h2{font-size:13px!important;margin-bottom:16px}
 body.reference-design .copyright{padding-top:20px;padding-bottom:120px}
}
@media(max-width:380px){body.reference-design .site-footer>.container{width:calc(100% - 32px)}body.reference-design .footer-brand-row img{width:145px;height:42px}}
