#shared-footer, #shared-footer * { box-sizing: border-box; }
#shared-footer { position: relative; isolation: isolate; overflow: hidden; color: #f7f3ec; background: radial-gradient(circle at 82% 12%, rgba(184,164,138,.13), transparent 30rem), #151613; font-family: 'DM Sans', Arial, sans-serif; }
#shared-footer::before { content: 'M'; position: absolute; z-index: -1; right: -.04em; bottom: -.3em; color: rgba(255,255,255,.018); font: 400 clamp(22rem,55vw,58rem)/.75 'Cormorant Garamond',Georgia,serif; pointer-events: none; }
.rb-footer__frame { width: min(calc(100% - 2.5rem),1440px); margin: 0 auto; padding: clamp(5rem,9vw,9rem) 0 1.5rem; }
.rb-footer__eyebrow { display: flex; align-items: center; gap: .85rem; margin: 0 0 1.4rem; color: #b8a48a; font-size: .65rem; letter-spacing: .24em; text-transform: uppercase; }
.rb-footer__eyebrow::before { content: ''; width: 2.5rem; height: 1px; background: currentColor; }
.rb-footer__cta { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 2rem; min-width: 0; padding-bottom: clamp(4rem,8vw,7rem); border-bottom: 1px solid rgba(247,243,236,.16); }
.rb-footer__title { max-width: 1050px; min-width: 0; margin: 0; font: 400 clamp(3.4rem,8.2vw,8.6rem)/.82 'Cormorant Garamond',Georgia,serif; letter-spacing: -.035em; }
.rb-footer__title em { color: #b8a48a; font-weight: 300; }
.rb-footer__project-link { display: grid; place-items: center; width: clamp(5rem,9vw,8rem); aspect-ratio: 1; color: #151613; background: #b8a48a; border-radius: 50%; text-decoration: none; transition: transform .45s cubic-bezier(.16,1,.3,1), background-color .3s ease; }
.rb-footer__project-link svg { width: 30%; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.rb-footer__project-link:hover { background: #f7f3ec; transform: scale(1.06); }
.rb-footer__project-link:hover svg { transform: translate(15%,-15%); }
.rb-footer__content { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.25fr; gap: clamp(2rem,5vw,6rem); padding: clamp(3.5rem,6vw,6rem) 0; }
.rb-footer__brand { margin: 0; font: 500 1.05rem/1.2 'Cormorant Garamond',Georgia,serif; letter-spacing: .2em; text-transform: uppercase; }
.rb-footer__note { max-width: 22rem; margin: 1.25rem 0 0; color: rgba(247,243,236,.55); font-size: .78rem; line-height: 1.7; }
.rb-footer__label { display: block; margin-bottom: 1.25rem; color: rgba(247,243,236,.42); font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; }
.rb-footer__list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.rb-footer__list a, .rb-footer__contact a { position: relative; width: fit-content; color: rgba(247,243,236,.82); font-size: .77rem; line-height: 1.4; text-decoration: none; }
.rb-footer__contact { display: grid; align-content: start; gap: .8rem; font-style: normal; }
.rb-footer__socials { display: flex; flex-wrap: wrap; gap: .65rem 1.1rem; margin-top: 1.4rem; }
.rb-footer__socials a { color: #b8a48a; font-size: .6rem; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.rb-footer__bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid rgba(247,243,236,.16); color: rgba(247,243,236,.42); font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.rb-footer__credit { text-align: center; }
.rb-footer__credit a, .rb-footer__legal a { position: relative; color: rgba(247,243,236,.72); text-decoration: none; }
.rb-footer__legal { display: flex; justify-content: flex-end; gap: 1.25rem; }
.rb-footer__list a::after, .rb-footer__contact>a::after, .rb-footer__legal a::after, .rb-footer__credit a::after { content: ''; position: absolute; right: 0; bottom: -.22rem; left: 0; height: 1px; background: #b8a48a; transform: scaleX(0); transform-origin: right; transition: transform .35s cubic-bezier(.16,1,.3,1); }
.rb-footer__list a:hover::after, .rb-footer__contact>a:hover::after, .rb-footer__legal a:hover::after, .rb-footer__credit a:hover::after { transform: scaleX(1); transform-origin: left; }
@media (max-width: 900px) { .rb-footer__cta { grid-template-columns: 1fr; } .rb-footer__project-link { margin-left: auto; } .rb-footer__content { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .rb-footer__frame { width: min(calc(100% - 2rem),1440px); padding-top: 4.5rem; } .rb-footer__title { font-size: clamp(2.8rem,13vw,4rem); line-height: .9; } .rb-footer__project-link { justify-self: start; width: 4.75rem; height: 4.75rem; margin: .75rem 0 0; } .rb-footer__content { grid-template-columns: 1fr; gap: 2.5rem; } .rb-footer__bottom { grid-template-columns: 1fr; text-align: center; } .rb-footer__legal { justify-content: center; } .rb-footer__credit { grid-row: 3; } }
