/* A visible reflection in the lettering, without moving the button itself. */
.hero-actions .reflective-cta,.site-header .reflective-cta{--cta-base:#f3f3f3;--cta-reflection:#ffffff}
.cta-label{background-image:linear-gradient(108deg,var(--cta-base) 36%,var(--cta-reflection) 48%,var(--cta-reflection) 50%,var(--cta-base) 62%);animation-name:cta-reflection-clear;animation-duration:6s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
@keyframes cta-reflection-clear{0%{background-position:150% 0}30%,100%{background-position:-50% 0}}
.system-menu .menu-services{margin-top:18px;padding-top:17px;border-top:1px solid #24221e1a;border-bottom:0;justify-content:space-between;color:var(--accent)}
.system-menu .menu-services>span{font-size:14px;opacity:1}
.system-menu a{text-transform:uppercase}

/* One quiet company footer shared by the homepage and the service pages. */
.closing footer.site-footer{display:block;padding:52px 0 24px;font-family:var(--sans);font-size:14px;line-height:1.6;letter-spacing:0;text-transform:none}
.site-footer .footer-top{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:64px;padding-bottom:52px;align-items:start}
.site-footer .footer-identity .footer-brand{display:inline-block;width:auto;margin:0 0 22px;color:#f5f3f0}
.site-footer .footer-brand .represent-logo-window{width:190px}
.site-footer .footer-brand .represent-wordmark{width:190px;height:35px}
.site-footer .footer-identity p{color:#cfc2c2;font:14px/22px var(--sans);margin:0}
.site-footer .footer-label{display:block;font:11px/16px var(--mono);letter-spacing:.035em;color:#a99194;margin-bottom:20px;text-transform:uppercase}
.site-footer .footer-links a{display:block;width:fit-content;font:12px/20px var(--mono);margin-top:11px;text-transform:uppercase}
.site-footer a{color:#e6dad9;transition:color .2s}
.site-footer a:hover{color:#fff}
.site-footer .footer-contact>a{display:inline-flex;gap:18px;align-items:center;font:15px/22px var(--sans)}
.site-footer address{font-style:normal;font:14px/22px var(--sans);color:#cfc2c2;margin-top:23px}
.site-footer .footer-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:24px;border-top:0;color:#bba9aa}
/* Extend only the divider beyond the content column, without horizontal overflow. */
.site-footer .footer-bottom::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:#ffffff26;box-shadow:0 0 0 100vmax #ffffff26;clip-path:inset(0 -100vmax);pointer-events:none}
.site-footer .footer-bottom p{font:12px/20px var(--sans);margin:0}
.site-footer .footer-bottom p>span{margin-left:24px}
.site-footer .footer-bottom nav{display:flex;gap:28px}
.site-footer .footer-bottom nav a{font:10px/20px var(--mono);text-transform:uppercase}
.site-footer .footer-bottom nav a:last-child{font:10px/20px var(--mono);text-transform:uppercase}

.utility-page{padding-top:180px;padding-bottom:90px;min-height:65vh}
.utility-page h1{font:400 56px/1.08 var(--serif);letter-spacing:-.04em;max-width:800px;margin-bottom:32px}
.utility-lead{font:17px/26px var(--sans);max-width:650px;color:var(--body);margin-bottom:50px}
.sitemap-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sitemap-group{background:#ffffff73;border-radius:16px;padding:32px}
.sitemap-group h2{font:400 25px/31px var(--serif);margin-bottom:20px}
.sitemap-group a{display:block;padding:13px 0;border-top:1px solid var(--line);font:15px/22px var(--sans)}
.sitemap-group a:hover{color:#8b1730}
.utility-lead>a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a79f96}
.policy-pending{padding:28px 32px;border:1px dashed #bcb5ae;border-radius:12px;max-width:700px;background:#ffffff50}
.policy-pending>span{font:11px/18px var(--mono);color:#77736c}
.policy-pending>p{font:15px/24px var(--sans);margin-top:12px;color:var(--body)}

@media(max-width:900px){
 .site-footer .footer-top{gap:32px;grid-template-columns:1fr 1fr}
 .site-footer .footer-identity{grid-column:1/-1}
 .site-footer .footer-bottom{align-items:start}
 .site-footer .footer-bottom p>span{display:block;margin:4px 0 0}
 .site-footer .footer-bottom nav{gap:20px}
}
@media(max-width:800px){.closing-copy{padding-top:28px}}
@media(max-width:600px){
 .closing footer.site-footer{padding-top:38px;padding-bottom:24px}
 .site-footer .footer-top{gap:34px 24px;padding-bottom:34px;grid-template-columns:1fr 1.25fr}
 .site-footer .footer-brand .represent-logo-window{width:160px}
 .site-footer .footer-brand .represent-wordmark{width:160px;height:30px}
 .site-footer .footer-contact>a{font-size:13px;gap:8px;flex-wrap:wrap}
 .site-footer .footer-label{font-size:10px;margin-bottom:16px}
 .site-footer .footer-links a{font-size:11px;line-height:20px}.site-footer address{font-size:13px;line-height:21px}
 .site-footer .footer-bottom{display:block}
 .site-footer .footer-bottom nav{margin-top:22px;flex-wrap:wrap;gap:12px 24px}
 .utility-page{padding-top:145px;padding-bottom:60px}
 .utility-page h1{font-size:42px}
 .sitemap-grid{grid-template-columns:1fr}
 .sitemap-group{padding:24px}
}
@media(prefers-reduced-motion:reduce){.cta-label{animation:none;background:none;color:var(--cta-base)}}
