/* About and Contact: a shared atmosphere, individual compositions. */
.rf-inner-premium { position: relative; isolation: isolate; overflow: hidden; padding: 148px 0 56px; background: radial-gradient(circle, #ffffff21 0 1px, transparent 1.15px), linear-gradient(145deg, #303030, #242424 58%, #1d1d1d); background-size: 10px 10px, auto; color: #faf7f3; }
.rf-inner-premium > .services-wave-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .58; pointer-events: none; }
.rf-inner-premium-shell { position: relative; z-index: 2; width: min(1280px, calc(100% - 72px)); margin-inline: auto; }
.rf-premium-topline { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 22px; border-bottom: 1px solid #ffffff26; color: #b7afa7; font-size: 10px; letter-spacing: .1em; }
.rf-premium-topline span:last-child { font-size: 12px; letter-spacing: 0; }
.rf-premium-kicker { margin: 0 0 26px; color: #c9c2bb; font-size: 12px; letter-spacing: .045em; }
.rf-inner-premium h1 { max-width: 900px; margin: 0; color: #faf7f3; font: 500 clamp(48px, 6vw, 88px)/1.08 'Manrope', sans-serif; letter-spacing: -.06em; }
.rf-inner-premium h1 em, .rf-inner-premium h1 > span { color: #ff8558; font-style: normal; }
.rf-premium-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; min-height: 54px; margin-top: 32px; padding: 16px 22px; border-radius: 4px; background: #ff8558; color: #171717 !important; font-size: 14px; font-weight: 600; text-decoration: none; }
.rf-premium-button:hover { background: #ffd0bd; }
.rf-inner-premium a:focus-visible { outline: 2px solid #ff8558; outline-offset: 6px; }
.rf-studio-hero-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .7fr); gap: 80px; align-items: end; padding: 62px 0; }
.rf-studio-perspective { padding-left: 28px; border-left: 1px solid #ffffff26; }
.rf-studio-monogram { display: block; position: relative; color: #ff8558; font: 500 96px/1 'Manrope', sans-serif; letter-spacing: -.1em; margin-bottom: 28px; }
.rf-studio-monogram span { position: absolute; top: 0; margin-left: 14px; font-size: 22px; }
.rf-studio-perspective p { margin: 0; color: #c3bab1; font-size: 16px; line-height: 1.75; }
.rf-studio-perspective a { display: inline-flex; gap: 24px; margin-top: 24px; padding-bottom: 8px; border-bottom: 1px solid #ff855877; color: #faf7f3; font-size: 13px; text-decoration: none; }
.rf-studio-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding-top: 28px; border-top: 1px solid #ffffff26; }
.rf-studio-values span { display: flex; gap: 18px; color: #ff8558; font-size: 10px; }
.rf-studio-values b { color: #d4ccc4; font-size: 13px; font-weight: 500; }
.rf-conversation-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, .65fr); gap: 72px; align-items: center; padding: 62px 0; }
.rf-conversation-intro { max-width: 560px; margin: 28px 0 0; color: #c3bab1; font-size: 17px; line-height: 1.75; }
.rf-conversation-note { padding: 32px; border: 1px solid #ffffff30; border-radius: 4px 40px 4px 4px; background: #151515d9; transform: rotate(2deg); }
.rf-note-number { color: #ff8558; font-size: 10px; letter-spacing: .1em; }
.rf-conversation-note h2 { margin: 28px 0 18px; color: #faf7f3; font-size: 30px; font-weight: 500; line-height: 1.15; letter-spacing: -.035em; }
.rf-conversation-note p { margin: 0; color: #b9b1a9; font-size: 14px; line-height: 1.7; }
.rf-conversation-note a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: 28px; padding-top: 18px; border-top: 1px solid #ffffff25; color: #ff8558; font-size: 14px; overflow-wrap: anywhere; text-decoration: none; }
.rf-conversation-note small { display: block; margin-top: 10px; color: #aaa29a; font-size: 11px; }
.rf-conversation-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding-top: 24px; border-top: 1px solid #ffffff26; font-size: 10px; color: #b9b1a9; letter-spacing: .06em; }
.rf-conversation-footer a { color: #d4ccc4; text-decoration: none; letter-spacing: 0; }
/* Crisp footer marks on coral; social logos remain recognisable at small sizes. */
.site-footer .rf-footer-brand img, .site-footer .rf-footer-mark img { filter: brightness(0) invert(1) !important; opacity: 1; object-fit: contain; }
.site-footer .rf-footer-brand img { width: 48px; height: 48px; flex-shrink: 0; }
.site-footer .rf-footer-social { color: #fff !important; background: #1b1b1b !important; border: 1px solid #ffffff33; }
.site-footer .rf-footer-social svg { width: 18px; height: 18px; fill: currentColor; opacity: 1; }
/* Legal documents use a measured reading column, not the generic article grid. */
.rf-legal-heading { padding: 146px 24px 56px; background: #181818; color: #f7f4ef; }
.rf-legal-heading > div { width: min(840px, 100%); margin-inline: auto; }
.rf-legal-heading div > p:first-child { margin: 0 0 24px; color: #ff8558; font-size: 10px; letter-spacing: .14em; }
.rf-legal-heading h1 { margin: 0; color: #f7f4ef; font: 500 clamp(38px, 5vw, 64px)/1.1 'Manrope', sans-serif; letter-spacing: -.05em; }
.rf-legal-heading div > p:nth-of-type(2) { max-width: 600px; margin: 22px 0; color: #b9b4ad; font-size: 17px; line-height: 1.65; }
.rf-legal-heading span { color: #aaa49d; font-size: 12px; }
.rf-legal-document { padding: 56px 24px 88px; background: #fbfaf8; }
.rf-legal-layout { width: min(840px, 100%); margin-inline: auto; text-align: left; }
.rf-legal-summary { margin: 0 0 40px; padding: 24px; border: 1px solid #eaded7; border-left: 3px solid #ff8558; border-radius: 6px; background: #fff; }
.rf-legal-summary p { margin: 0; }
.rf-legal-content section { margin-top: 34px; padding-top: 28px; border-top: 1px solid #e6e0da; scroll-margin-top: 110px; }
.rf-legal-content h2 { margin: 0 0 16px; color: #212121; font: 600 clamp(22px, 3vw, 27px)/1.3 'Manrope', sans-serif; letter-spacing: -.03em; }
.rf-legal-content p, .rf-legal-content li, .rf-legal-summary p { color: #51504e; font-size: 16px; line-height: 1.85; }
.rf-legal-content p { margin: 0 0 16px; }
.rf-legal-content ul { margin: 12px 0 20px; padding-left: 24px; }
.rf-legal-content li { margin-bottom: 8px; }
.rf-legal-content a, .rf-legal-summary a { color: #783d26; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.rf-legal-content strong { color: #292724; }
@media (max-width: 900px) {
 .rf-inner-premium { padding-top: 126px; padding-bottom: 40px; }
 .rf-inner-premium-shell { width: calc(100% - 48px); }
 .rf-studio-hero-layout, .rf-conversation-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; padding: 40px 0; }
 .rf-studio-perspective { max-width: 600px; }
 .rf-studio-monogram { display: none; }
 .rf-conversation-note { max-width: 440px; transform: none; }
}
@media (max-width: 520px) {
 .rf-inner-premium-shell { width: calc(100% - 36px); }
 .rf-premium-topline span:last-child { display: none; }
 .rf-inner-premium h1 { font-size: clamp(38px, 10vw, 52px); }
 .rf-studio-values { grid-template-columns: 1fr; gap: 18px; }
 .rf-conversation-intro { font-size: 16px; }
 .rf-premium-button { gap: 22px; font-size: 13px; }
 .rf-legal-heading { padding: 126px 20px 40px; }
 .rf-legal-document { padding: 32px 20px 64px; }
 .rf-legal-summary { padding: 20px; }
}
/* Keep document typography independent of large marketing headings. */
.rf-legal-document .rf-legal-content h2 { font-size: clamp(22px, 3vw, 27px) !important; line-height: 1.3 !important; letter-spacing: -.03em !important; text-transform: none !important; }
.rf-legal-document p, .rf-legal-document li { font-size: 16px !important; line-height: 1.85 !important; text-align: left !important; }
