/* RedCloudApp theme. Layout follows the supplied Graviton-style mockups, recoloured to the RedCloudApp logo red. */
@font-face { font-family: "DM Sans"; font-weight: 400 700; font-style: normal; font-display: swap; src: url("../fonts/dmsans-400-700.woff2") format("woff2"); }
@font-face { font-family: Barlow; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/barlow-400.woff2") format("woff2"); }
@font-face { font-family: Barlow; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/barlow-500.woff2") format("woff2"); }
@font-face { font-family: Barlow; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/barlow-600.woff2") format("woff2"); }

:root {
  --rca-red: #a62932;
  --rca-red-dark: #8b202a;
  --rca-red-soft: #f6e3e5;
  --rca-red-tint: #ff9aa2;
  --rca-ink: #141214;
  --rca-dark: #1d1b1e;
  --rca-dark-2: #262327;
  --rca-grey: #f3f3f3;
  --rca-grey-2: #ececec;
  --rca-line: #d7d7d7;
  --rca-text: #666;
  --rca-head: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --rca-body: Barlow, system-ui, -apple-system, "Segoe UI", sans-serif;
  --rca-ease: cubic-bezier(.645, .045, .355, 1);
  --rca-out: cubic-bezier(.2, .7, .2, 1);
  --rca-wrap: 1200px;
  --rca-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>");
  --rca-blueprint: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' fill='none' stroke='white' stroke-width='1'><rect x='20' y='20' width='360' height='260'/><path d='M20 120h140v160M160 20v60M240 20v100h140M240 180v100M160 200h80M300 120v60h80M60 60h60v40H60z'/><circle cx='300' cy='232' r='30'/><path d='M20 20l140 100M380 20L240 120M200 20v-12M20 150H8M392 150h-12M200 292v-12' stroke-dasharray='4 6'/><path d='M60 250h60M60 250v-40'/></svg>");
  --rca-lineart: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 320' fill='none' stroke='white' stroke-width='1'><path d='M40 300V130l130-70 130 70v170M40 130l130 45 130-45M170 175v125M70 145v155M100 155v145M130 165v135M205 165v135M240 155v145M270 145v155M40 200l130 35 130-35M40 250l130 25 130-25M170 60V20M170 20l200 40v240M300 130l70-20M300 200l70-15M300 260l70-10'/></svg>");
}

html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--rca-text); font-family: var(--rca-body); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
h1, h2, h3, h4, h5, h6 { color: var(--rca-ink); font-family: var(--rca-head); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
a { color: var(--rca-red); }
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--rca-red); outline-offset: 3px; }
.rca-skip { position: absolute; left: 1rem; top: -5rem; z-index: 10000; padding: .7rem 1rem; background: #fff; color: var(--rca-ink); }
.rca-skip:focus { top: 1rem; }

/* WordPress flow layout adds 24px top margins to every block; designed sections set their own spacing. */
.wp-site-blocks > *, .rca-main > *, .rca-s :where(.wp-block-group) > *, .rca-s > *, .rca-footer :where(.wp-block-group) > *, .rca-footer > *, .rca-header-wrap > *, .rca-header > * { margin-block: 0; }
.rca-main { overflow: clip; }
.rca-container { width: 100%; max-width: calc(var(--rca-wrap) + 2.5rem); margin-inline: auto; padding-inline: 1.25rem; }
.rca-s { position: relative; padding-block: clamp(4.5rem, 8vw, 7.5rem); }

/* Photos: every designed photo reads a --rca-img-* variable (Appearance → Customize → Page images). */
.rca-photo { width: 100%; height: 100%; min-height: inherit; background: var(--photo) center / cover no-repeat, var(--rca-grey-2); }
.rca-parallax { --ps: 1.16; }
.rca-parallax, .rca-tilt { transform: perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translate3d(0, var(--py, 0px), 0) scale(var(--ps, 1)); will-change: transform; }
.rca-tilt { transition: transform .35s ease-out; }

/* ---------- Header ---------- */
.rca-topbar { background: var(--rca-ink); color: #cfcfcf; font-size: 13px; }
.rca-topbar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1.5rem; max-width: 1560px; min-height: 44px; margin: 0 auto; padding: .45rem 1.25rem; }
.rca-topbar__welcome { display: flex; align-items: center; gap: .6rem; margin: 0; color: #fff; }
.rca-topbar__welcome::before { content: ''; width: 6px; height: 6px; background: var(--rca-red); }
.rca-topbar__links { display: flex; flex-wrap: wrap; gap: .4rem 1.75rem; margin: 0; padding: 0; list-style: none; }
.rca-topbar a { display: inline-flex; align-items: center; gap: .6rem; color: #e8e8e8; text-decoration: none; transition: color .2s; }
.rca-topbar a:hover { color: #fff; }
.rca-topbar__icon { display: grid; place-items: center; width: 26px; height: 26px; background: #2e2b2f; color: #fff; transition: background-color .25s var(--rca-ease); }
.rca-topbar a:hover .rca-topbar__icon { background: var(--rca-red); }
.rca-header-wrap { position: relative; z-index: 50; }
.rca-header { display: flex; align-items: stretch; gap: 1rem; min-height: 80px; background: #f5f5f5; box-shadow: 0 1px 0 #0000000f; }
.rca-header.is-stuck { position: fixed; inset: 0 0 auto; z-index: 60; background: #fffffff5; box-shadow: 0 10px 30px #0000001a; backdrop-filter: blur(8px); animation: rca-drop .45s var(--rca-out); }
.admin-bar .rca-header.is-stuck { top: 32px; }
@media (max-width: 782px) { .admin-bar .rca-header.is-stuck { top: 46px; } }
@keyframes rca-drop { from { transform: translateY(-100%); } to { transform: none; } }
.rca-logo { display: inline-flex; align-items: center; gap: .9rem; color: var(--rca-ink); font-family: var(--rca-head); font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; text-decoration: none; }
.rca-logo__mark { display: grid; place-items: center; width: 80px; align-self: stretch; min-height: 80px; background: var(--rca-red); color: #fff; transition: background-color .3s var(--rca-ease); }
.rca-logo:hover .rca-logo__mark { background: var(--rca-ink); }
.rca-header .rca-logo { align-self: stretch; }
.rca-header .rca-nav { flex: 1 1 auto; align-self: center; margin-left: clamp(.5rem, 2vw, 2rem); }
.rca-header .rca-nav .wp-block-navigation__container { gap: .25rem clamp(1rem, 2.4vw, 2.6rem); }
/* Six menu items plus the search and CTA must share one row on small desktops. */
@media (min-width: 64rem) and (max-width: 79.99rem) {
  .rca-header .rca-nav { margin-left: .5rem; }
  .rca-header .rca-nav .wp-block-navigation__container { column-gap: 1rem; }
  .rca-header .rca-nav a { font-size: 13px; letter-spacing: .03em; }
  .rca-header .rca-header__cta { padding: 0 1.25rem; }
}
.rca-nav a { position: relative; color: var(--rca-ink); font-family: var(--rca-head); font-size: 14px; font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.rca-header .rca-nav .wp-block-navigation-item__content { padding-block: .6rem; }
.rca-header .rca-nav .wp-block-navigation-item__content::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--rca-red); transform: scaleX(0); transform-origin: right; transition: transform .3s var(--rca-ease); }
.rca-header .rca-nav .wp-block-navigation-item__content:hover { color: var(--rca-red); }
.rca-header .rca-nav .wp-block-navigation-item__content:hover::after, .rca-header .rca-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); transform-origin: left; }
.rca-header .wp-block-navigation__responsive-container-open { color: var(--rca-ink); }
.rca-header .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 1.5rem; background: #fff; }
.rca-header__search { display: none; place-items: center; align-self: center; width: 44px; height: 44px; background: #fff; color: var(--rca-ink); transition: background-color .25s, color .25s; }
.rca-header__search:hover { background: var(--rca-ink); color: #fff; }
.rca-header__cta { display: none; align-items: center; gap: 1rem; padding: 0 2.25rem; background: var(--rca-red); color: #fff; font-family: var(--rca-head); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: background-color .3s var(--rca-ease); }
.rca-header__cta-icon { display: grid; place-items: center; width: 34px; height: 34px; background: var(--rca-ink); transition: transform .3s var(--rca-ease), background-color .3s; }
.rca-header__cta:hover { background: var(--rca-ink); color: #fff; }
.rca-header__cta:hover .rca-header__cta-icon { background: var(--rca-red); transform: rotate(45deg); }
@media (max-width: 599px) { .rca-logo__mark { width: 64px; min-height: 64px; } .rca-header { min-height: 64px; } .rca-logo__text { font-size: 1.1rem; } .rca-header .rca-nav { flex: 0 0 auto; margin-left: auto; margin-right: 1rem; } .rca-topbar { display: none; } }

/* ---------- Buttons ---------- */
.rca-actions { display: flex; flex-wrap: wrap; gap: .9rem; }
.rca-actions--center { justify-content: center; margin-top: 2rem; }
.rca-btn .wp-block-button__link { position: relative; display: inline-flex; align-items: center; min-height: 56px; padding: 0 76px 0 30px; border: 0; border-radius: 0; background: var(--rca-red); color: #fff; font-family: var(--rca-head); font-size: 13px; font-weight: 700; letter-spacing: .1em; line-height: 1.2; text-decoration: none; text-transform: uppercase; box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--rca-red); transition: background-color .3s var(--rca-ease), color .3s var(--rca-ease), box-shadow .3s var(--rca-ease); }
.rca-btn .wp-block-button__link::before { content: ''; position: absolute; top: 6px; right: 6px; bottom: 6px; width: 44px; background: var(--rca-ink); transition: background-color .3s var(--rca-ease); }
.rca-btn .wp-block-button__link::after { content: ''; position: absolute; top: 50%; right: 20px; width: 16px; height: 16px; margin-top: -8px; background: #fff; -webkit-mask: var(--rca-arrow) center / contain no-repeat; mask: var(--rca-arrow) center / contain no-repeat; transform: rotate(-45deg); transition: transform .3s var(--rca-ease), background-color .3s var(--rca-ease); }
.rca-btn .wp-block-button__link:hover { background: var(--rca-ink); color: #fff; box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--rca-ink); }
.rca-btn .wp-block-button__link:hover::before { background: #fff; }
.rca-btn .wp-block-button__link:hover::after { background: var(--rca-ink); transform: rotate(0deg); }
.rca-btn--light .wp-block-button__link { background: #fff; color: var(--rca-ink); box-shadow: 0 0 0 1px var(--rca-line); }
.rca-btn--light .wp-block-button__link:hover { background: var(--rca-red); box-shadow: 0 0 0 1px var(--rca-red); }
.rca-btn--light .wp-block-button__link:hover::after { background: var(--rca-red); }
.rca-more { display: inline-flex; align-items: center; gap: .4rem; color: var(--rca-ink); font-family: var(--rca-head); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: color .25s; }
.rca-more__icon svg { display: block; width: 15px; height: 15px; transition: transform .3s var(--rca-ease); }
.rca-more:hover { color: var(--rca-red); }
.rca-more:hover .rca-more__icon svg { transform: rotate(45deg); }
.rca-link { color: var(--rca-ink); font-weight: 600; text-underline-offset: .3em; }
.rca-link:hover { color: var(--rca-red); }

/* ---------- Headings ---------- */
.rca-eyebrow { display: flex; align-items: center; gap: .75rem; color: #8b8b8b; font-family: var(--rca-body); font-size: 13px; font-weight: 500; letter-spacing: .28em; line-height: 1.4; text-transform: uppercase; }
.rca-eyebrow::before, .rca-eyebrow--center::after { content: ''; flex: none; width: 7px; height: 7px; background: var(--rca-red); }
.rca-eyebrow--center { justify-content: center; }
.rca-eyebrow--plain::before { display: none; }
.rca-eyebrow--light { color: #ffffffb8; }
.rca-page-hero .rca-eyebrow--light::before { background: #fff; }
.rca-heading h2, .rca-s h2 { font-size: clamp(1.9rem, 3.3vw, 2.85rem); }
.rca-heading h2 { max-width: 22ch; margin: .8rem 0 0; }
.rca-heading p:not(.rca-eyebrow) { margin: 1rem 0 0; }
.rca-heading--center { text-align: center; }
.rca-heading--center h2, .rca-center-copy { margin-inline: auto !important; }
.rca-center-copy { max-width: 62ch; }
.rca-heading--split { display: grid; gap: 1.75rem; align-items: end; }
@media (min-width: 60rem) { .rca-heading--split { grid-template-columns: 1fr auto; } }

/* ---------- Motion (only when JavaScript runs and the visitor allows motion) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .rca-js [class*="rca-anim-"] { opacity: 0; transition: opacity .9s var(--rca-out), translate 1s var(--rca-out), scale 1s var(--rca-out); }
  .rca-js .rca-anim-up { translate: 0 44px; }
  .rca-js .rca-anim-left { translate: -70px 0; }
  .rca-js .rca-anim-right { translate: 70px 0; }
  .rca-js .rca-anim-zoom { scale: .9; }
  .rca-js [class*="rca-anim-"].is-inview { opacity: 1; translate: 0 0; scale: 1; }
  .rca-js .rca-d1 { transition-delay: .08s; } .rca-js .rca-d2 { transition-delay: .18s; } .rca-js .rca-d3 { transition-delay: .28s; } .rca-js .rca-d4 { transition-delay: .38s; }
  .rca-split-ready .rca-char { display: inline-block; opacity: 0; translate: 0 .45em; transition: opacity .6s var(--rca-out), translate .6s var(--rca-out); transition-delay: calc(var(--i) * 16ms); }
  .rca-split-ready.is-inview .rca-char { opacity: 1; translate: 0 0; }
  .rca-fill-ready .rca-char { transition: color .25s linear; }
}
.rca-word { display: inline-block; white-space: nowrap; }
.rca-fill-ready .rca-char { color: #ffffff40; }
.rca-fill-ready .rca-char.is-lit { color: #fff; }

/* ---------- Page banner (inner pages) ---------- */
.rca-page-hero { display: grid; padding: 0; background: var(--rca-red); color: #fff; }
.rca-page-hero__panel { position: relative; overflow: hidden; display: flex; align-items: center; padding: clamp(3.5rem, 7vw, 5.5rem) 1.25rem; }
.rca-blueprint { position: absolute; inset: 0; background: var(--rca-blueprint) right -40px center / auto 120% no-repeat; opacity: .2; pointer-events: none; }
.rca-page-hero__copy { position: relative; width: 100%; max-width: 38rem; }
.rca-page-hero h1 { margin: 1rem 0 0; color: #fff; font-size: clamp(2.3rem, 4.6vw, 3.6rem); }
.rca-page-hero__lede { max-width: 50ch; margin: 1rem 0 0 !important; color: #ffffffd9; }
.rca-crumbs { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: 2rem; padding: .7rem 1.1rem; background: var(--rca-ink); color: #fff; font-family: var(--rca-head); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.rca-crumbs a { color: #ffffffa6; text-decoration: none; }
.rca-crumbs a:hover { color: #fff; }
.rca-crumbs__sep { width: 5px; height: 5px; background: var(--rca-red); }
.rca-page-hero__media { position: relative; overflow: hidden; min-height: 18rem; }
.rca-page-hero__photo { position: absolute; inset: 0; }
@media (min-width: 60rem) {
  .rca-page-hero { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); min-height: 25rem; }
  .rca-page-hero__panel { padding-left: max(1.25rem, calc((100vw - var(--rca-wrap)) / 2)); }
  .rca-page-hero__media { min-height: 0; }
}

/* ---------- Value cards ---------- */
.rca-values { display: grid; gap: 1.5rem; margin-top: 3rem; }
.rca-value { position: relative; display: flex; flex-direction: column; padding: 2.5rem 2.25rem 2.25rem; border: 1px solid var(--rca-line); background: #fff; transition: background-color .35s var(--rca-ease), border-color .35s var(--rca-ease), box-shadow .35s var(--rca-ease); }
.rca-value::after { content: ''; position: absolute; inset: 0; background: var(--rca-lineart) right -40px bottom -40px / 260px no-repeat; opacity: 0; transition: opacity .35s; pointer-events: none; }
.rca-value .rca-value__title { position: relative; padding-left: 1.4rem; font-size: 1.6rem; transition: color .35s; }
.rca-value .rca-value__title::before { content: ''; position: absolute; left: 0; top: 50%; width: 8px; height: 8px; margin-top: -4px; background: var(--rca-red); transition: background-color .35s; }
.rca-value .rca-value__text { flex: 1; margin-top: .9rem; transition: color .35s; }
.rca-value .rca-value__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.rca-value__bottom p { margin: 0; }
.rca-value__icon { display: grid; place-items: center; width: 72px; height: 72px; background: var(--rca-ink); color: #fff; transition: background-color .35s var(--rca-ease), color .35s; }
.rca-value__icon svg { width: 34px; height: 34px; }
.rca-value .rca-more::after { content: ''; position: absolute; inset: 0; }
.rca-value:hover, .rca-value:focus-within { border-color: var(--rca-red); background: var(--rca-red); box-shadow: 0 25px 50px #a6293233; }
.rca-value:hover::after, .rca-value:focus-within::after { opacity: .12; }
.rca-value:hover :is(.rca-value__title, .rca-value__text, .rca-more), .rca-value:focus-within :is(.rca-value__title, .rca-value__text, .rca-more) { color: #fff; }
.rca-value:hover .rca-value__title::before, .rca-value:focus-within .rca-value__title::before { background: #fff; }
.rca-value:hover .rca-value__icon, .rca-value:focus-within .rca-value__icon { background: #fff; color: var(--rca-red); }
@media (min-width: 48rem) { .rca-values { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Photo band ---------- */
.rca-band { padding-block: 0 clamp(4.5rem, 8vw, 7.5rem); }
.rca-band .rca-container { position: relative; overflow: hidden; height: clamp(14rem, 30vw, 22rem); padding: 0; max-width: var(--rca-wrap); }
.rca-band .rca-band__photo { position: absolute; inset: 0; }

/* ---------- Offer cards (image + icon) ---------- */
.rca-offers { background: #fff; }
.rca-offer-grid { display: grid; gap: 1.5rem; margin-top: 3rem; }
.rca-offer-card { position: relative; display: flex; flex-direction: column; border: 1px solid #e6e6e6; background: #fff; box-shadow: 0 10px 30px #0000000a; transition: transform .35s var(--rca-ease), box-shadow .35s var(--rca-ease); }
.rca-offer-card__media { position: relative; overflow: hidden; aspect-ratio: 16 / 11; }
.rca-offer-card__photo { transition: transform .7s var(--rca-out); }
.rca-offer-card__media::after, .rca-grid-mix__img::after, .rca-post-card__media::after { content: ''; position: absolute; top: 50%; left: 50%; z-index: 2; width: 0; height: 0; border-radius: 50%; background: #ffffff33; transform: translate(-50%, -50%); opacity: 0; pointer-events: none; }
.rca-offer-card__icon { position: absolute; left: 0; bottom: 0; z-index: 3; display: grid; place-items: center; width: 56px; height: 56px; background: var(--rca-ink); color: #fff; transition: background-color .35s var(--rca-ease); }
.rca-offer-card__icon svg { width: 28px; height: 28px; }
.rca-offer-card h3 { margin: 1.5rem 1.6rem 0; font-size: 1.2rem; }
.rca-offer-card > p { margin: .7rem 1.6rem 0; font-size: .95rem; }
.rca-offer-card > p:last-child { margin: auto 1.6rem 1.6rem; padding-top: 1.25rem; }
.rca-offer-card .rca-more::after { content: ''; position: absolute; inset: 0; }
@media (hover: hover) {
  .rca-offer-card:hover { transform: translateY(-6px); box-shadow: 0 25px 50px #00000017; }
  .rca-offer-card:hover .rca-offer-card__photo { transform: scale(1.08); }
  .rca-offer-card:hover .rca-offer-card__icon { background: var(--rca-red); }
  .rca-offer-card:hover .rca-offer-card__media::after, .rca-grid-mix__img:hover::after, .rca-post-card:hover .rca-post-card__media::after { animation: rca-circle .75s ease; }
}
@keyframes rca-circle { 0%, 40% { opacity: 1; } 100% { width: 200%; height: 200%; opacity: 0; } }
@media (min-width: 42rem) { .rca-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 68rem) { .rca-offer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Dark split band ---------- */
.rca-split-band { display: grid; padding: 0; background: var(--rca-dark); color: #c9c9c9; }
.rca-split-band__media { display: grid; grid-template-columns: 1fr 1fr; min-height: 22rem; overflow: hidden; }
.rca-split-band__cell { position: relative; overflow: hidden; }
.rca-split-band__photo { position: absolute; inset: 0; }
.rca-split-band__panel { position: relative; overflow: hidden; padding: clamp(3.5rem, 7vw, 6rem) clamp(1.25rem, 5vw, 5rem); }
.rca-lineart { position: absolute; right: -30px; bottom: -20px; width: 380px; height: 300px; background: var(--rca-lineart) center / contain no-repeat; opacity: .08; pointer-events: none; }
.rca-split-band__panel h2 { max-width: 20ch; margin-top: .9rem; color: #fff; }
.rca-split-band .rca-split-band__text { position: relative; max-width: 54ch; margin: 1.1rem 0 2rem; }
.rca-split-band .rca-btn .wp-block-button__link { box-shadow: 0 0 0 2px var(--rca-dark), 0 0 0 3px var(--rca-red); }
@media (min-width: 60rem) { .rca-split-band { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .rca-split-band__media { min-height: 30rem; } }

/* ---------- Process ---------- */
.rca-process-section { background: #fff; }
.rca-process { display: grid; gap: 1.25rem; margin-top: 3rem; }
.rca-process__card { position: relative; padding: 2.5rem 1.75rem; border: 1px solid #e3e3e3; background: #fff; text-align: center; transition: border-color .35s var(--rca-ease), transform .35s var(--rca-ease), box-shadow .35s var(--rca-ease); }
.rca-process__card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--rca-red); transform: scaleX(0); transition: transform .45s var(--rca-ease); }
.rca-process .rca-process__num { margin: 0; color: var(--rca-red); font-family: var(--rca-head); font-size: 2.4rem; font-weight: 700; line-height: 1; }
.rca-process__card h3 { margin: 1rem 0 0; font-size: 1.1rem; }
.rca-process__card p:last-child { margin: .8rem 0 0; font-size: .95rem; }
.rca-process__card:hover { transform: translateY(-6px); border-color: #fff; box-shadow: 0 25px 50px #0000001a; }
.rca-process__card:hover::before { transform: scaleX(1); }
@media (min-width: 42rem) { .rca-process { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 68rem) { .rca-process { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); } }

/* ---------- FAQ accordion ---------- */
.rca-faq-section { background: var(--rca-grey); }
.rca-s .rca-faq-wrap { max-width: 56rem; margin: 3rem auto 0; }
.rca-accordion { display: grid; gap: .75rem; }
.rca-accordion__item { border: 1px solid #e3e3e3; background: #fff; transition: border-color .3s, box-shadow .3s; }
.rca-accordion__item[open] { border-color: var(--rca-red); box-shadow: 0 15px 35px #0000000d; }
.rca-accordion summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.4rem; color: var(--rca-ink); font-family: var(--rca-head); font-size: 1.05rem; font-weight: 700; cursor: pointer; list-style: none; }
.rca-accordion summary::-webkit-details-marker { display: none; }
.rca-accordion__icon { position: relative; flex: none; width: 34px; height: 34px; background: var(--rca-grey); transition: background-color .3s; }
.rca-accordion__icon::before, .rca-accordion__icon::after { content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--rca-ink); transition: transform .3s var(--rca-ease), background-color .3s; }
.rca-accordion__icon::after { transform: rotate(90deg); }
.rca-accordion__item[open] .rca-accordion__icon { background: var(--rca-red); }
.rca-accordion__item[open] .rca-accordion__icon::before, .rca-accordion__item[open] .rca-accordion__icon::after { background: #fff; }
.rca-accordion__item[open] .rca-accordion__icon::after { transform: rotate(0deg); }
.rca-accordion__body { padding: 0 1.4rem 1.3rem; }
.rca-accordion__body p { margin: 0; }
.rca-s .rca-faq-more { margin-top: 1.5rem; text-align: center; }

.rca-intro { background: #fff; }

/* ---------- Website development ---------- */
.rca-ticks { display: grid; gap: .55rem; margin: 1.4rem 0 0; padding: 0; list-style: none; color: var(--rca-ink); font-family: var(--rca-head); font-size: .92rem; font-weight: 500; }
.rca-ticks li { display: flex; align-items: flex-start; gap: .65rem; }
.rca-ticks__icon { flex: none; display: grid; place-items: center; width: 18px; height: 18px; margin-top: .15rem; border-radius: 50%; background: var(--rca-red); color: #fff; }
.rca-ticks__icon svg { width: 11px; height: 11px; stroke-width: 3; }
.rca-webtypes { display: grid; gap: 1.5rem; align-items: stretch; margin-top: 3rem; }
.rca-webtype { position: relative; display: flex; flex-direction: column; padding: 2.5rem 2rem 2.25rem; border: 1px solid var(--rca-line); background: #fff; transition: transform .35s var(--rca-ease), box-shadow .35s var(--rca-ease), border-color .35s; }
.rca-webtype h3 { margin: 1.5rem 0 0; font-size: 1.45rem; }
.rca-webtype > p:not(.rca-webtype__badge) { margin: .8rem 0 0; font-size: .95rem; }
.rca-webtype .rca-ticks { flex: 1; align-content: start; }
.rca-webtype .rca-more { align-self: flex-start; margin-top: 2rem; }
.rca-webtype__icon { display: grid; place-items: center; width: 64px; height: 64px; background: var(--rca-ink); color: #fff; transition: background-color .35s var(--rca-ease); }
.rca-webtype__icon svg { width: 30px; height: 30px; }
.rca-webtype:hover { transform: translateY(-6px); border-color: var(--rca-red); box-shadow: 0 25px 50px #0000001a; }
.rca-webtype:hover .rca-webtype__icon { background: var(--rca-red); }
.rca-webtype--featured { border-color: var(--rca-red); background: var(--rca-red); color: #ffffffd9; box-shadow: 0 25px 50px #a6293240; }
.rca-webtype--featured::after { content: ''; position: absolute; inset: 0; background: var(--rca-lineart) right -40px bottom -40px / 260px no-repeat; opacity: .12; pointer-events: none; }
.rca-webtype--featured :is(h3, .rca-ticks, .rca-more) { color: #fff; }
.rca-webtype--featured .rca-webtype__icon, .rca-webtype--featured:hover .rca-webtype__icon { background: #fff; color: var(--rca-red); }
.rca-webtype--featured .rca-ticks__icon { background: #fff; color: var(--rca-red); }
.rca-webtype--featured .rca-more:hover { color: var(--rca-ink); }
.rca-webtype--featured:hover { box-shadow: 0 30px 60px #a6293255; }
.rca-webtype .rca-webtype__badge { position: absolute; top: 0; right: 0; margin: 0; padding: .45rem .9rem; background: var(--rca-ink); color: #fff; font-family: var(--rca-head); font-size: 11px; font-weight: 700; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
@media (min-width: 60rem) {
  .rca-webtypes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rca-webtype--featured { margin-block: -1.25rem; padding-block: 3.75rem 3.5rem; }
}

.rca-ecom { overflow: hidden; background: var(--rca-dark); color: #c9c9c9; scroll-margin-top: 6rem; }
.rca-ecom .rca-container { position: relative; display: grid; gap: 3rem; align-items: center; }
.rca-ecom h2 { max-width: 18ch; margin-top: .9rem; color: #fff; }
.rca-ecom .rca-ecom__text { max-width: 50ch; margin: 1.1rem 0 2rem; }
.rca-ecom .rca-btn .wp-block-button__link { box-shadow: 0 0 0 2px var(--rca-dark), 0 0 0 3px var(--rca-red); }
.rca-ecom__grid { display: grid; gap: 1px; background: #ffffff1a; border: 1px solid #ffffff1a; }
.rca-ecom__item { padding: 1.75rem 1.5rem; background: var(--rca-dark); transition: background-color .35s var(--rca-ease); }
.rca-ecom__item:hover { background: var(--rca-dark-2); }
.rca-ecom__item h3 { margin: 1rem 0 0; color: #fff; font-size: 1.08rem; }
.rca-ecom__item p { margin: .5rem 0 0; font-size: .92rem; }
.rca-ecom__icon { display: grid; place-items: center; width: 48px; height: 48px; background: var(--rca-red); color: #fff; }
.rca-ecom__icon svg { width: 24px; height: 24px; }
@media (min-width: 36rem) { .rca-ecom__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .rca-ecom .rca-container { grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 4rem; } }

.rca-extras-section { background: var(--rca-grey); }
.rca-extras { display: grid; gap: 1.25rem; margin-top: 3rem; }
.rca-extra { position: relative; display: flex; flex-direction: column; padding: 2.25rem 1.75rem 2rem; background: #fff; box-shadow: 0 10px 30px #0000000a; transition: transform .35s var(--rca-ease), box-shadow .35s var(--rca-ease); }
.rca-extra::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--rca-red); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--rca-ease); }
.rca-extra h3 { margin: 1.25rem 0 0; font-size: 1.2rem; }
.rca-extra > p { margin: .7rem 0 0; font-size: .93rem; }
.rca-extra .rca-ticks { flex: 1; align-content: start; font-size: .88rem; }
.rca-extra .rca-more { align-self: flex-start; margin-top: 1.75rem; }
.rca-extra .rca-more::after { content: ''; position: absolute; inset: 0; }
.rca-extra__icon { display: grid; place-items: center; width: 56px; height: 56px; background: var(--rca-red-soft); color: var(--rca-red); transition: background-color .35s var(--rca-ease), color .35s; }
.rca-extra__icon svg { width: 28px; height: 28px; }
.rca-extra:hover { transform: translateY(-6px); box-shadow: 0 25px 50px #00000017; }
.rca-extra:hover::before { transform: scaleX(1); }
.rca-extra:hover .rca-extra__icon { background: var(--rca-red); color: #fff; }
@media (min-width: 42rem) { .rca-extras { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 72rem) { .rca-extras { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Contact ---------- */
.rca-contact { background: linear-gradient(90deg, #f7f7f7 0 55%, #fff 55%); }
.rca-contact .rca-container { display: grid; gap: 3rem; align-items: center; }
.rca-contact__info h2 { margin-top: .9rem; }
.rca-contact .rca-contact__info > p:not(.rca-eyebrow) { max-width: 46ch; margin-top: 1rem; }
.rca-contact__facts { display: grid; gap: 1.25rem; margin-top: 2.25rem; }
.rca-contact__facts small { display: block; color: #8b8b8b; font-size: .85rem; }
.rca-contact__facts a { color: var(--rca-ink); font-family: var(--rca-head); font-size: 1.25rem; font-weight: 700; text-decoration: none; transition: color .25s; }
.rca-contact__facts a:hover { color: var(--rca-red); }
.rca-contact__form { padding: clamp(1.5rem, 4vw, 2.75rem); border-top: 4px solid var(--rca-red); background: #fff; box-shadow: 0 25px 60px #00000014; }
.rca-contact__form .rca-leads { max-width: none; }
.rca-contact__form .rca-leads label { color: var(--rca-ink); font-size: .9rem; }
.rca-contact__form .rca-leads input:not([type="hidden"]), .rca-contact__form .rca-leads select, .rca-contact__form .rca-leads textarea { padding: .85rem 1rem; border: 1px solid #dedede; border-radius: 0; }
.rca-contact__form .rca-leads-submit { padding: 1rem 1.75rem; border-radius: 0; font-family: var(--rca-head); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.rca-contact__form .rca-leads-submit:hover { background: var(--rca-ink); }
@media (min-width: 60rem) { .rca-contact .rca-container { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 4rem; } }
.rca-next-section { background: #fff; }
.rca-next { display: grid; gap: 1.75rem; margin-top: 3rem; }
.rca-next__img { position: relative; overflow: hidden; aspect-ratio: 16 / 10; }
.rca-next__img .rca-photo { transition: transform .7s var(--rca-out); }
.rca-next__card:hover .rca-next__img .rca-photo { transform: scale(1.07); }
.rca-next__card h3 { margin: 1.5rem 0 0; font-size: 1.4rem; }
.rca-next__sub { margin: .4rem 0 0; padding-bottom: 1rem; border-bottom: 1px solid #e3e3e3; color: #999; font-size: 12px; letter-spacing: .25em; text-transform: uppercase; }
.rca-next__card ul { margin: 1.1rem 0 0; padding: 0; list-style: none; }
.rca-next__card li { position: relative; padding: .25rem 0 .25rem 1.1rem; font-size: .95rem; }
.rca-next__card li::before { content: ''; position: absolute; left: 0; top: .85em; width: 5px; height: 5px; background: var(--rca-red); }
@media (min-width: 48rem) { .rca-next { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Posts (cards, list, single) ---------- */
.rca-posts__grid { display: grid; gap: 1.75rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.rca-post-card { position: relative; height: 100%; }
.rca-post-card__media, .rca-blog-item__media { position: relative; overflow: hidden; background: var(--rca-grey-2); }
.rca-post-card__media { aspect-ratio: 4 / 3; }
.rca-post-card__media .wp-block-post-featured-image, .rca-blog-item__media .wp-block-post-featured-image { height: 100%; margin: 0; }
.rca-post-card__media img, .rca-blog-item__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--rca-out); }
.rca-post-card:hover .rca-post-card__media img, .rca-blog-item:hover .rca-blog-item__media img { transform: scale(1.07); }
.rca-date { position: absolute; top: 0; left: 1.1rem; z-index: 3; display: grid; text-align: center; pointer-events: none; }
.rca-date .rca-date__day { padding: .55rem .8rem .35rem; background: var(--rca-red); color: #fff; font-family: var(--rca-head); font-size: 1.7rem; font-weight: 700; line-height: 1; }
.rca-date .rca-date__month { padding: .35rem .6rem; background: var(--rca-ink); color: #fff; font-size: .75rem; }
.rca-s .rca-post-card__meta { display: flex; flex-wrap: wrap; gap: .3rem 1rem; margin-top: 1.1rem; color: #8b8b8b; font-size: .85rem; font-style: italic; }
.rca-post-card__meta a { color: inherit; text-decoration: none; }
.rca-post-card__meta a:hover { color: var(--rca-red); }
.rca-post-card__author::before { content: 'By '; }
.rca-s .rca-post-card__title { margin: .6rem 0 0; padding-bottom: 1rem; border-bottom: 1px solid #e3e3e3; font-size: 1.2rem; line-height: 1.5; }
.rca-post-card__title a, .rca-blog-item__title a { color: var(--rca-ink); text-decoration: none; background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat; transition: background-size .4s var(--rca-ease), color .25s; }
.rca-post-card__title a:hover, .rca-blog-item__title a:hover { color: var(--rca-red); background-size: 100% 1px; }
.rca-s .rca-post-card__excerpt { margin-top: 1rem; font-size: .95rem; }
.wp-block-post-excerpt__more-text { margin-top: 1rem; }
.wp-block-post-excerpt__more-link { color: var(--rca-ink); font-family: var(--rca-head); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.wp-block-post-excerpt__more-link::after { content: ' ↗'; }
.wp-block-post-excerpt__more-link:hover { color: var(--rca-red); }
.rca-empty { padding: 2rem; border: 1px dashed var(--rca-line); text-align: center; }
@media (min-width: 42rem) { .rca-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 68rem) { .rca-posts__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.rca-blog { background: #fff; }
.rca-blog__layout { display: grid; gap: 3rem; }
.rca-blog-list .wp-block-post-template { display: grid; gap: 3.5rem; margin: 0; padding: 0; list-style: none; }
.rca-blog-item { position: relative; padding-bottom: 3rem; border-bottom: 1px solid #e3e3e3; }
.rca-blog-item::after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 7px; background: linear-gradient(90deg, var(--rca-red) 7px, transparent 7px calc(100% - 7px), var(--rca-red) calc(100% - 7px)); }
.rca-blog-item__media { aspect-ratio: 16 / 9; }
.rca-s .rca-blog-item__title { margin: .7rem 0 0; font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
.rca-s .rca-blog-item__excerpt { margin-top: 1rem; }
.rca-blog-item__excerpt .wp-block-post-excerpt__more-link { display: inline-flex; align-items: center; min-height: 48px; margin-top: .5rem; padding: 0 1.4rem; background: var(--rca-red); color: #fff; transition: background-color .3s; }
.rca-blog-item__excerpt .wp-block-post-excerpt__more-link:hover { background: var(--rca-ink); color: #fff; }
.rca-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 3rem; font-family: var(--rca-head); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.rca-pagination a { color: var(--rca-ink); text-decoration: none; }
.rca-pagination .page-numbers.current { color: var(--rca-red); }
.rca-sidebar { display: grid; align-content: start; gap: 1.75rem; }
.rca-widget { border: 1px solid #e6e6e6; background: #fff; }
.rca-widget > *:not(.rca-widget__title) { padding: 1.25rem 1.4rem; }
.rca-widget .rca-widget__title { margin: 0; padding: .9rem 1.4rem; background: var(--rca-ink) linear-gradient(115deg, transparent 55%, #ffffff12 55% 60%, transparent 60% 65%, #ffffff12 65% 70%, transparent 70%); color: #fff; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.rca-widget ul { margin: 0; list-style: none; }
.rca-widget li { padding: .6rem 0; border-bottom: 1px solid #eee; font-size: .95rem; }
.rca-widget li:last-child { border: 0; }
.rca-widget a { color: var(--rca-ink); text-decoration: none; transition: color .2s, padding .3s; }
.rca-widget li > a:hover { padding-left: .35rem; color: var(--rca-red); }
.rca-widget .wp-block-search__inside-wrapper { border: 1px solid #ddd; }
.rca-widget .wp-block-search__input { padding: .7rem .9rem; border: 0; font: inherit; }
.rca-widget .wp-block-search__button { margin: 4px; border: 0; border-radius: 0; background: var(--rca-ink); color: #fff; }
.rca-widget .wp-block-tag-cloud a { display: inline-block; margin: 0 .3rem .45rem 0; padding: .35rem .8rem; border: 1px solid #ddd; font-size: 13px !important; }
.rca-widget .wp-block-tag-cloud a:hover { border-color: var(--rca-red); background: var(--rca-red); color: #fff; }
.rca-widget--cta { padding: 2rem 1.6rem; border: 0; background: var(--rca-red) var(--rca-blueprint) right -60px bottom -40px / 260px no-repeat; color: #ffffffd9; }
.rca-widget--cta > * { padding: 0 !important; }
.rca-widget--cta h3 { color: #fff; font-size: 1.4rem; }
.rca-s .rca-widget--cta p { margin: .7rem 0 1.4rem; }
.rca-widget--cta .rca-btn .wp-block-button__link { background: var(--rca-ink); box-shadow: none; }
@media (min-width: 60rem) { .rca-blog__layout { grid-template-columns: minmax(0, 1fr) 20rem; gap: 3.5rem; } }
.rca-single__head .wp-block-post-featured-image { margin: 0 0 1rem; }
.rca-single__meta { font-style: normal; }
.rca-prose { color: #555; font-size: 1.05rem; line-height: 1.8; }
.rca-prose > * + * { margin-top: 1.2em; }
.rca-prose h2, .rca-prose h3 { margin-top: 1.8em; }
.rca-prose a { color: var(--rca-red); }
.rca-s .rca-single__tags { margin-top: 2rem; }
.rca-single__tags a { display: inline-block; margin: 0 .3rem .3rem 0; padding: .3rem .75rem; background: var(--rca-grey); color: var(--rca-ink); font-size: .85rem; text-decoration: none; }
.rca-s .rca-single__nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid #e3e3e3; }
.rca-single__nav a { color: var(--rca-ink); font-family: var(--rca-head); font-weight: 700; text-decoration: none; }
.rca-page-body .rca-prose { max-width: 50rem; margin-inline: auto; }
.rca-404 .wp-block-search { max-width: 30rem; margin: 2rem auto !important; }
.rca-404 .rca-actions { justify-content: center; }

/* ---------- Footer ---------- */
.rca-footer { position: relative; overflow: hidden; background: var(--rca-dark); color: #a9a9a9; }
.rca-footer__cta { position: relative; overflow: hidden; padding: clamp(4rem, 8vw, 6.5rem) 1.25rem 3.5rem; }
.rca-footer__art { position: absolute; top: 0; right: -4%; width: min(46rem, 60vw); height: 100%; background: var(--rca-lineart) right center / contain no-repeat; opacity: .07; pointer-events: none; }
.rca-footer .rca-footer__cta-copy { position: relative; max-width: var(--rca-wrap); margin: 0 auto; }
.rca-footer__cta h2 { max-width: 18ch; color: #fff; font-size: clamp(2rem, 4vw, 3rem); }
.rca-footer .rca-footer__cta p { max-width: 52ch; margin: 1rem 0 2rem; color: #bdbdbd; }
.rca-footer .rca-btn .wp-block-button__link { box-shadow: 0 0 0 2px var(--rca-dark), 0 0 0 3px var(--rca-red); }
.rca-footer .rca-btn--light .wp-block-button__link { box-shadow: 0 0 0 2px var(--rca-dark), 0 0 0 3px #fff; }
.rca-footer .rca-btn .wp-block-button__link:hover { box-shadow: 0 0 0 2px var(--rca-dark), 0 0 0 3px #fff; }
.rca-footer .rca-footer__menu { display: flex; flex-wrap: wrap; gap: .75rem 2.25rem; max-width: calc(var(--rca-wrap) + 2.5rem); margin: 0 auto; padding: 1.4rem 1.25rem; box-shadow: inset 0 -1px #ffffff1a; }
.rca-footer__menu a { position: relative; padding-bottom: .5rem; color: #fff; font-family: var(--rca-head); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.rca-footer__menu a::after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: var(--rca-red); transform: scaleX(0); transform-origin: right; transition: transform .3s var(--rca-ease); }
.rca-footer__menu a:hover::after { transform: scaleX(1); transform-origin: left; }
.rca-footer .rca-footer__grid { position: relative; z-index: 1; display: grid; gap: 2.5rem; max-width: calc(var(--rca-wrap) + 2.5rem); margin: 0 auto; padding: 3.5rem 1.25rem 2rem; }
.rca-logo--footer { color: #fff; }
.rca-logo--footer .rca-logo__mark { width: 52px; min-height: 52px; }
.rca-logo--footer .rca-logo__mark svg { width: 16px; height: 28px; }
.rca-footer .rca-footer__brand p { max-width: 36ch; margin: 1.25rem 0 0; font-size: .95rem; }
.rca-footer .rca-footer__social { display: flex; gap: .5rem; margin-top: 1.5rem; }
.rca-footer__social a { display: grid; place-items: center; width: 42px; height: 42px; background: #ffffff0d; color: #fff; transition: background-color .3s, transform .3s var(--rca-ease); }
.rca-footer__social a:hover { background: var(--rca-red); transform: translateY(-3px); }
.rca-footer .rca-footer__col h3 { margin-bottom: 1.5rem; color: #fff; font-size: 1.15rem; }
.rca-footer__list { margin: 0; padding: 0; list-style: none; }
.rca-footer__list li { padding: .35rem 0; }
.rca-footer__list a { display: inline-flex; align-items: center; gap: .6rem; color: #bdbdbd; font-size: .95rem; text-decoration: none; transition: color .25s, gap .3s var(--rca-ease); }
.rca-footer__list a::before { content: '›'; color: var(--rca-red-tint); font-size: 1.1rem; line-height: 1; }
.rca-footer__list a:hover { gap: .9rem; color: #fff; }
.rca-footer__contact { margin: 0; padding: 0; list-style: none; }
.rca-footer__contact li { display: flex; align-items: center; gap: .9rem; padding: .7rem 0; }
.rca-footer__contact small { display: block; color: #8d8d8d; font-size: .8rem; }
.rca-footer__contact a { color: #fff; font-weight: 600; text-decoration: none; }
.rca-footer__contact a:hover { color: var(--rca-red-tint); }
.rca-footer__contact-icon { flex: none; display: grid; place-items: center; width: 38px; height: 38px; background: #ffffff0d; color: var(--rca-red-tint); }
.rca-footer .rca-footer__watermark { position: relative; z-index: 0; margin: -1rem 0 -2.2rem; color: #ffffff08; font-family: var(--rca-head); font-size: clamp(4rem, 17vw, 15rem); font-weight: 700; letter-spacing: -.04em; line-height: 1; text-align: center; white-space: nowrap; pointer-events: none; user-select: none; }
.rca-footer .rca-footer__bottom { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 2rem; max-width: calc(var(--rca-wrap) + 2.5rem); margin: 0 auto; padding: 1.5rem 1.25rem 2rem; border-top: 1px solid #ffffff1a; font-size: .88rem; }
.rca-footer__bottom p { margin: 0; }
.rca-footer__legal { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.rca-footer__legal a { color: #d6d6d6; text-decoration: none; }
.rca-footer__legal a:hover { color: #fff; }
.rca-footer__bottom::before, .rca-footer__bottom::after { content: ''; position: absolute; top: -4px; width: 7px; height: 7px; background: var(--rca-red); }
.rca-footer__bottom::before { left: 1.25rem; }
.rca-footer__bottom::after { right: 1.25rem; }
@media (min-width: 42rem) { .rca-footer .rca-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 60rem) { .rca-footer .rca-footer__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; } }
.rca-totop { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 70; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--rca-ink); color: #fff; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .3s, transform .3s var(--rca-ease), visibility .3s, background-color .3s; }
.rca-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.rca-totop:hover { background: var(--rca-red); color: #fff; }
.rca-totop__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); fill: none; stroke: var(--rca-red); stroke-width: 2; stroke-dasharray: 125.7; stroke-dashoffset: var(--rca-progress, 125.7); }
.rca-totop:hover .rca-totop__ring { stroke: #fff; }
.rca-totop__arrow { position: relative; }

@media (min-width: 64rem) {
  .rca-header .rca-nav { flex: 0 1 auto; }
  .rca-header__search { display: grid; margin-left: auto; }
  .rca-header__cta { display: inline-flex; margin-left: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .rca-parallax, .rca-tilt { transform: none; }
}
