/* Shared usability refinements: branded controls, readable content, responsive support. */
:root{--ui-ink:#222528;--ui-muted:#55564f;--ui-gold:#89662d;--ui-border:#dedbd3}
.prose p,.prose li,.contact-cards p,.detail-aside p{color:var(--ui-muted);font-size:17px;line-height:1.85}
.image-note,.form-note{color:#626159}
.ui-icon{width:22px;height:22px;flex:0 0 22px;vertical-align:middle;pointer-events:none}
a[href^="tel:"]{display:inline-flex;align-items:center;gap:10px;font-weight:650;flex-wrap:wrap}
a[href^="tel:"]>span{overflow-wrap:anywhere}
a.action-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 21px;border:1px solid var(--ui-border);border-radius:9px;background:#fff;color:#292c2c;font-size:13px;font-weight:750;line-height:1.4;letter-spacing:.25px;text-transform:none;transition:background .22s,color .22s,border-color .22s,box-shadow .22s}
a.action-link:hover{background:#222528;color:#fff;border-color:#222528;box-shadow:0 7px 18px #22252816}
a.action-link:after{display:none}
a.action-link .ui-icon{width:19px;height:19px}
.project-caption a.action-link{background:#fff;color:#222528;padding:12px 18px}
.action-link.round-arrow{width:auto;height:auto;position:static}
.detail-aside{padding:28px!important;background:#fff!important;border:1px solid var(--ui-border);border-radius:18px;box-shadow:0 12px 38px #22252808;align-self:start}
.detail-aside>h3{font-size:25px;margin:0 0 22px!important;line-height:1.25}
.detail-aside>a{display:flex!important;align-items:center;justify-content:space-between;gap:15px;padding:17px 16px!important;margin:0 0 8px;border:1px solid #e8e5de!important;border-radius:9px;background:#faf9f6;font-size:15px!important;line-height:1.55;font-weight:600;color:#323631!important;transition:background .2s,border-color .2s}
.detail-aside>a:hover,.detail-aside>a[aria-current]{background:#f2eadc;border-color:#c3a66f!important;color:#765221!important}
.detail-aside .aside-cta{padding:26px!important;margin-top:27px!important;border-radius:13px!important;background:linear-gradient(140deg,#303535,#1e2222)!important}
.aside-cta h3{color:white;font-size:27px;line-height:1.2;margin:0 0 18px}
.detail-aside .aside-cta p{color:#e2e0d8;font-size:15px;line-height:1.75}
.aside-cta a[href^="tel:"]{margin-top:18px;background:#e5cd9d;color:#222528!important;border-radius:8px;padding:13px 15px;font-size:16px!important;gap:8px;width:100%}
.contact-cards{gap:24px!important;align-items:stretch}
.contact-cards>article{background:#fff;padding:30px!important;border:1px solid #e2dfd7!important;border-radius:16px;box-shadow:0 8px 32px #22252805;display:flex;flex-direction:column;align-items:flex-start}
.contact-symbol{width:54px;height:54px;border-radius:14px;background:#f3ecde;color:#80602d;display:grid;place-items:center;margin-bottom:22px}
.contact-symbol .ui-icon{width:26px;height:26px}
.contact-cards>article>span{font-size:12px!important;letter-spacing:1px;color:#765727!important;font-weight:700}
.contact-cards h3{font-size:22px!important;line-height:1.4;margin:20px 0 15px!important;overflow-wrap:anywhere}
.contact-cards p{font-size:16px;margin:0 0 24px}
.contact-cards .action-link{margin-top:auto}
.support-rail{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:80;display:flex;flex-direction:column;gap:9px}
.support-rail>a,.support-rail>button{position:relative;display:flex;align-items:center;justify-content:center;width:47px;height:47px;border:1px solid #dedbd3;border-radius:13px;background:#fff;color:#292d2b;box-shadow:0 4px 16px #00000015;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.support-rail .support-whatsapp{background:#187e43;color:#fff;border-color:#187e43}
.support-rail>a:hover,.support-rail>button:hover{transform:translateX(3px);background:#222528;color:white}
.support-rail span{position:absolute;left:58px;background:#222528;color:#fff;border-radius:7px;padding:9px 12px;font-size:13px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .18s}
.support-rail :is(a,button):is(:hover,:focus-visible) span{opacity:1;visibility:visible}
.menu-open .support-rail{visibility:hidden}
.social-dialog{max-width:430px;width:calc(100% - 40px);border:0;border-radius:18px;padding:38px;color:#222528;box-shadow:0 30px 100px #0004}
.social-dialog::backdrop{background:#15181899;backdrop-filter:blur(5px)}
.social-dialog h2{font-size:27px;margin:0 25px 20px 0}
.social-dialog p{font-size:16px;line-height:1.75;margin-bottom:24px}
.social-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}
.nav-sub{border:1px solid #e5e1d8!important;border-radius:14px!important;padding:12px!important;box-shadow:0 20px 55px #10161524!important;transform-origin:top center;transition:opacity .22s ease,visibility .22s,transform .3s cubic-bezier(.2,.7,.3,1)!important}
.nav-sub a{border-radius:7px;padding:13px 15px!important;font-weight:600;font-size:14px!important;transition:background .2s,color .2s}
.nav-sub a:hover,.nav-sub a:focus-visible{background:#f2ecdf!important;color:#795822!important}
.drawer{box-shadow:-30px 0 80px #0002;border-left:1px solid #e2ddd1}
.drawer .mobile-group{border-radius:9px;background:#f6f4ef;padding:0 14px;margin:7px 0}
.drawer .mobile-group a{font-size:15px;line-height:1.5;padding:12px 10px}
.clickable-card{cursor:pointer}
.clickable-card:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b59152;outline-offset:5px}
@media(min-width:1200px){.support-rail{left:12px}.support-rail>a,.support-rail>button{width:42px;height:44px}}
@media(max-width:767px){body{padding-bottom:76px}.support-rail{top:auto;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);flex-direction:row;gap:7px;background:#ffffffee;border:1px solid #dedbd3;padding:7px;border-radius:18px;box-shadow:0 7px 28px #0002;backdrop-filter:blur(12px)}.support-rail>a,.support-rail>button{width:48px;height:45px;border-radius:11px;box-shadow:none}.support-rail span{display:none}.detail-aside{padding:22px!important}.contact-cards>article{padding:25px!important}.contact-cards{gap:18px!important}.contact-cards h3{font-size:21px!important}.contact-cards h3 a[href^="tel:"]{gap:7px}.prose p,.prose li{font-size:16px}.action-link{max-width:100%}.back-top{bottom:100px!important}}
@media(prefers-reduced-motion:reduce){.nav-sub,.support-rail>*{transition:none!important}}

.support-rail svg[viewBox="0 0 16 16"]{fill:currentColor!important;stroke:none!important}
