/** Shopify CDN: Minification failed

Line 33:39 Expected "]" to go with "["
Line 33:40 Expected identifier but found "#fff\\\""
Line 33:46 Unexpected "]"

**/

/* Rocket Yard HTML redesign integration - scoped to redesigned templates only. */
body.ry-redesign-active{margin:0!important;background:#fff!important;color:#171717!important;overflow-x:hidden!important}
body.ry-redesign-active .main-content{padding:0!important;margin:0!important;max-width:none!important;width:100%!important}
body.ry-redesign-active .page-container{overflow:visible!important;max-width:none!important}
body.ry-redesign-active .shopify-section{margin:0!important}
body.ry-redesign-active .mouse-cursor{display:none!important}
.ry-redesign-root{
  --ry-black:#000;--ry-ink:#000;--ry-charcoal:#000;--ry-graphite:#2a2d2d;--ry-filmic:#34302b;
  --ry-paper:#fff;--ry-newsprint:#f4f1ea;--ry-teal:#01e9b0;--ry-mint:#01e9b0;--ry-mint-deep:#00c79a;--ry-mint-tint:#a8e8e2;
  --ry-cyan:#0da7c3;--ry-n-0:#fff;--ry-n-50:#fafafa;--ry-n-100:#f2f2f1;--ry-n-200:#e4e3e0;--ry-n-300:#cbcac6;
  --ry-n-400:#9c9b97;--ry-n-500:#6f6e6a;--ry-n-600:#4d4c49;--ry-n-700:#343331;--ry-n-800:#232220;--ry-n-900:#171717;
  --fg-1:var(--ry-ink);--fg-2:var(--ry-n-600);--fg-3:var(--ry-n-400);--font-display:"TT Norms",Arial Narrow,sans-serif;
  --font-body:"Avenir","Avenir Next",Arial,sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  width:100%;max-width:none;margin:0;padding:0;background:var(--ry-paper);color:var(--ry-ink);font-family:var(--font-body);overflow-x:hidden;
}
.ry-redesign-root *{box-sizing:border-box}
.ry-redesign-root a{text-decoration:none!important}
.ry-redesign-root img,.ry-redesign-root video{max-width:100%;display:block}
.ry-redesign-root button{font-family:inherit}
.ry-redesign-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ry-redesign-root .ry-display{font-family:var(--font-display)!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase;line-height:.9;letter-spacing:-.02em;color:var(--fg-1)!important}
.ry-redesign-root .ry-h1{font-family:var(--font-display)!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase;line-height:.9;letter-spacing:-.02em}
.ry-redesign-root .ry-h2{font-family:var(--font-display)!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase;line-height:.92;letter-spacing:-.02em}
.ry-redesign-root .ry-h3{font-family:var(--font-display)!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase;line-height:.95;letter-spacing:-.01em;color:var(--ry-ink)!important}
.ry-redesign-root .ry-h3[style*=\"color:#fff\"]{color:#fff!important}
.ry-redesign-root .ry-kicker{font-family:var(--font-mono)!important;font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:var(--fg-2)!important}
.ry-redesign-root .ry-micro{font-family:var(--font-mono)!important;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62)!important}
.ry-redesign-root .ry-micro--teal{font-family:var(--font-mono)!important;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ry-teal)!important}
.ry-redesign-root .ry-masthead{font-family:var(--font-display)!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase;line-height:.82;letter-spacing:-.025em;color:#fff!important}
.ry-redesign-root .ry-signal{color:var(--ry-teal)!important}
.ry-redesign-root .ry-stage{background:var(--ry-black);color:#fff;position:relative;overflow:hidden}
.ry-redesign-root .ry-stage--light{background:var(--ry-paper);color:var(--ry-ink);position:relative;overflow:hidden}
.ry-redesign-root p{font-family:var(--font-body)!important}
.ry-redesign-root h1,.ry-redesign-root h2,.ry-redesign-root h3,.ry-redesign-root h4,.ry-redesign-root h5,.ry-redesign-root h6{margin-top:0}
.ry-redesign-root .ry-stage p,.ry-redesign-root [style*="background:var(--ry-black)"] p,.ry-redesign-root [style*="background:var(--ry-ink)"] p,.ry-redesign-root [style*="background:var(--ry-charcoal)"] p{color:rgba(255,255,255,.72)!important}
.ry-redesign-root [style*="background:var(--ry-paper)"] p,.ry-redesign-root [style*="background:var(--ry-newsprint)"] p{color:var(--fg-2)!important}
.ry-redesign-root .ry-stage .ry-display,.ry-redesign-root [style*="background:var(--ry-black)"] .ry-display,.ry-redesign-root [style*="background:var(--ry-ink)"] .ry-display,.ry-redesign-root [style*="background:var(--ry-charcoal)"] .ry-display{color:#fff!important}
.ry-redesign-root .ry-filmgrain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;mix-blend-mode:screen;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>")}
.ry-redesign-root .ry-vignette::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 30%,transparent 40%,rgba(0,0,0,.65) 100%),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.85))}
.ry-redesign-root .ry-orbit{position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:cover;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' fill='none'><path d='M-20 880 C 250 720, 520 560, 1040 120' stroke='%2301e9b0' stroke-width='2.5' stroke-dasharray='2 10' stroke-linecap='round'/><circle cx='1010' cy='140' r='9' fill='%2301e9b0'/></svg>")}
.ry-redesign-root .ry-ticker{font-family:var(--font-display)!important;font-style:italic;font-weight:900;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.ry-redesign-root .ry-ticker__track{display:inline-block;animation:ry-scroll 22s linear infinite}
@keyframes ry-scroll{to{transform:translateX(-50%)}}
.ry-site-header{position:sticky;top:0;left:0;right:0;z-index:80;height:78px;background:var(--ry-black);border-bottom:1px solid rgba(255,255,255,.08)}
.ry-site-header--home{position:fixed;background:#000;border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease}
.ry-site-header--home.is-scrolled{background:#000;backdrop-filter:blur(10px);border-color:rgba(255,255,255,.08)}
.ry-site-header__inner{max-width:1320px;margin:0 auto;height:78px;padding:0 32px;display:flex;align-items:center;justify-content:space-between}
.ry-site-header__logo{height:24px;width:auto}
.ry-site-header__nav{display:none;gap:36px;align-items:center}
.ry-site-header__nav a{font-family:var(--font-mono)!important;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82)!important;font-style:normal!important}
.ry-site-header__nav a.is-active{color:var(--ry-teal)!important}
.ry-site-header__nav a.ry-site-header__cta{font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase;font-size:13px;letter-spacing:.01em;padding:12px 22px;border-radius:6px;background:var(--ry-mint);color:var(--ry-ink)!important}
.ry-burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:90}
.ry-burger span{width:26px;height:2px;background:#fff;display:block}
.ry-mobile-nav{position:fixed;inset:0;background:var(--ry-black);z-index:79;display:none;flex-direction:column;justify-content:center;align-items:flex-start;padding:90px 32px 40px;gap:24px}
.ry-mobile-nav.is-open{display:flex}
.ry-mobile-nav a.ry-mobile-link{font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase;color:#fff!important;font-size:42px;line-height:.9}
.ry-mobile-nav a.ry-mobile-link.is-active{color:var(--ry-teal)!important}
.ry-mobile-nav a.ry-mobile-cta{margin-top:16px;font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase;font-size:15px;padding:16px 28px;border-radius:6px;background:var(--ry-mint);color:var(--ry-ink)!important}
.ry-slot-img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important}
.ry-slot-work{filter:none}
.ry-slot-divider{filter:none}
.ry-slot-founder{filter:none}
.ry-media-fallback{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#34302b,#0c0d0d)}
.ry-hero-video{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;background:#000;filter:grayscale(1) contrast(1.1);z-index:2}
.ry-hero-video--mobile{display:none!important}
.ry-hero-fallback{position:absolute;inset:0;overflow:hidden;z-index:1}
.ry-hero-scene{position:absolute;inset:0;will-change:opacity,transform}
.ry-hero-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.5;z-index:3}
.ry-hero-copy{z-index:5}
.ry-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.ry-reveal.is-visible{opacity:1;transform:translateY(0)}
.ry-faq-item{border-top:1px solid var(--ry-n-200)}
.ry-faq-item summary{list-style:none;width:100%;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;text-align:left}
.ry-faq-item summary::-webkit-details-marker{display:none}
.ry-faq-item__q{font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;font-size:19px;margin:0;color:var(--ry-ink)!important;text-transform:none!important;letter-spacing:0!important;line-height:1.1!important}
.ry-faq-item__sign{font-family:var(--font-mono)!important;font-size:22px;color:var(--ry-mint-deep)!important;flex:none}
.ry-faq-item__sign::before{content:"+"}.ry-faq-item[open] .ry-faq-item__sign::before{content:"-"}
.ry-faq-item__answer{padding:0 0 28px;max-width:680px}
.ry-faq-item__answer p{font-family:var(--font-body)!important;font-size:15.5px;line-height:1.65;color:var(--fg-2)!important;white-space:pre-line;margin:0}
.ry-redesign-footer{background:var(--ry-black);padding:72px 32px 32px;color:#fff}
.ry-redesign-footer__grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.ry-redesign-footer p{font-family:var(--font-body)!important;font-size:14px;line-height:1.6;color:rgba(255,255,255,.55)!important;max-width:320px;margin:0}
.ry-redesign-footer a{font-family:var(--font-body)!important;font-size:14px;color:rgba(255,255,255,.72)!important;font-style:normal!important}
.ry-redesign-footer a[href^="mailto:"]{color:var(--ry-teal)!important}
.ry-redesign-footer__bottom{max-width:1280px;margin:56px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.ry-redesign-footer--compact{padding:32px;border-top:1px solid rgba(255,255,255,.1)}
.ry-redesign-footer--compact .ry-redesign-footer__bottom{margin:0;padding:0;border:0}
@media(min-width:981px){.ry-site-header__nav{display:flex}.ry-burger{display:none}.ry-mobile-nav{display:none!important}}
@media(max-width:980px){.ry-redesign-root .ry-svc-grid{grid-template-columns:1fr!important}.ry-redesign-root .ry-system-grid{grid-template-columns:1fr 1fr!important;gap:36px!important}.ry-redesign-root .ry-stats{grid-template-columns:1fr 1fr!important;gap:36px!important}.ry-redesign-footer__grid{grid-template-columns:1fr 1fr!important}.ry-redesign-root section{scroll-margin-top:78px}}
@media(max-width:749px){.ry-hero-video--desktop{display:none!important}.ry-hero-video--mobile{display:block!important}.ry-site-header__inner{padding:0 20px}.ry-redesign-root [style*="padding:120px 32px"],.ry-redesign-root [style*="padding:140px 32px"],.ry-redesign-root [style*="padding:150px 32px"]{padding-left:20px!important;padding-right:20px!important}}
@media(max-width:560px){.ry-redesign-root .ry-system-grid{grid-template-columns:1fr!important}.ry-redesign-root .ry-stats{grid-template-columns:1fr!important}.ry-redesign-footer__grid{grid-template-columns:1fr!important}}
@media(max-height:520px){.ry-redesign-root .ry-hero-hint{display:none!important}}
@media(prefers-reduced-motion:reduce){.ry-ticker__track{animation:none}.ry-reveal{opacity:1;transform:none;transition:none}}

/* 2026-09-09 creative homepage refinement */
.ry-scroll-hero{position:relative;height:400vh;background:var(--ry-black)}
.ry-scroll-hero__sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--ry-black)}
.ry-scroll-hero__media{position:absolute;inset:0;margin:0;overflow:hidden}.ry-scroll-hero__media .ry-media-fallback{z-index:0}
.ry-hero-reading-overlay{position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,rgba(4,5,5,.94) 0%,rgba(4,5,5,.78) 44%,rgba(4,5,5,.5) 72%,rgba(4,5,5,.62) 100%);opacity:.05;pointer-events:none;will-change:opacity}
.ry-hero-scroll-start{position:absolute;z-index:6;left:50%;bottom:34px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;color:#fff;font-family:var(--font-mono)!important;font-size:11px;text-transform:uppercase;letter-spacing:.16em;transition:opacity .15s linear;white-space:nowrap}
.ry-hero-copy--return{position:absolute;inset:0;z-index:7;display:flex;align-items:center;padding:98px 32px 54px;opacity:0;transform:translateY(28px);will-change:opacity,transform;pointer-events:none}
.ry-hero-copy__inner{width:100%;max-width:1320px;margin:0 auto}.ry-hero-title{max-width:1120px;font-size:clamp(44px,8vw,126px)!important;margin:0}.ry-hero-sub{font-size:clamp(19px,2.1vw,28px)!important;line-height:1.35!important;color:#fff!important;max-width:720px;margin:28px 0 0}.ry-hero-seo{font-size:15px!important;line-height:1.5!important;color:rgba(255,255,255,.64)!important;max-width:680px;margin:14px 0 0}.ry-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.ry-btn-primary,.ry-btn-ghost{display:inline-block;font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase;font-size:15px;letter-spacing:.01em;padding:16px 28px;border-radius:6px}.ry-btn-primary{background:var(--ry-mint);color:var(--ry-ink)!important}.ry-btn-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff!important}
.ry-home-statement{padding:clamp(110px,14vw,190px) 32px}.ry-home-narrow{max-width:1080px;margin:0 auto}.ry-home-statement h2{font-size:clamp(44px,7vw,92px)!important;margin:18px 0 42px;max-width:1000px}.ry-home-lead{font-size:clamp(18px,2vw,26px)!important;line-height:1.45!important;max-width:800px;margin:0 0 18px;color:rgba(255,255,255,.62)!important}.ry-home-lead--white{color:#fff!important}
.ry-home-section-head{max-width:1280px;margin:0 auto 60px}.ry-home-section-head .ry-display,.ry-home-section-head .ry-masthead{font-size:clamp(40px,6.3vw,84px)!important;max-width:1050px;margin:16px 0 0}.ry-home-section-head>p{font-size:17px!important;line-height:1.55!important;max-width:720px;margin:22px 0 0}.ry-home-section-head--dark{color:#fff}.ry-home-section-head--dark p{color:rgba(255,255,255,.66)!important}
.ry-home-services{background:var(--ry-paper);padding:120px 0 0}.ry-home-services>.ry-home-section-head{padding:0 32px}.ry-service-band{min-height:410px;padding:64px max(32px,calc((100vw - 1280px)/2 + 32px));display:grid;grid-template-columns:150px minmax(0,900px);align-items:center;border-top:1px solid rgba(0,0,0,.13)}.ry-service-band__number{font-family:var(--font-display)!important;font-style:italic;font-weight:900;font-size:clamp(70px,10vw,150px);line-height:.8;opacity:.18}.ry-service-band h3{font-family:var(--font-display)!important;font-style:italic;font-weight:900;text-transform:uppercase;font-size:clamp(48px,7vw,94px);line-height:.84;margin:10px 0 24px;letter-spacing:-.02em}.ry-service-band p{font-size:18px!important;line-height:1.55!important;max-width:680px;margin:0}.ry-service-band--demand{background:#f1f0eb;color:var(--ry-ink)}.ry-service-band--attention{background:var(--ry-mint);color:var(--ry-ink)}.ry-service-band--attention .ry-micro{color:rgba(0,0,0,.58)!important}.ry-service-band--influence{background:var(--ry-black);color:#fff}.ry-service-band--influence p{color:rgba(255,255,255,.72)!important}.ry-service-band--influence .ry-micro{color:var(--ry-teal)!important}
.ry-home-inline-cta{max-width:1280px;margin:0 auto;padding:42px 32px 90px;display:flex;justify-content:space-between;gap:30px;align-items:center}.ry-home-inline-cta strong{font-family:var(--font-display)!important;font-style:italic;font-size:clamp(20px,2.5vw,31px);text-transform:uppercase}.ry-home-inline-cta a,.ry-text-link{font-family:var(--font-mono)!important;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ry-ink)!important;border-bottom:2px solid var(--ry-mint);white-space:nowrap}.ry-home-inline-cta--dark{color:#fff}.ry-home-inline-cta--dark a,.ry-text-link--light{color:#fff!important}
.ry-image-break{position:relative;height:min(78vh,850px);min-height:580px;background:var(--ry-black);overflow:hidden}.ry-image-break__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.18) 72%,rgba(0,0,0,.4))}.ry-image-break__copy{position:absolute;left:max(32px,calc((100vw - 1280px)/2 + 32px));right:32px;bottom:60px;color:#fff;max-width:950px}.ry-image-break__copy h2{font-size:clamp(44px,7vw,90px)!important;margin:16px 0 0}
.ry-home-system{padding:130px 32px}.ry-system-steps{max-width:1280px;margin:70px auto 50px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.24)}.ry-system-steps>div{padding:32px 24px 28px 0;border-right:1px solid rgba(255,255,255,.16)}.ry-system-steps span{display:block;font-family:var(--font-display)!important;font-style:italic;font-weight:900;color:var(--ry-teal);font-size:50px}.ry-system-steps strong{display:block;font-family:var(--font-display)!important;font-style:italic;text-transform:uppercase;font-size:20px;color:#fff;margin:12px 0}.ry-system-steps small{display:block;font-family:var(--font-body)!important;font-size:14px;line-height:1.5;color:rgba(255,255,255,.58)}.ry-home-system>.ry-text-link{display:block;max-width:max-content;margin-left:max(0px,calc((100% - 1280px)/2))}
.ry-home-pricing{background:var(--ry-paper);padding:120px 32px}.ry-plan-banner{max-width:1280px;margin:0 auto 24px;background:var(--ry-ink);color:#fff;border-radius:12px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:30px}.ry-plan-banner h3{font-family:var(--font-display)!important;font-style:italic;text-transform:uppercase;font-size:34px;margin:5px 0 8px}.ry-plan-banner p{margin:0;color:rgba(255,255,255,.66)!important}.ry-plan-banner>strong{font-family:var(--font-display)!important;font-style:italic;font-size:44px;white-space:nowrap}.ry-plan-banner>strong small{font-size:14px;font-family:var(--font-mono)!important;font-style:normal;font-weight:400;color:rgba(255,255,255,.55)}.ry-price-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ry-price-grid article{position:relative;border:1.5px solid var(--ry-ink);border-radius:12px;padding:30px 24px;min-height:300px;display:flex;flex-direction:column}.ry-price-grid h3{font-family:var(--font-display)!important;font-style:italic;text-transform:uppercase;font-size:22px;margin:18px 0 24px}.ry-price{font-family:var(--font-display)!important;font-style:italic;font-weight:900;font-size:clamp(44px,5vw,66px);line-height:.9}.ry-price small{font-family:var(--font-mono)!important;font-style:normal;font-size:12px;font-weight:400}.ry-price-grid p{font-size:14px!important;line-height:1.5!important;margin:auto 0 0}.ry-price-card--featured{background:var(--ry-mint)}.ry-price-pop{position:absolute;right:14px;top:14px;background:var(--ry-ink);color:#fff;padding:7px 9px;font-family:var(--font-mono)!important;font-size:9px;letter-spacing:.09em;text-transform:uppercase;border-radius:4px}.ry-pricing-note{max-width:1280px;margin:30px auto 0;display:flex;justify-content:space-between;gap:30px;align-items:center;font-family:var(--font-body)!important;font-size:14px}.ry-pricing-note a{font-family:var(--font-mono)!important;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ry-ink)!important;border-bottom:2px solid var(--ry-mint);white-space:nowrap}
.ry-home-work{background:var(--ry-black);padding:120px 0 0}.ry-home-work>.ry-home-section-head{padding:0 32px}.ry-work-editorial-grid{display:grid;grid-template-columns:1fr 1fr}.ry-work-editorial-grid figure{height:62vh;min-height:480px;position:relative;margin:0;overflow:hidden}.ry-work-editorial-grid__wide{grid-column:1/-1;height:78vh!important}.ry-work-editorial-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.75))}.ry-work-editorial-grid figcaption{position:absolute;z-index:3;left:28px;bottom:26px;color:#fff;font-family:var(--font-display)!important;font-style:italic;font-weight:900;text-transform:uppercase;font-size:clamp(26px,4vw,52px)}
.ry-home-numbers{padding:110px 32px}.ry-home-numbers .ry-stats{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.ry-home-numbers .ry-stats div{border-top:1px solid rgba(255,255,255,.22);padding-top:24px}.ry-home-numbers strong{display:block;font-family:var(--font-display)!important;font-style:italic;font-size:clamp(46px,6vw,76px);color:var(--ry-teal);line-height:.9}.ry-home-numbers span{display:block;font-family:var(--font-body)!important;font-size:14px;color:rgba(255,255,255,.62);margin-top:15px;max-width:190px}
.ry-founder-full{position:relative;min-height:90vh;background:var(--ry-black);overflow:hidden}.ry-founder-full__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.5) 55%,rgba(0,0,0,.2))}.ry-founder-full__copy{position:relative;z-index:2;max-width:1280px;margin:0 auto;min-height:90vh;padding:120px 32px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.ry-founder-full__copy h2{font-size:clamp(46px,7vw,88px)!important;max-width:850px;margin:16px 0 26px}.ry-founder-full__copy p{font-size:18px!important;line-height:1.55!important;color:rgba(255,255,255,.75)!important;max-width:620px;margin:0 0 32px}
.ry-home-faq{background:var(--ry-paper);padding:120px 32px}.ry-home-faq__list{max-width:920px;margin:0 auto 34px}.ry-home-faq>.ry-home-section-head,.ry-home-faq>.ry-text-link{max-width:920px}.ry-home-faq>.ry-text-link{display:block;margin-left:auto;margin-right:auto;width:max-content}
.ry-home-close{padding:150px 32px;text-align:center}.ry-home-close>div{max-width:850px;margin:0 auto}.ry-home-close h2{font-size:clamp(72px,10vw,148px)!important;line-height:.88!important;margin:0 0 42px}.ry-home-close p{font-size:18px!important;line-height:1.55!important;color:rgba(255,255,255,.7)!important;max-width:680px;margin:0 auto 38px}.ry-redesign-home>.ry-ticker{background:var(--ry-mint);color:var(--ry-ink);padding:16px 0;font-size:24px;border-top:2px solid var(--ry-ink);border-bottom:2px solid var(--ry-ink)}
@media(max-width:980px){.ry-service-band{grid-template-columns:100px 1fr}.ry-system-steps{grid-template-columns:1fr 1fr}.ry-price-grid{grid-template-columns:1fr 1fr}.ry-home-numbers .ry-stats{grid-template-columns:1fr 1fr}}
@media(max-width:749px){.ry-scroll-hero{height:400vh}.ry-hero-copy--return{padding:92px 20px 40px}.ry-hero-title{font-size:clamp(42px,15vw,78px)!important}.ry-hero-sub{font-size:19px!important}.ry-home-statement,.ry-home-system,.ry-home-pricing,.ry-home-numbers,.ry-home-faq,.ry-home-close{padding-left:20px!important;padding-right:20px!important}.ry-home-services>.ry-home-section-head,.ry-home-work>.ry-home-section-head{padding-left:20px;padding-right:20px}.ry-service-band{min-height:0;padding:64px 20px;grid-template-columns:1fr}.ry-service-band__number{font-size:64px;margin-bottom:28px}.ry-service-band h3{font-size:clamp(44px,14vw,72px)}.ry-home-inline-cta{padding-left:20px;padding-right:20px;align-items:flex-start;flex-direction:column}.ry-image-break{min-height:540px}.ry-image-break__copy{left:20px;right:20px;bottom:38px}.ry-system-steps{grid-template-columns:1fr;border-top:0}.ry-system-steps>div{border-right:0;border-top:1px solid rgba(255,255,255,.2)}.ry-plan-banner{align-items:flex-start;flex-direction:column}.ry-plan-banner>strong{font-size:38px}.ry-price-grid{grid-template-columns:1fr}.ry-pricing-note{flex-direction:column;align-items:flex-start}.ry-work-editorial-grid{grid-template-columns:1fr}.ry-work-editorial-grid figure,.ry-work-editorial-grid__wide{grid-column:auto;height:60vh!important;min-height:430px}.ry-home-numbers .ry-stats{grid-template-columns:1fr 1fr}.ry-founder-full__copy{padding-left:20px;padding-right:20px}.ry-founder-full__copy h2{font-size:clamp(44px,13vw,72px)!important}}


/* 10 Sep 2026 refinement: faster hero handoff, editorial service imagery, clear CTA buttons. */
.ry-redesign-root .ry-site-header__nav a.ry-site-header__cta,
.ry-redesign-root .ry-mobile-nav a.ry-mobile-cta,
.ry-redesign-root .ry-btn-primary,
.ry-redesign-root .ry-btn-ghost,
.ry-redesign-root .ry-btn-dark,
.ry-redesign-root .ry-btn-outline,
.ry-redesign-root .ry-text-link{border-radius:6px!important}
.ry-redesign-root .ry-btn-primary,.ry-redesign-root .ry-btn-ghost,.ry-redesign-root .ry-btn-dark,.ry-redesign-root .ry-btn-outline,.ry-redesign-root .ry-text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase;font-size:14px;line-height:1;letter-spacing:.01em;padding:15px 24px;min-height:46px;border-radius:6px;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.ry-redesign-root .ry-btn-primary:hover,.ry-redesign-root .ry-btn-ghost:hover,.ry-redesign-root .ry-btn-dark:hover,.ry-redesign-root .ry-btn-outline:hover,.ry-redesign-root .ry-text-link:hover{transform:translateY(-2px)}
.ry-redesign-root .ry-btn-dark{background:var(--ry-ink);color:#fff!important;border:1.5px solid var(--ry-ink)}
.ry-redesign-root .ry-btn-outline,.ry-redesign-root .ry-text-link{background:transparent;color:var(--ry-ink)!important;border:1.5px solid var(--ry-ink)!important;white-space:nowrap}
.ry-redesign-root .ry-btn-outline:hover,.ry-redesign-root .ry-text-link:hover{background:var(--ry-ink);color:#fff!important}
.ry-redesign-root .ry-btn-outline--light,.ry-redesign-root .ry-text-link--light{color:#fff!important;border-color:rgba(255,255,255,.78)!important;background:rgba(0,0,0,.12)}
.ry-redesign-root .ry-btn-outline--light:hover,.ry-redesign-root .ry-text-link--light:hover{background:#fff;color:var(--ry-ink)!important;border-color:#fff!important}

.ry-scroll-hero{height:400vh!important;background:#000}
.ry-scroll-hero__sticky{background:#000}
.ry-scroll-hero__media{will-change:opacity;opacity:1}
.ry-hero-reading-overlay{background:#000!important;opacity:0;will-change:opacity}
.ry-hero-copy--return{padding:96px 32px 56px;align-items:center;background:transparent}
.ry-hero-message{max-width:1180px!important}
.ry-hero-manifesto{font-size:clamp(52px,7.25vw,108px)!important;line-height:.84!important;max-width:1120px;margin:0 0 34px!important}
.ry-hero-manifesto span{display:block;white-space:nowrap}
.ry-hero-message__body{font-size:clamp(18px,1.8vw,25px)!important;line-height:1.42!important;color:rgba(255,255,255,.78)!important;max-width:860px;margin:0 0 16px!important}
.ry-hero-message__body--strong{color:#fff!important;max-width:920px}
.ry-hero-message__body strong{color:var(--ry-teal)!important}
.ry-hero-message .ry-hero-actions{margin-top:32px}

.ry-home-services{padding-top:112px!important;background:var(--ry-paper)}
.ry-home-section-head--services{padding-bottom:78px!important}
.ry-service-outcome-lines{font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase;letter-spacing:-.025em;line-height:.94;color:var(--ry-ink)!important;font-size:clamp(24px,4.35vw,64px);margin:20px 0 0;max-width:1280px}
.ry-service-outcome-lines span{display:block;white-space:nowrap}
.ry-redesign-home.ry-outcome-scroll-enabled .ry-service-outcome-lines span{opacity:0;transform:translateY(26px);transition:opacity .5s ease,transform .65s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
.ry-redesign-home.ry-outcome-scroll-enabled .ry-service-outcome-lines span.is-visible{opacity:1;transform:translateY(0)}
.ry-service-panel{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);min-height:680px;border-top:1px solid rgba(0,0,0,.15);background:var(--ry-black)}
.ry-service-panel--reverse{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)}
.ry-service-panel--reverse .ry-service-panel__media{grid-column:2;grid-row:1}.ry-service-panel--reverse .ry-service-panel__copy{grid-column:1;grid-row:1}
.ry-service-panel__media{position:relative;overflow:hidden;min-height:680px;margin:0;background:#000}
.ry-service-panel__media .ry-slot-img{filter:none;transform:scale(1.002);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.ry-service-panel:hover .ry-service-panel__media .ry-slot-img{transform:scale(1.035)}
.ry-service-panel__image-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.5))}
.ry-service-panel__number{display:none!important;position:absolute;z-index:2;left:28px;bottom:10px;font-family:var(--font-display)!important;font-style:italic;font-weight:900;font-size:clamp(100px,15vw,220px);line-height:.75;color:#fff;opacity:.92;letter-spacing:-.04em}
.ry-service-panel__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:70px clamp(34px,5vw,76px);background:var(--ry-black);color:#fff}
.ry-service-panel__copy h3{font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase;font-size:clamp(44px,5.6vw,78px);line-height:.87;letter-spacing:-.025em;color:#fff!important;margin:16px 0 28px;max-width:620px}
.ry-service-panel__copy p{font-size:17px!important;line-height:1.55!important;color:rgba(255,255,255,.72)!important;max-width:590px;margin:0 0 34px}




.ry-home-inline-cta a,.ry-pricing-note a{border-bottom:0!important}

@media(max-width:980px){
  .ry-service-panel,.ry-service-panel--reverse{grid-template-columns:1fr 1fr;min-height:600px}.ry-service-panel__media{min-height:600px}
}
@media(max-width:749px){
  .ry-hero-copy--return{padding:92px 20px 34px}.ry-hero-manifesto{font-size:clamp(34px,10.3vw,52px)!important;margin-bottom:26px!important}.ry-hero-manifesto span{white-space:nowrap}.ry-hero-message__body{font-size:16px!important;line-height:1.45!important}.ry-hero-message .ry-hero-actions{margin-top:24px}
  .ry-home-section-head--services{padding-bottom:52px!important}.ry-service-outcome-lines{font-size:clamp(18px,5.7vw,28px);line-height:1.02}.ry-service-outcome-lines span{white-space:nowrap}
  .ry-service-panel,.ry-service-panel--reverse{display:flex;flex-direction:column;min-height:0}.ry-service-panel--reverse .ry-service-panel__media,.ry-service-panel--reverse .ry-service-panel__copy{grid-column:auto;grid-row:auto}.ry-service-panel__media{min-height:58vh;height:58vh}.ry-service-panel__copy{padding:54px 20px 58px}.ry-service-panel__copy h3{font-size:clamp(42px,13vw,64px)}.ry-service-panel__copy p{font-size:16px!important}.ry-service-panel__number{left:18px;bottom:8px;font-size:110px}
  .ry-redesign-root .ry-btn-primary,.ry-redesign-root .ry-btn-ghost,.ry-redesign-root .ry-btn-dark,.ry-redesign-root .ry-btn-outline,.ry-redesign-root .ry-text-link{font-size:13px;padding:14px 20px;min-height:44px}
}
@media(max-width:380px){
  .ry-service-outcome-lines{font-size:17px}.ry-hero-manifesto{font-size:31px!important}
}

/* Homepage-only native film repair. All other templates retain their original CSS.
   Keep ancestors from becoming a separate scroll container: the video pins to the viewport. */
body.template-index.ry-redesign-active { overflow-x: visible !important; }
.ry-redesign-root.ry-redesign-home,
.ry-redesign-home > .ry-home-content { overflow: visible; }
@supports (overflow: clip) {
  body.template-index.ry-redesign-active { overflow-x: clip !important; }
  .ry-redesign-root.ry-redesign-home { overflow-x: clip; overflow-y: visible; }
}
.ry-redesign-home .ry-scroll-hero {
  --ry-film-viewport: 100vh;
  position: relative;
  height: var(--ry-film-viewport) !important;
  padding: 0;
  margin: 0;
  overflow: visible;
  background: #000;
}
@supports (height: 100svh) {
  .ry-redesign-home .ry-scroll-hero { --ry-film-viewport: 100svh; }
}
.ry-redesign-home .ry-scroll-hero.is-ry-film-ready {
  height: calc(var(--ry-film-viewport) + var(--ry-film-travel, 3600px)) !important;
}
.ry-redesign-home .ry-scroll-hero__sticky {
  position: sticky;
  top: 0;
  width: 100%;
  height: var(--ry-film-viewport);
  overflow: hidden;
  background: #000;
  isolation: isolate;
}
.ry-redesign-home .ry-scroll-hero__media { inset: 0; opacity: 1; margin: 0; }
.ry-redesign-home .ry-hero-video {
  object-fit: contain !important;
  background: #000;
}
.ry-redesign-home .ry-hero-video.ry-film-native-active { display: block !important; }
.ry-redesign-home .ry-hero-video:not(.ry-film-native-active) { pointer-events: none; }
.ry-redesign-home .is-ry-film-failed .ry-hero-video { display: none !important; }
.ry-redesign-home .ry-film-fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 90px 24px;
  background: #000;
  color: var(--ry-teal);
  text-align: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(44px, 10vw, 160px);
  line-height: .92;
}
.ry-redesign-home .ry-film-grain { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.ry-redesign-home .ry-film-controls {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  padding: 64px clamp(20px, 4vw, 64px) 28px;
  background: linear-gradient(transparent, rgba(0,0,0,.92));
  color: #fff;
}
.ry-redesign-home .ry-film-caption {
  width: min(280px, 52%);
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ry-redesign-home .ry-film-progress {
  display: block;
  height: 3px;
  margin-top: 14px;
  background: rgba(255,255,255,.4);
  overflow: hidden;
}
.ry-redesign-home .ry-film-progress > span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--ry-teal);
  transform-origin: left center;
  transform: scaleX(0);
}
.ry-redesign-home .ry-film-skip {
  flex-shrink: 0;
  background: #000;
  color: #fff !important;
  border: 1px solid #fff;
  border-radius: 4px;
}
.ry-redesign-home .ry-film-skip:hover { color: #000 !important; background: #fff; }
.ry-redesign-home .ry-film-skip:focus-visible { outline: 3px solid var(--ry-teal); outline-offset: 4px; }
.ry-redesign-home .ry-film-message {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: clamp(80px, 8vw, 120px) clamp(20px, 4vw, 64px);
  background: #000;
  color: #fff;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  scroll-margin-top: 76px;
}
.ry-redesign-home .ry-film-message__inner { width: 100%; max-width: 1240px; margin: 0 auto; }
.ry-redesign-home .ry-film-message__heading {
  font-size: clamp(17px, 6vw, 84px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.03em !important;
  margin: 0 0 32px !important;
  color: #fff !important;
}
.ry-redesign-home .ry-film-message__heading > span { display: block; white-space: nowrap; }
.ry-redesign-home .ry-film-message__heading > span { color: #fff; }
.ry-redesign-home .ry-film-message p {
  max-width: 900px;
  font-size: clamp(17px, 1.65vw, 23px) !important;
  line-height: 1.5 !important;
  margin: 0 0 22px !important;
  color: #fff !important;
}
.ry-redesign-home .ry-film-message strong { color: #fff; font-weight: 700; }
.ry-redesign-home:not(.ry-home-motion) [data-ry-reveal] { opacity: 1; transform: none; }
@media (max-width: 749px) {
  .ry-redesign-home .ry-film-controls { padding: 56px 20px 24px; gap: 16px; }
  .ry-redesign-home .ry-film-caption { font-size: 10px; letter-spacing: .06em; }
  .ry-redesign-home .ry-film-message { padding: 100px 20px 76px; }
  .ry-redesign-home .ry-film-message p { font-size: 17px !important; }
  .ry-redesign-home .ry-service-outcome-lines { font-size: clamp(13px, 4.6vw, 32px); line-height: 1.12; }
}
@media (prefers-reduced-motion: reduce) {
  .ry-redesign-home .ry-scroll-hero.is-ry-film-ready { height: var(--ry-film-viewport) !important; }
  .ry-redesign-home .ry-scroll-hero__sticky { position: relative; }
  .ry-redesign-home [data-ry-reveal] { opacity: 1; transform: none; transition: none; }
  .ry-redesign-home.ry-outcome-scroll-enabled .ry-service-outcome-lines span{opacity:1;transform:none;transition:none}
}

/* Original pricing-layout branch: case studies, centered proof and static logos. */
.ry-redesign-root .ry-case-study-lines{font-size:clamp(13px,3.55vw,50px)!important;text-transform:none;line-height:1.25;letter-spacing:-.02em;margin:20px 0 0}
.ry-redesign-root .ry-case-study-lines>span{display:block;white-space:nowrap}
.ry-redesign-root .ry-case-study-lines>span+span{margin-top:.18em}
.ry-redesign-root .ry-home-numbers .ry-stats{text-align:center;align-items:stretch}
.ry-redesign-root .ry-home-numbers .ry-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:28px 10px 0;min-width:0}
.ry-redesign-root .ry-home-numbers .ry-stats strong{width:100%;text-align:center;white-space:nowrap;font-size:clamp(30px,4.1vw,58px);line-height:1.1;letter-spacing:-.04em}
.ry-redesign-root .ry-home-numbers .ry-stats span{max-width:215px;width:100%;margin:16px auto 0;text-align:center;color:#e2e6e4;line-height:1.55}
.ry-redesign-root .ry-client-logos{background:#000;color:#fff;padding:56px 32px;border-top:1px solid #333;border-bottom:1px solid #333}
.ry-redesign-root .ry-client-logos__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1280px;margin:0 auto;gap:24px 32px;align-items:center}
.ry-redesign-root .ry-client-logos__item{display:flex;align-items:center;justify-content:center;height:108px;min-width:0}
.ry-redesign-root .ry-client-logos__image{display:block;position:static;width:100%;height:100%;max-width:230px;max-height:95px;object-fit:contain;filter:brightness(0) invert(1);opacity:1;transform:none;animation:none;transition:none}
.ry-redesign-root .ryp-btn,.ry-redesign-root .ry-site-header__cta,.ry-redesign-root .ry-mobile-cta{text-transform:uppercase!important;border-radius:6px!important}
@media(max-width:600px){
 .ry-redesign-root .ry-case-study-lines{font-size:clamp(12px,3.5vw,21px)!important}
 .ry-redesign-root .ry-home-numbers .ry-stats{gap:30px 16px}
 .ry-redesign-root .ry-home-numbers .ry-stats>div{padding:22px 0 0}
 .ry-redesign-root .ry-home-numbers .ry-stats strong{font-size:clamp(26px,7.5vw,42px)}
 .ry-redesign-root .ry-home-numbers .ry-stats span{font-size:13px;max-width:165px;margin-top:12px}
 .ry-redesign-root .ry-client-logos{padding:36px 20px}
 .ry-redesign-root .ry-client-logos__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .ry-redesign-root .ry-client-logos__item{height:80px}
 .ry-redesign-root .ry-client-logos__image{max-width:155px;max-height:72px}
}

/* Brand/detail refinement. Scoped to the redesigned templates only. */
.ry-redesign-root .ry-brand-logo{filter:none!important;opacity:1!important;object-fit:contain;transform:none}
.ry-redesign-root .ry-site-header__logo.ry-brand-logo{width:150px;height:auto;max-height:52px}
.ry-redesign-root .ry-footer-brand{display:inline-block;max-width:100%}
.ry-redesign-root .ry-footer-logo.ry-brand-logo{display:block;width:214px;height:auto;max-height:76px}
.ry-redesign-root .ry-footer-socials{display:flex;align-items:center;gap:12px;margin-top:24px}
.ry-redesign-root .ry-footer-socials__link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:1px solid #727575;border-radius:4px;color:#fff!important;background:transparent;transition:background .18s ease,border-color .18s ease}
.ry-redesign-root .ry-footer-socials__link:hover{background:#363838;border-color:#fff}
.ry-redesign-root .ry-footer-socials__link:focus-visible{outline:2px solid var(--ry-teal);outline-offset:4px}
.ry-redesign-root .ry-footer-socials__link>span{display:flex;align-items:center;justify-content:center}
.ry-redesign-root .ry-footer-socials__link svg{display:block;width:21px;height:21px;fill:currentColor;color:#fff}
.ry-redesign-root .ry-footer-compact-brand{max-width:1280px;margin:0 auto 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ry-redesign-root .ry-footer-compact-brand .ry-footer-socials{margin:0}
.ry-redesign-home .ry-film-caption{width:min(360px,100%)}

/* Give the service names the primary typographic hierarchy. */
.ry-redesign-home .ry-service-panel__copy{container-type:inline-size}
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__name{font-family:var(--font-display)!important;font-weight:900!important;font-style:italic!important;font-size:clamp(38px,4.5vw,80px)!important;line-height:.92;letter-spacing:-.035em;max-width:100%;margin:0 0 28px;text-transform:uppercase}
@supports (font-size:1cqw){.ry-redesign-home .ry-service-panel__copy .ry-service-panel__name{font-size:clamp(38px,16cqw,86px)!important}}
.ry-redesign-home .ry-service-panel__prefix{display:block;font-size:.34em;font-weight:800;font-style:normal;letter-spacing:.17em;line-height:1.15;margin-bottom:.6em;color:inherit}
.ry-redesign-home .ry-service-panel__discipline{display:block;white-space:nowrap}
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__outcome{font-family:var(--font-display)!important;font-size:clamp(23px,2.2vw,31px)!important;font-weight:800;font-style:normal;line-height:1.18!important;letter-spacing:-.02em;color:#fff!important;margin:0 0 18px;max-width:570px}
.ry-redesign-home .ry-service-panel__copy>p:not(.ry-service-panel__outcome){color:#fff!important;margin-bottom:30px}
.ry-redesign-home .ry-service-panel--demand .ry-service-panel__name{color:var(--ry-teal)!important}
.ry-redesign-home .ry-service-panel--demand .ry-service-panel__prefix{color:#fff}



.ry-redesign-root .ry-btn-white{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display)!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.02em;font-size:14px;line-height:1.15;min-height:46px;padding:15px 24px;border:1.5px solid #fff;border-radius:6px;background:#fff;color:#171717!important;transition:background .2s ease,transform .2s ease}
.ry-redesign-root .ry-btn-white:hover{background:#eceeee;border-color:#eceeee;transform:translateY(-2px)}
.ry-redesign-root .ry-btn-white:focus-visible,.ry-redesign-root .ry-service-panel .ry-btn-dark:focus-visible{outline:3px solid var(--ry-teal);outline-offset:4px}



/* Two distinct sentences. Only REACH and MEMORY are teal. */
.ry-redesign-home .ry-difference-copy{max-width:1280px}
.ry-redesign-home .ry-difference-copy .ry-micro{color:#fff!important}
.ry-redesign-home .ry-difference-copy .ry-difference-heading{font-size:clamp(21px,5.5vw,76px)!important;line-height:1.08;letter-spacing:-.025em;color:#fff!important}
.ry-redesign-home .ry-difference-line{display:block;white-space:nowrap;color:#fff!important}
.ry-redesign-home .ry-difference-line+.ry-difference-line{margin-top:.12em}
.ry-redesign-home .ry-difference-line .ry-signal{color:var(--ry-teal)!important}
.ry-redesign-home .ry-case-study-lines{font-size:clamp(10.5px,3.15vw,44px)!important;text-transform:uppercase;line-height:1.2;max-width:100%}

/* One continuous, seamless row. The second group is decorative and inaccessible. */
.ry-redesign-root .ry-client-logos--marquee{position:relative;background:#000;color:#fff;padding:36px 0 54px;overflow:hidden;border-color:#333}
.ry-redesign-root .ry-client-logos__viewport{width:100%;overflow:hidden}
.ry-redesign-root .ry-client-logos__track{display:flex;width:max-content;max-width:none;animation:ry-client-marquee 38s linear infinite;will-change:transform}
.ry-redesign-root .ry-client-logos__group{display:flex;align-items:center;justify-content:space-around;flex:0 0 auto;min-width:100vw;gap:64px;margin:0!important;padding:0 32px!important;list-style:none!important}
.ry-redesign-root .ry-client-logos__group .ry-client-logos__item{display:flex;align-items:center;justify-content:center;width:180px;height:96px;flex:0 0 180px;min-width:0;padding:0;margin:0}
.ry-redesign-root .ry-client-logos__group .ry-client-logos__image{width:100%;height:100%;max-width:180px;max-height:80px;object-fit:contain;filter:brightness(0) invert(1);opacity:1;transform:none;animation:none}
.ry-redesign-root .ry-client-logos__viewport:hover .ry-client-logos__track,.ry-redesign-root .ry-client-logos--marquee.is-paused .ry-client-logos__track,.ry-redesign-root .ry-client-logos--marquee.is-editor-paused .ry-client-logos__track{animation-play-state:paused}
@keyframes ry-client-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ry-redesign-root .ry-logo-motion-toggle{display:none;position:absolute;right:20px;bottom:10px;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:8px;border:1px solid #777;border-radius:4px;background:#000;color:#fff;cursor:pointer}
.ry-redesign-root [data-ry-marquee-bound="true"] .ry-logo-motion-toggle{display:flex}
.ry-redesign-root .ry-logo-motion-toggle:focus-visible{outline:2px solid var(--ry-teal);outline-offset:3px}
.ry-redesign-root .ry-logo-motion-toggle__icon{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.ry-redesign-root .is-paused .ry-logo-motion-toggle__icon{height:10px;border:0;border-top:3px solid currentColor;border-bottom:3px solid currentColor}
@media(max-width:749px){
 .ry-redesign-root .ry-site-header__logo.ry-brand-logo{width:138px;max-height:47px}
 .ry-redesign-home .ry-service-panel__copy .ry-service-panel__name{font-size:clamp(42px,13vw,70px)!important}
 .ry-redesign-home .ry-service-panel__copy .ry-service-panel__outcome{font-size:25px!important}
 .ry-redesign-root .ry-btn-white{font-size:13px;padding:14px 20px;min-height:44px}
 .ry-redesign-home .ry-difference-copy .ry-difference-heading{font-size:clamp(18px,5.8vw,40px)!important}
 .ry-redesign-root .ry-client-logos__group{gap:36px;padding:0 18px!important}
 .ry-redesign-root .ry-client-logos__group .ry-client-logos__item{width:130px;height:75px;flex-basis:130px}
 .ry-redesign-root .ry-client-logos__group .ry-client-logos__image{max-width:130px;max-height:68px}
 .ry-redesign-root .ry-client-logos--marquee{padding:26px 0 47px}
}
@media(max-width:480px){.ry-redesign-root .ry-footer-compact-brand{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){
 .ry-redesign-root .ry-client-logos__track{animation:none!important;transform:none!important}
 .ry-redesign-root .ry-client-logos__viewport{overflow-x:auto;padding-bottom:8px}
 .ry-redesign-root .ry-client-logos__group--copy{display:none}
 .ry-redesign-root [data-ry-marquee-bound="true"] .ry-logo-motion-toggle{display:none}
 .ry-redesign-root .ry-btn-white{transition:none}
}
/* The base theme hides empty elements. Decorative overlays must still paint. */
.ry-redesign-home .ry-image-break__overlay,
.ry-redesign-home .ry-service-panel__image-shade{display:block}


/* Homepage service typography: use the existing store-hosted Third Rail font.
   This isolated family and selector do not alter the hero or other templates. */
@font-face {
  font-family: "RY Third Rail";
  src: url("/cdn/shop/files/Third_Rail_-_Demo.ttf?v=1744709867") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
.ry-redesign-home .ry-service-panel__discipline {
  font-family: "RY Third Rail", Impact, "Arial Narrow", sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-synthesis: none;
  color: var(--ry-teal) !important;
  letter-spacing: 0;
  line-height: 1.12;
  text-transform: uppercase;
}
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__outcome {
  text-transform: uppercase;
}





/* Homepage editorial refinements. No video or scroll-controller changes. */
.ry-redesign-home .ry-third-rail-accent {
  display: inline;
  font-family: "RY Third Rail", Impact, "Arial Narrow", sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-synthesis: none;
  letter-spacing: 0;
  color: var(--ry-teal) !important;
  background: transparent;
}
/* A single type scale for ALL three lines; their length never changes their size. */
.ry-redesign-home .ry-service-summary {
  background: #fff;
  color: #000;
  padding: clamp(88px, 8vw, 132px) clamp(20px, 4vw, 64px);
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
}
.ry-redesign-home .ry-service-summary__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  container-type: inline-size;
  text-align: left;
}
.ry-redesign-home .ry-service-summary__heading {
  margin: 0 0 38px;
  font-family: var(--font-display) !important;
  font-size: clamp(28px, 4.25vw, 62px) !important;
  font-weight: 900 !important;
  font-style: italic !important;
  text-transform: uppercase;
  text-align: left;
  color: #000 !important;
  letter-spacing: -.03em;
  line-height: .94;
}
@supports (font-size: 1cqw) {
  .ry-redesign-home .ry-service-summary__heading {
    font-size: clamp(28px, 4.65cqw, 64px) !important;
  }
}
.ry-redesign-home .ry-service-summary__line {
  display: block;
  white-space: nowrap;
  font: inherit;
  font-size: inherit !important;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: left;
  text-transform: uppercase;
}
.ry-redesign-home .ry-service-summary__line + .ry-service-summary__line {
  margin-top: 0;
}
.ry-redesign-home .ry-service-summary .ry-btn-dark {
  display: inline-flex;
  margin: 0;
  color: #fff !important;
  background: #000;
  border: 1.5px solid #000;
  border-radius: 6px;
  text-transform: uppercase;
}
.ry-redesign-home .ry-service-summary .ry-btn-dark:hover { background: #292929; border-color: #292929; }
.ry-redesign-home .ry-service-summary .ry-btn-dark:focus-visible { outline: 3px solid var(--ry-teal); outline-offset: 4px; }
.ry-redesign-home .ry-home-work .ry-case-study-lines {
  font-size: clamp(16px, 4.4vw, 62px) !important;
  line-height: 1.2;
  text-transform: uppercase;
}
@media (max-width: 749px) {
  .ry-redesign-home .ry-service-summary { min-height: 350px; padding-top: 76px; padding-bottom: 76px; }
  .ry-redesign-home .ry-service-summary__heading { margin-bottom: 30px; font-size:clamp(28px,8.2vw,42px)!important; line-height:1.02!important; }
}

/* All three service panels share the Demand treatment. Images and layout stay intact. */
.ry-redesign-home .ry-service-panel,
.ry-redesign-home .ry-service-panel .ry-service-panel__copy,
.ry-redesign-home .ry-service-panel .ry-service-panel__media {
  background-color: #000;
  color: #fff;
}
.ry-redesign-home .ry-service-panel .ry-service-panel__copy .ry-service-panel__name,
.ry-redesign-home .ry-service-panel .ry-service-panel__prefix,
.ry-redesign-home .ry-service-panel .ry-service-panel__copy .ry-service-panel__outcome,
.ry-redesign-home .ry-service-panel .ry-service-panel__copy > p {
  color: #fff !important;
}
.ry-redesign-home .ry-service-panel .ry-service-panel__discipline {
  display: block;
  color: var(--ry-teal) !important;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
/* Do not lift solid black sections to grey with a screen-blended noise texture.
   This targets section surfaces only; the video/image overlays are unchanged. */
.ry-redesign-root section.ry-filmgrain::after {
  content: none;
  display: none;
}

/* 11 Sep 2026: homepage difference and Activate refinements. */
.ry-redesign-home .ry-difference-line .ry-signal{
  font-family:"RY Third Rail", Impact, "Arial Narrow", sans-serif !important;
  font-weight:400!important;
  font-style:normal!important;
  font-synthesis:none;
  color:var(--ry-teal)!important;
  letter-spacing:0;
}
/* Homepage Rocket Activate card: true black with high-contrast white text. */
.ry-redesign-home .ryp-home .ryp-activate{background:#000!important;color:#fff!important;}
.ry-redesign-home .ryp-home .ryp-activate__body>p,
.ry-redesign-home .ryp-home .ryp-activate .ryp-step,
.ry-redesign-home .ryp-home .ryp-activate .ryp-from,
.ry-redesign-home .ryp-home .ryp-activate .ryp-once{color:#fff!important;}
.ry-redesign-home .ryp-home .ryp-activate__outputs>span{border-color:rgba(255,255,255,.48)!important;color:#fff!important;}
.ry-redesign-home .ryp-home .ryp-activate__price{border-left-color:rgba(255,255,255,.38)!important;}

/* FAQ CTA aligned with FAQ content column */
.ry-home-faq__cta{max-width:920px;margin:0 auto;text-align:left}.ry-home-faq__cta .ry-btn-outline{margin:0}

/* 11 Sep 2026: stable centered stats grid. */
.ry-redesign-root .ry-home-numbers{
  display:block;
  width:100%;
  padding-left:32px!important;
  padding-right:32px!important;
}
.ry-redesign-root .ry-home-numbers .ry-stats{
  width:100%;
  max-width:1120px;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(28px,4vw,64px)!important;
  align-items:start!important;
}
.ry-redesign-root .ry-home-numbers .ry-stats>div{
  display:flex!important;
  flex-direction:column;
  align-items:center!important;
  justify-content:flex-start;
  min-width:0;
  width:100%;
  margin:0;
  padding:28px 0 0!important;
  text-align:center!important;
}
.ry-redesign-root .ry-home-numbers .ry-stats strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  text-align:center!important;
  white-space:nowrap;
  font-size:clamp(30px,4vw,56px)!important;
  line-height:1!important;
  letter-spacing:-.04em;
  transform:none!important;
  left:auto!important;
}
.ry-redesign-root .ry-home-numbers .ry-stats span{
  display:block!important;
  width:100%!important;
  max-width:190px!important;
  margin:16px auto 0!important;
  text-align:center!important;
  line-height:1.5!important;
}
@media(max-width:980px){
  .ry-redesign-root .ry-home-numbers .ry-stats{
    max-width:620px;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:44px 54px!important;
  }
}
@media(max-width:560px){
  .ry-redesign-root .ry-home-numbers{padding-left:20px!important;padding-right:20px!important}
  .ry-redesign-root .ry-home-numbers .ry-stats{
    max-width:320px;
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .ry-redesign-root .ry-home-numbers .ry-stats strong{font-size:42px!important}
  .ry-redesign-root .ry-home-numbers .ry-stats span{max-width:220px!important}
}

/* 18 Sep 2026: homepage service hierarchy + crisp editorial separation. */
.ry-redesign-home .ry-home-services{
  background:#000;
}
.ry-redesign-home .ry-service-panel{
  border:0;
  border-top:10px solid #fff;
}
.ry-redesign-home .ry-service-panel:last-of-type{
  border-bottom:10px solid #fff;
}
.ry-redesign-home .ry-service-panel__copy{
  border-left:10px solid #fff;
}
.ry-redesign-home .ry-service-panel--reverse .ry-service-panel__copy{
  border-left:0;
  border-right:10px solid #fff;
}

/* The branded service name is a small label; the human outcome is the headline. */
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__name{
  margin:0 0 24px;
  font-family:var(--font-display)!important;
  font-size:12px!important;
  font-weight:800!important;
  font-style:normal!important;
  line-height:1.1;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff!important;
}
.ry-redesign-home .ry-service-panel__prefix,
.ry-redesign-home .ry-service-panel__discipline{
  display:inline!important;
  margin:0!important;
  font:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  white-space:normal!important;
}
.ry-redesign-home .ry-service-panel__prefix{
  color:rgba(255,255,255,.58)!important;
}
.ry-redesign-home .ry-service-panel__prefix::after{
  content:" ";
  color:rgba(255,255,255,.34);
}
.ry-redesign-home .ry-service-panel__discipline{
  color:var(--ry-teal)!important;
}
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__outcome{
  margin:0 0 26px;
  max-width:650px;
  font-family:var(--font-display)!important;
  font-size:clamp(36px,4vw,62px)!important;
  font-weight:900!important;
  font-style:italic!important;
  line-height:.98!important;
  letter-spacing:-.03em;
  text-transform:uppercase;
  color:#fff!important;
}
.ry-redesign-home .ry-service-panel__copy>p:not(.ry-service-panel__name){
  max-width:570px;
  margin:0 0 18px;
  color:rgba(255,255,255,.78)!important;
}
.ry-redesign-home .ry-service-panel__copy>p:not(.ry-service-panel__name):nth-last-of-type(1){
  margin-bottom:32px;
}
@media(max-width:749px){
  .ry-redesign-home .ry-service-panel__copy,
  .ry-redesign-home .ry-service-panel--reverse .ry-service-panel__copy{
    border-left:0;
    border-right:0;
    border-top:10px solid #fff;
  }
  .ry-redesign-home .ry-service-panel__copy .ry-service-panel__name{
    font-size:11px!important;
    margin-bottom:20px;
  }
  .ry-redesign-home .ry-service-panel__copy .ry-service-panel__outcome{
    font-size:clamp(34px,10.8vw,52px)!important;
  }
}

/* 18 Sep 2026: Homepage Rocket Activate strategy map. */
.ry-activate-map{background:#050505;color:#fff;padding:118px 32px 104px;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.ry-activate-map__wrap{max-width:1360px;margin:0 auto}
.ry-activate-map__intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:72px;align-items:end;padding-bottom:66px}
.ry-activate-map__intro .ry-masthead{color:#fff;margin:14px 0 0;font-size:clamp(48px,6.4vw,100px)!important;line-height:.88!important;letter-spacing:-.055em!important}
.ry-activate-map__intro .ry-masthead>span{display:block}
.ry-activate-map__intro-copy{padding:0 0 7px 28px;border-left:1px solid #fff}
.ry-activate-map__intro-copy p{color:rgba(255,255,255,.72)!important;font-size:16px!important;line-height:1.75!important;margin:0}
.ry-activate-map__intro-copy p+p{margin-top:18px}
.ry-activate-map__intro-copy strong{color:#fff}
.ry-activate-diagram{position:relative;border:1px solid rgba(255,255,255,.36);padding:42px 42px 0;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0))}
.ry-activate-diagram__start{max-width:580px;margin:0 auto;text-align:center;border:1px solid #fff;padding:27px 30px 25px;background:#050505;position:relative;z-index:2}
.ry-activate-diagram__index{display:block;font-family:var(--font-mono)!important;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ry-mint);margin-bottom:9px}
.ry-activate-diagram__start strong{display:block;font-family:var(--font-display)!important;font-size:clamp(31px,3.2vw,49px);line-height:1;text-transform:uppercase;letter-spacing:-.045em}
.ry-activate-diagram__start small{display:block;margin-top:11px;color:rgba(255,255,255,.62);font-size:13px;line-height:1.5}
.ry-activate-diagram__stem{height:58px;width:1px;background:rgba(255,255,255,.6);margin:0 auto;position:relative}
.ry-activate-diagram__stem:after{content:"";position:absolute;left:50%;bottom:-1px;width:7px;height:7px;background:var(--ry-mint);transform:translate(-50%,50%) rotate(45deg)}
.ry-activate-diagram__plan{max-width:780px;margin:0 auto;padding:24px 30px;text-align:center;background:var(--ry-mint);color:#080a09}
.ry-activate-diagram__plan>span{display:block;font-family:var(--font-mono)!important;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}
.ry-activate-diagram__plan>strong{display:block;font-family:var(--font-display)!important;font-size:clamp(24px,2.5vw,38px);line-height:1.06;text-transform:uppercase;letter-spacing:-.035em}
.ry-activate-diagram__plan>small{display:block;margin-top:7px;font-size:12px;opacity:.65}
.ry-activate-diagram__report{background:var(--ry-mint);color:#080a09}
.ry-activate-diagram__plan-step{background:#fff;color:#050505;border:1px solid rgba(255,255,255,.55)}
.ry-activate-diagram__execute{max-width:780px;margin:0 auto;padding:25px 30px;text-align:center;background:#050505;color:#fff;border:2px solid var(--ry-mint)}
.ry-activate-diagram__execute>span{display:block;font-family:var(--font-mono)!important;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ry-mint);margin-bottom:7px}
.ry-activate-diagram__execute>strong{display:block;font-family:var(--font-display)!important;font-size:clamp(26px,2.7vw,41px);line-height:1.04;text-transform:uppercase;letter-spacing:-.035em}
.ry-activate-diagram__execute>small{display:block;margin-top:8px;font-size:12px;color:rgba(255,255,255,.66)}
.ry-activate-diagram__branch{height:76px;position:relative;max-width:calc(66.666% + 4px);margin:0 auto}
.ry-activate-diagram__branch>span{position:absolute;top:0;left:50%;height:38px;width:1px;background:rgba(255,255,255,.55)}
.ry-activate-diagram__branch:after{content:"";position:absolute;top:38px;left:0;right:0;height:1px;background:rgba(255,255,255,.55)}
.ry-activate-diagram__branch>i{position:absolute;top:38px;width:1px;height:38px;background:rgba(255,255,255,.55)}
.ry-activate-diagram__branch>i:nth-of-type(1){left:0}.ry-activate-diagram__branch>i:nth-of-type(2){left:50%}.ry-activate-diagram__branch>i:nth-of-type(3){right:0}
.ry-activate-diagram__pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 -42px;border-top:1px solid rgba(255,255,255,.36)}
.ry-activate-diagram__pillars article{padding:31px 34px 34px;min-height:230px;border-right:1px solid rgba(255,255,255,.36);display:flex;flex-direction:column}
.ry-activate-diagram__pillars article:last-child{border-right:0}
.ry-activate-diagram__pillars h3{font-family:var(--font-display)!important;color:#fff!important;font-size:clamp(25px,2.5vw,38px)!important;line-height:.98!important;letter-spacing:-.04em!important;text-transform:uppercase;margin:12px 0 28px;max-width:340px}
.ry-activate-diagram__pillars p{margin:auto 0 0!important;color:var(--ry-teal)!important;font-family:var(--font-mono)!important;font-size:11px!important;letter-spacing:.12em;text-transform:uppercase}
.ry-activate-diagram__pillars p span{color:rgba(255,255,255,.5)}
.ry-activate-diagram__tasks{display:block;margin-top:12px;font-family:var(--font-mono)!important;font-size:9px;line-height:1.55;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ry-activate-diagram__decision{margin:0 -42px;padding:24px 34px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.36);background:#fff;color:#050505}
.ry-activate-diagram__decision span{font-family:var(--font-mono)!important;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.ry-activate-diagram__decision strong{font-family:var(--font-display)!important;font-size:clamp(19px,2vw,29px);line-height:1;text-transform:uppercase;letter-spacing:-.03em;text-align:right}
.ry-activate-map__footer{display:flex;justify-content:center;align-items:center;gap:32px;padding-top:34px;text-align:center}
.ry-activate-map__footer p{color:rgba(255,255,255,.62)!important;margin:0!important;font-size:14px!important}
.ry-activate-map__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:100%}
@media(max-width:920px){.ry-activate-map__intro{grid-template-columns:1fr;gap:35px}.ry-activate-map__intro-copy{max-width:650px}.ry-activate-diagram{padding-left:26px;padding-right:26px}.ry-activate-diagram__pillars,.ry-activate-diagram__decision{margin-left:-26px;margin-right:-26px}.ry-activate-diagram__pillars article{padding-left:24px;padding-right:24px}.ry-activate-map__footer{align-items:center;flex-direction:column}.ry-activate-map__actions{justify-content:center}}
@media(max-width:680px){.ry-activate-map{padding:78px 20px 70px}.ry-activate-map__intro{padding-bottom:42px}.ry-activate-map__intro .ry-masthead{font-size:clamp(43px,13vw,66px)!important}.ry-activate-map__intro-copy{border-left:0;border-top:1px solid #fff;padding:22px 0 0}.ry-activate-diagram{padding:22px 18px 0}.ry-activate-diagram__start{padding:24px 18px}.ry-activate-diagram__stem{height:42px}.ry-activate-diagram__plan{padding:22px 18px}.ry-activate-diagram__execute{padding:22px 18px}.ry-activate-diagram__branch{display:none}.ry-activate-diagram__pillars{grid-template-columns:1fr;margin:28px -18px 0;border-top:1px solid rgba(255,255,255,.36)}.ry-activate-diagram__pillars article{min-height:0;padding:26px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.36)}.ry-activate-diagram__pillars article:last-child{border-bottom:0}.ry-activate-diagram__pillars h3{font-size:30px!important;margin:10px 0 25px;max-width:420px}.ry-activate-diagram__decision{margin:0 -18px;padding:21px 22px;display:block}.ry-activate-diagram__decision strong{display:block;text-align:left;margin-top:7px;font-size:22px}.ry-activate-map__actions{display:grid;width:100%}.ry-activate-map__actions a{width:100%;text-align:center}}


/* Homepage case study framing - editorial white split system */
.ry-redesign-home .ry-work-editorial-grid{
  border-top:10px solid #fff;
  border-bottom:10px solid #fff;
}
.ry-redesign-home .ry-work-editorial-grid>figure:first-child{
  border-right:10px solid #fff;
}
.ry-redesign-home .ry-work-editorial-grid>figure.ry-work-editorial-grid__wide{
  border-top:10px solid #fff;
}
@media(max-width:749px){
  .ry-redesign-home .ry-work-editorial-grid>figure:first-child{border-right:0;}
  .ry-redesign-home .ry-work-editorial-grid>figure+figure{border-top:10px solid #fff;}
}


.ry-redesign-home .ry-work-editorial-grid.ry-work-editorial-grid--four-up>figure{border-right:10px solid #fff;border-top:10px solid #fff}
.ry-redesign-home .ry-work-editorial-grid.ry-work-editorial-grid--four-up>figure:nth-child(2n){border-right:0}
.ry-redesign-home .ry-work-editorial-grid.ry-work-editorial-grid--four-up>figure:nth-child(-n+2){border-top:0}
@media(max-width:749px){
  .ry-redesign-home .ry-work-editorial-grid.ry-work-editorial-grid--four-up>figure{border-right:0;border-top:10px solid #fff}
  .ry-redesign-home .ry-work-editorial-grid.ry-work-editorial-grid--four-up>figure:first-child{border-top:0}
}

/* 18 Sep 2026: make the service statement a clean white editorial break. */
.ry-redesign-home .ry-home-services{
  padding-top:0!important;
}
.ry-redesign-home .ry-home-section-head--services{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  margin:0;
  padding:112px max(32px,calc((100vw - 1280px)/2 + 32px)) 78px!important;
  background:#fff;
  color:var(--ry-ink);
}
.ry-redesign-home .ry-home-section-head--services .ry-service-outcome-lines{
  max-width:1280px;
  margin:20px auto 0;
  color:var(--ry-ink)!important;
}
@media(max-width:749px){
  .ry-redesign-home .ry-home-section-head--services{
    padding:72px 20px 52px!important;
  }
  .ry-redesign-home .ry-home-section-head--services .ry-service-outcome-lines{
    margin-top:0;
  }
}

/* 22 Sep 2026: contour backgrounds removed site-wide. */
.ry-redesign-root .ry-stage::before,
.ry-redesign-home .ry-service-panel__copy::before,
.ry-redesign-home .ry-home-work::before,
.ry-redesign-home .ry-activate-map::before,
.ry-redesign-root .ry-client-logos::before,
.ry-redesign-root .ry-client-logos--marquee::before,
.ry-redesign-root .ryp-activate::before,
.ry-redesign-root .ryp-pricing-close::before,
.ry-redesign-root .ry-contour-solid::before,
.ry-redesign-root.ry-contour-page::before,
.ry-redesign-root .ry-site-header::before,
.ry-redesign-root .ry-mobile-nav::before,
.ry-redesign-root .ry-redesign-footer::before,
.ry-redesign-root .ryp-page-hero--visual::before,
.ry-contact-page .ry-contact-hero::before {
  content:none!important;
  background:none!important;
  background-image:none!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}

/* 21 Sep 2026: Contact / UK HQ page */
.ry-contact-page .ry-contact-shell{width:min(1280px,calc(100% - 64px));margin:0 auto}
.ry-contact-page .ry-contact-hero{position:relative;overflow:hidden;padding:170px 0 110px;min-height:640px;display:flex;align-items:flex-end;background:#000}
.ry-contact-page .ry-contact-hero__media{position:absolute;inset:0;z-index:0}
.ry-contact-page .ry-contact-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(.95) contrast(1.04)}
.ry-contact-page .ry-contact-hero__shade{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 38%,rgba(0,0,0,.52) 70%,rgba(0,0,0,.58) 100%),linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.7) 100%)}
.ry-contact-page .ry-contact-hero__inner{position:relative;z-index:1;text-align:left}
.ry-contact-page .ry-contact-hero__title{font-size:clamp(64px,9vw,138px);margin:0;line-height:.86;text-wrap:balance;max-width:920px;text-align:left}
.ry-contact-page .ry-contact-hero__intro{max-width:680px;font-size:clamp(18px,2vw,25px)!important;line-height:1.5!important;color:#fff!important;margin:0}
.ry-contact-page .ry-contact-form-section{background:#fff;padding:110px 0 120px}
.ry-contact-page .ry-contact-form-grid{display:block}.ry-contact-page .ry-contact-form-wrap{width:min(100%,960px);margin:0 auto}
.ry-contact-page .ry-contact-form-copy{position:sticky;top:118px}
.ry-contact-page .ry-contact-form-copy .ry-h2{font-size:clamp(48px,5.8vw,82px);margin:0;color:#000!important;line-height:.94;max-width:520px}
.ry-contact-page .ry-contact-form-copy>p{font-size:17px!important;line-height:1.65!important;color:var(--ry-n-600)!important;max-width:520px}
.ry-contact-page .ry-contact-direct{margin-top:48px;padding-top:24px;border-top:2px solid #000;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ry-contact-page .ry-contact-direct a{font-family:var(--font-display)!important;font-size:clamp(21px,2.4vw,34px);font-style:italic!important;font-weight:900;color:#000!important;line-height:1}
.ry-contact-page .ry-contact-form{display:flex;flex-direction:column;gap:24px}
.ry-contact-page .ry-contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ry-contact-page .ry-contact-field{display:flex;flex-direction:column;gap:9px;font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#000}
.ry-contact-page .ry-contact-field input,.ry-contact-page .ry-contact-field select,.ry-contact-page .ry-contact-field textarea{width:100%;border:0;border-bottom:2px solid #000;border-radius:0;background:#f5f5f3;color:#000;font-family:var(--font-body);font-size:16px;letter-spacing:0;text-transform:none;padding:17px 16px;outline:none;transition:border-color .18s ease,background .18s ease}
.ry-contact-page .ry-contact-field textarea{resize:vertical;min-height:160px}
.ry-contact-page .ry-contact-field input:focus,.ry-contact-page .ry-contact-field select:focus,.ry-contact-page .ry-contact-field textarea:focus{background:#fff;border-color:var(--ry-teal);box-shadow:0 0 0 2px var(--ry-teal)}
.ry-contact-page .ry-contact-submit{align-self:flex-start;margin-top:4px;border:0;cursor:pointer}
.ry-contact-page .ry-contact-form__success{padding:18px 20px;background:var(--ry-teal);color:#000;font-weight:700}
.ry-contact-page .ry-contact-form__errors{padding:18px 20px;background:#f3efec;color:#000;border-left:4px solid #000}
.ry-contact-page .ry-contact-details-section{background:#fff;color:#000;padding:92px 0 96px}
.ry-contact-page .ry-contact-details__head{display:block;text-align:left;margin-bottom:42px}
.ry-contact-page .ry-contact-details__head .ry-h2{color:#000!important;font-size:clamp(24px,4.5vw,60px);line-height:.92;margin:12px 0 0;max-width:none;text-align:left;white-space:nowrap;letter-spacing:-.035em}
.ry-contact-page .ry-contact-details__grid{display:grid;grid-template-columns:1fr 1fr .72fr;border:1px solid rgba(0,0,0,.24)}
.ry-contact-page .ry-contact-detail-card,.ry-contact-page .ry-contact-social-card{min-height:176px;padding:30px 32px;display:flex;align-items:center;gap:22px;border-right:1px solid rgba(0,0,0,.24);background:#fff;color:#000;text-decoration:none}
.ry-contact-page .ry-contact-social-card{border-right:0;align-items:flex-start;justify-content:center;flex-direction:column}
.ry-contact-page .ry-contact-detail-card:hover,.ry-contact-page .ry-contact-detail-card:focus-visible{background:#f5f4ef;outline:none}
.ry-contact-page .ry-contact-detail-card__icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.35);border-radius:50%;flex:0 0 52px}
.ry-contact-page .ry-contact-detail-card__icon svg{width:24px;height:24px;fill:var(--ry-teal)}
.ry-contact-page .ry-contact-detail-card__copy{min-width:0;display:flex;flex-direction:column;gap:8px}
.ry-contact-page .ry-contact-detail-card__copy small,.ry-contact-page .ry-contact-social-card__label{font-family:var(--font-mono)!important;font-size:10px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--ry-teal)}
.ry-contact-page .ry-contact-detail-card__copy strong{font-family:var(--font-display)!important;font-size:clamp(16px,1.65vw,24px);line-height:1;font-style:italic;font-weight:900;color:#000;white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:-.02em}
.ry-contact-page .ry-contact-social-links{display:flex;gap:12px;align-items:center}
.ry-contact-page .ry-contact-social-links a{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.35);border-radius:50%;color:#000;transition:background .18s ease,border-color .18s ease}
.ry-contact-page .ry-contact-social-links a:hover,.ry-contact-page .ry-contact-social-links a:focus-visible{background:var(--ry-teal);border-color:var(--ry-teal);outline:none}
.ry-contact-page .ry-contact-social-links svg{width:22px;height:22px;fill:var(--ry-teal);transition:fill .18s ease}
.ry-contact-page .ry-contact-social-links a:hover svg,.ry-contact-page .ry-contact-social-links a:focus-visible svg{fill:#000}
.ry-contact-page .ry-contact-office{padding:100px 0 112px;overflow:hidden}
.ry-contact-page .ry-contact-office__head{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:42px}
.ry-contact-page .ry-contact-office__head .ry-h2{font-size:clamp(36px,5.4vw,78px);margin:14px 0 0;white-space:nowrap;letter-spacing:-.035em}
.ry-contact-page .ry-contact-carousel__controls{display:flex;align-items:center;gap:18px;flex:none}
.ry-contact-page .ry-contact-carousel__controls button{min-height:44px;padding:0 14px;border:1px solid #fff;border-radius:6px;background:transparent;color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;cursor:pointer}
.ry-contact-page .ry-contact-carousel__controls button:hover,.ry-contact-page .ry-contact-carousel__controls button:focus-visible{background:#fff;color:#000;outline:none}
.ry-contact-page .ry-contact-carousel__count{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.58);min-width:62px;text-align:center}
.ry-contact-page .ry-contact-carousel__count strong{color:var(--ry-teal);font-weight:500}
.ry-contact-page .ry-contact-carousel{position:relative;z-index:1;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.ry-contact-page .ry-contact-carousel::-webkit-scrollbar{display:none}
.ry-contact-page .ry-contact-carousel__track{display:flex;gap:22px;width:max-content;padding-right:32px}
.ry-contact-page .ry-contact-carousel__slide{position:relative;width:min(64vw,900px);aspect-ratio:16/10;flex:none;margin:0;overflow:hidden;background:#191b1b;scroll-snap-align:start;border:1px solid #353838}
.ry-contact-page .ry-contact-carousel__slide img{width:100%;height:100%;object-fit:cover}
.ry-contact-page .ry-contact-carousel__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:34px;background:linear-gradient(135deg,#151717,#292c2c);color:#fff}
.ry-contact-page .ry-contact-carousel__placeholder span,.ry-contact-page .ry-contact-carousel__placeholder small{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.54)}
.ry-contact-page .ry-contact-carousel__placeholder strong{font-family:var(--font-display);font-style:italic;font-size:clamp(72px,10vw,150px);line-height:.8;color:var(--ry-teal);margin:14px 0 24px}
.ry-contact-page .ry-contact-location{background:#fff;padding:88px 0 120px}
.ry-contact-page .ry-contact-location__inner{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.68fr);gap:clamp(32px,4vw,52px);align-items:center}
.ry-contact-page .ry-contact-location__map-card{padding:16px;background:#f4f4f1;border:1px solid #d6d6d0;box-shadow:0 18px 44px rgba(0,0,0,.08)}
.ry-contact-page .ry-contact-location__map{min-height:420px;background:#ececea;border:2px solid #000}
.ry-contact-page .ry-contact-location__map iframe{display:block;width:100%;height:100%;min-height:420px;border:0;filter:grayscale(1) contrast(1.05)}
.ry-contact-page .ry-contact-location__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;border-left:0}
.ry-contact-page .ry-contact-location__copy .ry-h2{font-size:clamp(42px,5vw,74px);margin:16px 0 30px;color:#000!important;line-height:.92;overflow:visible;padding-bottom:.08em;text-wrap:balance}
.ry-contact-page .ry-contact-location__copy address{font-family:var(--font-body);font-style:normal;font-size:18px;line-height:1.65;color:var(--ry-n-700);margin:0 0 34px}
@media(max-width:900px){
  .ry-contact-page .ry-contact-form-grid{grid-template-columns:1fr;gap:54px}
  .ry-contact-page .ry-contact-form-copy{position:static}
  .ry-contact-page .ry-contact-details__grid{grid-template-columns:1fr 1fr}
  .ry-contact-page .ry-contact-social-card{grid-column:1/-1;border-top:1px solid rgba(0,0,0,.24)}
  .ry-contact-page .ry-contact-detail-card:nth-child(2){border-right:0}
  .ry-contact-page .ry-contact-location__inner{grid-template-columns:1fr}
  .ry-contact-page .ry-contact-location__map,.ry-contact-page .ry-contact-location__map iframe{min-height:420px}
}
@media(max-width:749px){
  .ry-contact-page .ry-contact-shell{width:calc(100% - 40px)}
  .ry-contact-page .ry-contact-hero{padding:116px 0 72px;min-height:500px}
  .ry-contact-page .ry-contact-hero__media img{object-position:62% top}
  .ry-contact-page .ry-contact-hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.56) 0%,rgba(0,0,0,.9) 82%),linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.42) 100%)}
  .ry-contact-page .ry-contact-hero__title{font-size:clamp(52px,16vw,88px);line-height:.88;max-width:8ch;text-align:left}
  .ry-contact-page .ry-contact-form-section{padding:74px 0 82px}
  .ry-contact-page .ry-contact-form-copy .ry-h2{font-size:clamp(44px,13vw,64px)}
  .ry-contact-page .ry-contact-field-grid{grid-template-columns:1fr}
  .ry-contact-page .ry-contact-details-section{padding:68px 0 72px}
  .ry-contact-page .ry-contact-details__head{margin-bottom:30px}
  .ry-contact-page .ry-contact-details__grid{grid-template-columns:1fr}
  .ry-contact-page .ry-contact-detail-card,.ry-contact-page .ry-contact-social-card{min-height:0;padding:26px 22px;border-right:0;border-bottom:1px solid rgba(0,0,0,.24)}
  .ry-contact-page .ry-contact-social-card{grid-column:auto;border-top:0;border-bottom:0}
  .ry-contact-page .ry-contact-details__head .ry-h2{font-size:clamp(22px,7.2vw,34px)}
  .ry-contact-page .ry-contact-detail-card__copy strong{font-size:16px}
  .ry-contact-page .ry-contact-office__head .ry-h2{font-size:clamp(24px,7vw,36px)}
  .ry-contact-page .ry-contact-office{padding:72px 0 82px}
  .ry-contact-page .ry-contact-office__head{align-items:flex-start;flex-direction:column;margin-bottom:28px}
  .ry-contact-page .ry-contact-carousel__slide{width:88vw;aspect-ratio:4/5}
  .ry-contact-page .ry-contact-carousel__track{gap:12px}
  .ry-contact-page .ry-contact-location{padding:64px 0 74px}
  .ry-contact-page .ry-contact-location__map-card{padding:10px}
  .ry-contact-page .ry-contact-location__map,.ry-contact-page .ry-contact-location__map iframe{min-height:320px}
  .ry-contact-page .ry-contact-location__copy{padding:0}
}
@media(prefers-reduced-motion:reduce){.ry-contact-page .ry-contact-carousel{scroll-behavior:auto}}


/* 21 Sep 2026: Strategic system naming hierarchy.
   DEMAND / ATTRACT / CONNECT use Third Rail; the companion words stay restrained. */
.ry-redesign-home .ry-service-panel__prefix{
  display:inline-block!important;
  font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;
  font-size:1.7em!important;
  font-weight:400!important;
  font-style:normal!important;
  font-synthesis:none;
  line-height:.8!important;
  letter-spacing:0!important;
  color:var(--ry-teal)!important;
  vertical-align:baseline;
}
.ry-redesign-home .ry-service-panel__prefix::after{content:"  ";}
.ry-redesign-home .ry-service-panel__discipline{
  display:inline-block!important;
  font-family:var(--font-mono)!important;
  font-size:1em!important;
  font-weight:600!important;
  font-style:normal!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  color:#fff!important;
  vertical-align:baseline;
}
.ry-activate-diagram__pillars p{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  line-height:1!important;
}
.ry-activate-diagram__pillars .ry-service-lead{
  font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;
  font-size:27px!important;
  font-weight:400!important;
  font-style:normal!important;
  font-synthesis:none;
  letter-spacing:0!important;
  line-height:.8!important;
  color:var(--ry-teal)!important;
}
.ry-activate-diagram__pillars .ry-service-tail{
  font-family:var(--font-mono)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.18em!important;
  line-height:1!important;
  color:#fff!important;
}

/* 21 Sep 2026: Homepage system labels stacked for clearer hierarchy. */
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__name{
  font-size:14px!important;
  line-height:1!important;
}
.ry-redesign-home .ry-service-panel__prefix{
  display:block!important;
  font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;
  font-size:1.55em!important;
  font-weight:400!important;
  font-style:normal!important;
  font-synthesis:none;
  line-height:.86!important;
  letter-spacing:0!important;
  color:var(--ry-teal)!important;
  margin:0 0 7px!important;
}
.ry-redesign-home .ry-service-panel__prefix::after{content:""!important;}
.ry-redesign-home .ry-service-panel__discipline{
  display:block!important;
  font-family:var(--font-mono)!important;
  font-size:1em!important;
  font-weight:600!important;
  font-style:normal!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  color:#fff!important;
  margin:0!important;
}

/* Connect Cultures homepage image: preserve the full supplied portrait without cropping. */
.ry-redesign-home .ry-service-panel--influence .ry-service-panel__media {
  background: #000;
}
.ry-redesign-home .ry-service-panel--influence .ry-service-panel__media .ry-slot-img {
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
.ry-redesign-home .ry-service-panel--influence:hover .ry-service-panel__media .ry-slot-img {
  transform: none !important;
}

/* 22 Sep 2026: homepage inline full-width image */
.ry-home-inline-image{position:relative;width:100%;background:#000;line-height:0;overflow:hidden}.ry-home-inline-image__media{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;transform:scale(var(--ry-inline-zoom,1))!important;transform-origin:center center!important;will-change:transform}

/* 24 Sep 2026: Homepage copy clarity, breathing room and responsive wrapping. */
.ry-redesign-home .ry-film-message{
  padding:clamp(96px,9vw,148px) clamp(24px,6vw,96px);
}
.ry-redesign-home .ry-film-message__inner{
  max-width:1160px;
}
.ry-redesign-home .ry-film-message__heading{
  max-width:1080px;
  font-size:clamp(44px,6.2vw,82px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  margin-bottom:34px!important;
  overflow:visible!important;
  padding-bottom:.06em;
}
.ry-redesign-home .ry-film-message__heading>span{
  white-space:normal!important;
  text-wrap:balance;
}
.ry-redesign-home .ry-film-message p{
  max-width:620px;
  font-size:clamp(18px,1.5vw,22px)!important;
  line-height:1.55!important;
  margin-bottom:30px!important;
}

.ry-redesign-home .ry-home-section-head--services{
  padding-top:clamp(92px,9vw,140px)!important;
  padding-bottom:clamp(74px,7vw,108px)!important;
}
.ry-redesign-home .ry-home-section-head--services .ry-service-outcome-lines{
  max-width:1040px;
  margin:0 auto;
  font-size:clamp(34px,4.5vw,64px)!important;
  line-height:1.04!important;
  letter-spacing:-.03em!important;
  overflow:visible!important;
}
.ry-redesign-home .ry-service-outcome-lines span{
  white-space:normal!important;
  text-wrap:balance;
}
.ry-redesign-home .ry-service-outcome-lines span+span{
  margin-top:.14em;
}

.ry-redesign-home .ry-service-panel__copy{
  padding:clamp(78px,7vw,112px) clamp(38px,6vw,92px)!important;
}
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__name{
  margin-bottom:28px!important;
}
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__outcome{
  max-width:560px!important;
  font-size:clamp(38px,4vw,60px)!important;
  line-height:1.02!important;
  margin-bottom:30px!important;
  overflow:visible!important;
  padding-bottom:.04em;
  text-wrap:balance;
}
.ry-redesign-home .ry-service-panel__copy>p:not(.ry-service-panel__name){
  max-width:520px!important;
  font-size:17px!important;
  line-height:1.58!important;
  margin-bottom:22px!important;
}
.ry-redesign-home .ry-service-panel__copy>p strong{
  display:block;
  font-weight:700;
  color:#fff!important;
}
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__channels{
  font-family:var(--font-mono)!important;
  font-size:11px!important;
  line-height:1.6!important;
  letter-spacing:.09em!important;
  text-transform:uppercase;
  color:rgba(255,255,255,.58)!important;
  margin-bottom:34px!important;
}

.ry-redesign-home .ry-service-summary{
  min-height:0!important;
  padding:clamp(92px,8vw,132px) clamp(24px,6vw,96px)!important;
}
.ry-redesign-home .ry-service-summary__heading{
  max-width:920px;
  line-height:1.02!important;
  margin-bottom:42px!important;
  overflow:visible!important;
  padding-bottom:.04em;
}
.ry-redesign-home .ry-service-summary__line{
  white-space:normal!important;
  text-wrap:balance;
}
.ry-redesign-home .ry-service-summary__line+.ry-service-summary__line{
  margin-top:.08em!important;
}

.ry-redesign-home .ry-difference-heading{
  max-width:900px;
  line-height:.98!important;
  overflow:visible!important;
  padding-bottom:.05em;
  text-transform:none!important;
}
.ry-redesign-home .ry-difference-line{
  white-space:normal!important;
  text-wrap:balance;
}

.ry-redesign-home .ry-activate-map{
  padding-top:clamp(96px,8vw,130px);
  padding-bottom:clamp(90px,8vw,118px);
}
.ry-redesign-home .ry-activate-map__intro{
  grid-template-columns:1fr!important;
  gap:0;
  padding-bottom:clamp(56px,6vw,82px);
}
.ry-redesign-home .ry-activate-map__intro .ry-masthead{
  max-width:820px;
  font-size:clamp(46px,6vw,88px)!important;
  line-height:.96!important;
  overflow:visible!important;
  padding-bottom:.06em;
}

.ry-redesign-home .ry-activate-map__title-line{
  display:block;
  white-space:nowrap;
}
.ry-redesign-home .ry-activate-map__title-line+ .ry-activate-map__title-line{
  margin-top:.04em;
}
.ry-redesign-home .ry-activate-map__intro-copy{
  max-width:500px;
}
.ry-redesign-home .ry-activate-map__intro-copy p{
  font-size:17px!important;
  line-height:1.65!important;
}
.ry-redesign-home .ry-activate-diagram__pillars h3{
  font-size:clamp(21px,1.9vw,30px)!important;
  line-height:1.08!important;
  max-width:360px;
  text-wrap:balance;
}
.ry-redesign-home .ry-activate-diagram__decision strong{
  max-width:560px;
}

.ry-redesign-home .ry-home-work>.ry-home-section-head{
  padding-top:8px;
  padding-bottom:12px;
}
.ry-redesign-home .ry-home-work .ry-case-study-lines{
  max-width:920px;
  line-height:1.08!important;
}
.ry-redesign-home .ry-home-work .ry-case-study-lines>span{
  white-space:normal!important;
  text-wrap:balance;
}
.ry-redesign-home .ry-home-inline-cta{
  padding-top:52px;
  padding-bottom:96px;
}

.ry-redesign-home .ry-home-faq{
  padding-top:clamp(92px,8vw,126px)!important;
  padding-bottom:clamp(92px,8vw,126px)!important;
}
.ry-redesign-home .ry-home-faq>.ry-home-section-head{
  margin-bottom:52px;
}
.ry-redesign-home .ry-faq-item__answer p{
  max-width:720px;
  line-height:1.65!important;
}

.ry-redesign-home .ry-home-close .ry-masthead{
  max-width:900px;
  line-height:.96!important;
  overflow:visible!important;
  padding-bottom:.08em;
  text-wrap:balance;
}

@media(max-width:749px){
  .ry-redesign-home .ry-film-message{
    padding:82px 20px 72px!important;
  }
  .ry-redesign-home .ry-film-message__heading{
    font-size:clamp(40px,12vw,60px)!important;
    line-height:1!important;
  }
  .ry-redesign-home .ry-home-section-head--services{
    padding:76px 20px 64px!important;
  }
  .ry-redesign-home .ry-home-section-head--services .ry-service-outcome-lines{
    font-size:clamp(30px,9.5vw,46px)!important;
    line-height:1.04!important;
  }
  .ry-redesign-home .ry-service-panel__copy{
    padding:62px 22px 68px!important;
  }
  .ry-redesign-home .ry-service-panel__copy .ry-service-panel__outcome{
    font-size:clamp(36px,10.5vw,50px)!important;
    line-height:1.02!important;
  }
  .ry-redesign-home .ry-service-panel__copy>p:not(.ry-service-panel__name){
    font-size:16px!important;
    line-height:1.6!important;
  }
  .ry-redesign-home .ry-service-summary{
    padding:76px 20px!important;
  }
  .ry-redesign-home .ry-service-summary__heading{
    font-size:clamp(34px,10vw,48px)!important;
    line-height:1.02!important;
  }
  .ry-redesign-home .ry-image-break__copy{
    bottom:44px;
  }
  .ry-redesign-home .ry-difference-heading{
    font-size:clamp(40px,11vw,56px)!important;
    line-height:1!important;
  }
  .ry-redesign-home .ry-activate-map__intro .ry-masthead{
    font-size:clamp(31px,9.6vw,50px)!important;
    line-height:.98!important;
  }
  .ry-redesign-home .ry-activate-diagram__pillars h3{
    font-size:25px!important;
    line-height:1.08!important;
  }
  .ry-redesign-home .ry-home-work .ry-case-study-lines{
    font-size:clamp(34px,10vw,48px)!important;
  }
  .ry-redesign-home .ry-home-inline-cta{
    padding-top:42px;
    padding-bottom:74px;
  }
}


/* 24 Sep 2026: Connect the three homepage systems as one continuous journey. */
.ry-redesign-home .ry-service-flow-connector{
  height:82px;
  background:#000;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
}
.ry-redesign-home .ry-service-flow-connector::before{
  content:"";
  width:2px;
  height:54px;
  background:var(--ry-teal);
}
.ry-redesign-home .ry-service-flow-connector::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:11px;
  width:11px;
  height:11px;
  border-right:2px solid var(--ry-teal);
  border-bottom:2px solid var(--ry-teal);
  transform:translateX(-50%) rotate(45deg);
}
.ry-redesign-home .ry-service-panel__copy .ry-service-panel__outcome{
  text-wrap:balance;
}
@media(max-width:749px){
  .ry-redesign-home .ry-service-flow-connector{height:62px}
  .ry-redesign-home .ry-service-flow-connector::before{height:38px}
}

/* 25 Sep 2026: one consistent editorial left edge across Rocket Yard page copy. */
.ry-redesign-root{
  --ry-content-max:1280px;
  --ry-content-gutter:32px;
}
.ry-redesign-root .ry-copy-shell,
.ry-redesign-home .ry-film-message__inner,
.ry-redesign-home .ry-service-summary__inner,
.ry-redesign-home .ry-activate-map__wrap,
.ry-redesign-home .ry-home-work>.ry-home-section-head,
.ry-redesign-home .ry-home-faq>.ry-home-section-head,
.ry-redesign-home .ry-faq-list,
.ry-redesign-home .ry-home-faq__cta,
.ry-redesign-home .ry-home-close>div{
  width:min(var(--ry-content-max),calc(100% - (var(--ry-content-gutter) * 2)))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ry-redesign-home .ry-film-message,
.ry-redesign-home .ry-service-summary,
.ry-redesign-home .ry-activate-map,
.ry-redesign-home .ry-home-faq,
.ry-redesign-home .ry-home-close{
  padding-left:0!important;
  padding-right:0!important;
}
.ry-redesign-home .ry-home-work>.ry-home-section-head,
.ry-redesign-home .ry-home-faq>.ry-home-section-head{
  padding-left:0!important;
  padding-right:0!important;
}
.ry-redesign-home .ry-image-break__copy{
  left:50%!important;
  right:auto!important;
  width:min(var(--ry-content-max),calc(100% - (var(--ry-content-gutter) * 2)))!important;
  max-width:none!important;
  transform:translateX(-50%);
}
.ry-redesign-home .ry-home-close{
  text-align:left!important;
}
.ry-redesign-home .ry-home-close>div,
.ry-redesign-home .ry-home-close h2,
.ry-redesign-home .ry-home-close p{
  text-align:left!important;
}
.ry-redesign-home .ry-home-close p{
  margin-left:0!important;
  margin-right:0!important;
}

/* The three homepage outcomes now play as a true scroll story: one sentence at a time,
   always anchored to the same left edge. This is progressive enhancement: without
   JavaScript the three sentences remain normally stacked and readable. */
.ry-redesign-home.ry-outcome-scroll-enabled .ry-home-section-head--services{
  position:relative!important;
  height:270vh;
  min-height:1500px;
  padding:0!important;
  margin:0!important;
  background:#fff;
}
.ry-redesign-home.ry-outcome-scroll-enabled .ry-home-section-head--services .ry-service-outcome-lines{
  position:sticky;
  top:78px;
  width:min(var(--ry-content-max),calc(100% - (var(--ry-content-gutter) * 2)))!important;
  max-width:none!important;
  height:calc(100vh - 78px);
  margin:0 auto!important;
  display:grid;
  align-items:center;
  justify-items:start;
  overflow:visible!important;
}
.ry-redesign-home.ry-outcome-scroll-enabled .ry-service-outcome-lines span{
  grid-area:1 / 1;
  display:block;
  max-width:1080px;
  margin:0!important;
  opacity:0;
  transform:none!important;
  transition:none!important;
  will-change:auto;
  pointer-events:none;
}
.ry-redesign-home.ry-outcome-scroll-enabled .ry-service-outcome-lines span.is-visible{
  opacity:1!important;
  transform:none!important;
}
.ry-redesign-home .ry-service-outcome-lines span:nth-child(2){
  color:var(--ry-teal)!important;
}

/* Shared copy shells used by the FAQ / Work pages. The column can be narrow,
   but its LEFT edge never drifts toward the centre. */
.ry-redesign-root .ry-copy-shell{
  text-align:left;
}
.ry-redesign-root .ry-copy-column{
  max-width:820px;
  margin:0;
  text-align:left;
}
.ry-redesign-root .ry-copy-column--wide{
  max-width:1000px;
}
.ry-redesign-root .ry-copy-column p,
.ry-redesign-root .ry-copy-column h1,
.ry-redesign-root .ry-copy-column h2,
.ry-redesign-root .ry-copy-column h3{
  text-align:left!important;
}

@media(max-width:749px){
  .ry-redesign-root{--ry-content-gutter:20px}
  .ry-redesign-home.ry-outcome-scroll-enabled .ry-home-section-head--services{
    height:235vh;
    min-height:1250px;
  }
  .ry-redesign-home.ry-outcome-scroll-enabled .ry-home-section-head--services .ry-service-outcome-lines{
    top:70px;
    height:calc(100vh - 70px);
  }
  .ry-redesign-home.ry-outcome-scroll-enabled .ry-service-outcome-lines span{
    max-width:100%;
    transform:none!important;
  }
  .ry-redesign-home .ry-image-break__copy{
    bottom:44px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .ry-redesign-home .ry-service-outcome-lines span{
    opacity:1!important;
    transform:none!important;
    pointer-events:auto;
  }
}


/* 25 Sep 2026: homepage service image/copy accents requested by client. */
.ry-redesign-home .ry-service-summary__line--accent{
  font-family:"RY Third Rail", Impact, "Arial Narrow", sans-serif !important;
  font-weight:400!important;
  font-style:normal!important;
  font-synthesis:none;
  color:var(--ry-teal)!important;
  letter-spacing:0!important;
}
.ry-redesign-home .ry-difference-heading{
  max-width:none!important;
  width:100%;
}
.ry-redesign-home .ry-difference-line{
  display:block!important;
  white-space:nowrap!important;
  text-wrap:nowrap!important;
}
.ry-redesign-home .ry-difference-line .ry-signal{
  font-family:"RY Third Rail", Impact, "Arial Narrow", sans-serif !important;
  font-weight:400!important;
  font-style:normal!important;
  font-synthesis:none;
  color:var(--ry-teal)!important;
  letter-spacing:0!important;
}
@media(max-width:749px){
  .ry-redesign-home .ry-difference-copy .ry-difference-heading,
  .ry-redesign-home .ry-difference-heading{
    font-size:clamp(18px,6.2vw,40px)!important;
    line-height:1.04!important;
  }
}


/* 25 Sep 2026: lock final homepage CTA to three deliberate lines. */
.ry-redesign-home .ry-home-close__title span{display:block;white-space:nowrap}
@media(max-width:749px){
  .ry-redesign-home .ry-home-close__title{font-size:clamp(42px,12vw,66px)!important}
}

/* 25 Sep 2026: two-column client mosaic. Images keep their natural aspect ratio and are never cropped. */
.ry-redesign-home .ry-brand-mosaic{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:12px;
  max-width:1480px;
  margin:34px auto 64px;
  padding:0 var(--ry-content-gutter,32px);
}
.ry-redesign-home .ry-brand-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  margin:0;
  background:#111;
  border:1px solid rgba(255,255,255,.16);
}
.ry-redesign-home .ry-brand-card--photo{
  color:#fff;
  line-height:0;
}
.ry-redesign-home .ry-brand-card--photo .ry-slot-img{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
.ry-redesign-home .ry-brand-card--photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.08) 34%,rgba(0,0,0,.22) 100%);
  z-index:1;
  pointer-events:none;
}
.ry-redesign-home .ry-brand-card--blank{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  min-height:clamp(240px,27vw,430px);
  background:#0b0b0b;
}
.ry-redesign-home .ry-brand-card__title{
  position:absolute;
  top:24px;
  left:24px;
  right:24px;
  z-index:2;
  color:#fff;
  font-family:var(--font-display)!important;
  font-size:clamp(28px,3.2vw,54px);
  font-weight:900;
  font-style:normal;
  line-height:.94;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.ry-redesign-home .ry-brand-card--blank .ry-brand-card__title{
  position:static;
  display:block;
  padding:24px;
}
/* Previous mixed-size modifiers are intentionally neutralised so every row is two equal columns. */
.ry-redesign-home .ry-brand-card--hero,
.ry-redesign-home .ry-brand-card--wide,
.ry-redesign-home .ry-brand-card--tall,
.ry-redesign-home .ry-brand-card--blank-sm{
  grid-column:auto;
  grid-row:auto;
  min-height:0;
}
.ry-redesign-home .ry-brand-card--blank.ry-brand-card--blank-sm{min-height:clamp(240px,27vw,430px)}
@media(max-width:749px){
  .ry-redesign-home .ry-brand-mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    margin:26px auto 42px;
    padding:0 var(--ry-content-gutter,20px);
  }
  .ry-redesign-home .ry-brand-card--blank,
  .ry-redesign-home .ry-brand-card--blank.ry-brand-card--blank-sm{
    min-height:clamp(150px,44vw,260px);
  }
  .ry-redesign-home .ry-brand-card__title{
    top:12px;
    left:12px;
    right:12px;
    font-size:clamp(15px,4.8vw,24px);
  }
  .ry-redesign-home .ry-brand-card--blank .ry-brand-card__title{padding:12px}
}
@media(prefers-reduced-motion:reduce){
  .ry-redesign-home .ry-home-inline-image__media{transform:none!important;will-change:auto}
}


/* 25 Sep 2026: clear, destination-specific CTA system across core pages. */
.ry-redesign-root .ry-page-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.ry-redesign-home .ry-home-close__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.ry-redesign-root .ry-page-next{padding:96px 0}
.ry-redesign-root .ry-page-next--light{background:#fff;color:var(--ry-ink)}
.ry-redesign-root .ry-page-next .ry-masthead{font-size:clamp(36px,5vw,64px);line-height:.98;margin:14px 0 0;max-width:980px}
@media(max-width:749px){
  .ry-redesign-root .ry-page-actions,.ry-redesign-home .ry-home-close__actions{display:grid;grid-template-columns:1fr;width:100%}
  .ry-redesign-root .ry-page-actions a,.ry-redesign-home .ry-home-close__actions a{width:100%}
  .ry-redesign-root .ry-page-next{padding:68px 0}
}


/* 28 Sep 2026: page-specific FAQ system for GEO/AEO answer blocks */
.ry-page-faq{padding:clamp(88px,9vw,128px) 0;background:#fff;color:#000}
.ry-page-faq--paper{background:#f5f4ef}
.ry-page-faq--light{background:#fff}
.ry-page-faq__inner{max-width:920px}
.ry-page-faq__title{margin:14px 0 48px!important;max-width:900px}
.ry-page-faq .ry-faq-list,.ry-main-faq .ry-faq-list{max-width:920px;margin:0}
.ry-page-faq .ry-faq-item,.ry-main-faq .ry-faq-item{border-top:1px solid rgba(0,0,0,.18)}
.ry-page-faq .ry-faq-item:last-child,.ry-main-faq .ry-faq-item:last-child{border-bottom:1px solid rgba(0,0,0,.18)}
.ry-page-faq .ry-faq-item__answer,.ry-main-faq .ry-faq-item__answer{max-width:760px}
.ry-page-faq .ry-faq-item__answer p,.ry-main-faq .ry-faq-item__answer p{font-size:16px!important;line-height:1.68!important;color:#333!important}
.ry-main-faq{background:#fff!important;color:#000!important}
.ry-main-faq .ry-display{color:#000!important}
.ry-main-faq .ry-faq-group{margin-top:72px}
.ry-main-faq .ry-faq-group:first-of-type{margin-top:0}
.ry-main-faq .ry-faq-group__label{margin-bottom:16px;color:var(--ry-teal)!important}
@media(max-width:749px){
  .ry-page-faq{padding:76px 20px}
  .ry-page-faq__title{margin-bottom:34px!important}
  .ry-main-faq{padding:130px 20px 80px!important}
  .ry-main-faq .ry-faq-group{margin-top:54px}
}

/* 28 Sep 2026: simplify homepage plan map and flow directly into full service panels. */
.ry-redesign-home .ry-home-service-story{
  background:#fff;
}
.ry-redesign-home .ry-activate-map--simple{
  padding-bottom:0;
  border-bottom:0;
}
.ry-redesign-home .ry-activate-map--simple .ry-activate-map__intro{
  padding-bottom:54px;
}
.ry-redesign-home .ry-activate-diagram--simple{
  max-width:920px;
  margin:0 auto;
  padding:42px;
  border:1px solid rgba(255,255,255,.36);
}
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__start{
  width:100%;
  max-width:720px;
  box-sizing:border-box;
  padding:34px 36px 32px;
  border:2px solid var(--ry-teal);
}
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__start small{
  margin-top:15px;
  color:#fff;
  font-size:16px;
  line-height:1.5;
}
.ry-redesign-home .ry-activate-next{
  position:relative;
  height:132px;
  width:100%;
  margin:0 auto;
}
.ry-redesign-home .ry-activate-next span{
  position:absolute;
  left:50%;
  top:0;
  width:2px;
  height:102px;
  background:var(--ry-teal);
  transform:translateX(-50%);
}
.ry-redesign-home .ry-activate-next span::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-1px;
  width:16px;
  height:16px;
  border-right:3px solid var(--ry-teal);
  border-bottom:3px solid var(--ry-teal);
  transform:translate(-50%,0) rotate(45deg);
}
.ry-redesign-home .ry-home-services--after-plan{
  padding-top:0!important;
  margin-top:0;
  background:#000;
}
@media(max-width:680px){
  .ry-redesign-home .ry-activate-diagram--simple{padding:22px 18px;}
  .ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__start{padding:26px 20px 24px;}
  .ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__start small{font-size:14px;}
  .ry-redesign-home .ry-activate-next{height:100px;}
  .ry-redesign-home .ry-activate-next span{height:72px;}
}

/* 28 Sep 2026: merge Your Plan + execution into one block below Marketing Strategy Analysis. */
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__stem{
  height:58px;
  width:2px;
  margin:0 auto;
  background:var(--ry-teal);
}
.ry-redesign-home .ry-activate-diagram__merged-plan{
  width:100%;
  max-width:720px;
  box-sizing:border-box;
  margin:0 auto;
  border:2px solid var(--ry-teal);
  background:#050505;
  color:#fff;
  text-align:center;
  padding:0 36px;
}
.ry-redesign-home .ry-activate-diagram__merged-part{
  padding:30px 0 28px;
}
.ry-redesign-home .ry-activate-diagram__merged-title{
  display:block;
  font-family:var(--font-display)!important;
  font-size:clamp(27px,3vw,44px);
  line-height:1;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.ry-redesign-home .ry-activate-diagram__merged-title.ry-third-rail-accent{
  font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;
  color:var(--ry-teal)!important;
  letter-spacing:.01em;
}
.ry-redesign-home .ry-activate-diagram__merged-part small{
  display:block;
  max-width:620px;
  margin:11px auto 0;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.55;
}
.ry-redesign-home .ry-activate-diagram__merged-divider{
  height:1px;
  width:100%;
  background:rgba(255,255,255,.22);
}
@media(max-width:680px){
  .ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__stem{height:42px;}
  .ry-redesign-home .ry-activate-diagram__merged-plan{padding:0 20px;}
  .ry-redesign-home .ry-activate-diagram__merged-part{padding:24px 0 22px;}
  .ry-redesign-home .ry-activate-diagram__merged-title{font-size:clamp(25px,8vw,34px);}
  .ry-redesign-home .ry-activate-diagram__merged-part small{font-size:14px;}
}
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__stem::after{display:none;content:none;}

/* 28 Sep 2026: separate homepage strategy blocks and switch brand section to white. */
.ry-redesign-home .ry-activate-diagram--simple{
  border:0!important;
  background:transparent!important;
  padding:0!important;
}
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__start,
.ry-redesign-home .ry-activate-diagram__merged-plan{
  width:100%;
  max-width:720px;
  box-sizing:border-box;
}
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__stem{
  height:44px!important;
  margin:18px auto!important;
  background:var(--ry-teal)!important;
}
.ry-redesign-home .ry-activate-diagram__merged-plan{
  margin-top:0!important;
}
.ry-redesign-home .ry-home-work{
  background:#fff!important;
  color:#050505!important;
  padding-top:120px;
}
.ry-redesign-home .ry-home-work .ry-home-section-head--dark,
.ry-redesign-home .ry-home-work .ry-case-study-lines{
  color:#050505!important;
}
.ry-redesign-home .ry-home-work .ry-brand-card{
  border-color:rgba(0,0,0,.14);
}
@media(max-width:680px){
  .ry-redesign-home .ry-activate-diagram--simple{padding:0!important;}
  .ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__stem{
    height:34px!important;
    margin:14px auto!important;
  }
  .ry-redesign-home .ry-home-work{padding-top:82px;}
}

/* 28 Sep 2026: two distinct homepage plan blocks with a clear down arrow between them. */
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__start,
.ry-redesign-home .ry-activate-diagram__merged-plan{
  width:100%!important;
  max-width:720px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  border:2px solid var(--ry-teal)!important;
  background:#050505!important;
}
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__start{
  padding:34px 36px 32px!important;
}
.ry-redesign-home .ry-activate-diagram__merged-plan{
  padding:0 36px!important;
}
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__stem{
  position:relative!important;
  display:block!important;
  width:2px!important;
  height:54px!important;
  margin:22px auto 26px!important;
  background:var(--ry-teal)!important;
  overflow:visible!important;
}
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__stem::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-1px!important;
  width:14px!important;
  height:14px!important;
  border-right:3px solid var(--ry-teal)!important;
  border-bottom:3px solid var(--ry-teal)!important;
  transform:translate(-50%,0) rotate(45deg)!important;
}
@media(max-width:680px){
  .ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__start{
    padding:26px 20px 24px!important;
  }
  .ry-redesign-home .ry-activate-diagram__merged-plan{
    padding:0 20px!important;
  }
  .ry-redesign-home .ry-activate-diagram--simple .ry-activate-diagram__stem{
    height:44px!important;
    margin:18px auto 22px!important;
  }
}


/* 29 Sep 2026: homepage diagram, brand mosaic rhythm, and plan typography refinements. */
/* The arrow between the two plan blocks is intentionally the same component as the arrow into the services. */
.ry-redesign-home .ry-activate-diagram--simple .ry-activate-next--between{
  margin:0 auto!important;
}

/* YOUR PLAN in the homepage summary uses the standard TT Norms display treatment, in black. */
.ry-redesign-home .ry-service-summary__heading .ry-service-summary__line:first-child{
  font-family:var(--font-display)!important;
  font-weight:900!important;
  font-style:italic!important;
  color:#000!important;
  letter-spacing:-.03em!important;
}

/* Brands: alternating editorial rhythm — 2 equal tiles, 1 full-width tile, then repeat. */
.ry-redesign-home .ry-brand-mosaic{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  align-items:stretch!important;
}
.ry-redesign-home .ry-brand-card{
  height:clamp(280px,29vw,420px)!important;
  min-height:0!important;
}
.ry-redesign-home .ry-brand-card--photo .ry-slot-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.ry-redesign-home .ry-brand-card:nth-child(3),
.ry-redesign-home .ry-brand-card:nth-child(6),
.ry-redesign-home .ry-brand-card:nth-child(7){
  grid-column:1 / -1!important;
}
.ry-redesign-home .ry-brand-card--blank,
.ry-redesign-home .ry-brand-card--blank.ry-brand-card--blank-sm{
  min-height:0!important;
}
@media(max-width:749px){
  .ry-redesign-home .ry-brand-card{
    height:clamp(170px,43vw,240px)!important;
  }
}

/* 29 Sep 2026: mobile resilience pass.
   Keep desktop composition intact while preventing narrow-screen clipping and cramped layouts. */
@media(max-width:749px){
  .ry-redesign-root,
  body.ry-redesign-active .main-content{
    max-width:100%;
    overflow-x:clip!important;
  }
  .ry-redesign-root *{min-width:0}
  .ry-redesign-root img,
  .ry-redesign-root video,
  .ry-redesign-root iframe,
  .ry-redesign-root svg{max-width:100%}

  /* Navigation and footer */
  .ry-mobile-nav{
    padding:92px 20px 34px;
    gap:20px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .ry-mobile-nav a.ry-mobile-link{
    font-size:clamp(30px,10vw,42px);
    line-height:.94;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .ry-mobile-nav a.ry-mobile-cta{width:100%;text-align:center;margin-top:10px}
  .ry-redesign-footer{padding:56px 20px 26px}
  .ry-redesign-footer--compact{padding:28px 20px}
  .ry-redesign-footer__grid{gap:30px 24px}
  .ry-redesign-footer__bottom{margin-top:38px;align-items:flex-start}

  /* Long display copy must wrap instead of being clipped by the viewport. */
  .ry-redesign-home .ry-hero-manifesto span,
  .ry-redesign-home .ry-difference-line,
  .ry-redesign-home .ry-home-close__title span,
  .ry-redesign-home .ry-activate-map__title-line,
  .ry-redesign-home .ry-service-panel__discipline,
  .ry-contact-page .ry-contact-details__head .ry-h2,
  .ry-contact-page .ry-contact-office__head .ry-h2,
  .ry-contact-page .ry-contact-detail-card__copy strong{
    white-space:normal!important;
    text-wrap:balance;
    overflow-wrap:anywhere;
  }

  .ry-redesign-home .ry-hero-manifesto{max-width:100%!important}
  .ry-redesign-home .ry-film-message__heading,
  .ry-redesign-home .ry-service-summary__heading,
  .ry-redesign-home .ry-difference-heading,
  .ry-redesign-home .ry-home-close__title{max-width:100%!important}

  /* Service panels read better as a clean image -> copy stack on phones. */
  .ry-redesign-home .ry-service-panel__media{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4 / 3;
  }
  .ry-redesign-home .ry-service-panel--influence .ry-service-panel__media{aspect-ratio:1 / 1}
  .ry-redesign-home .ry-service-panel__copy{width:100%}

  /* Buttons should never exceed the content column. */
  .ry-redesign-root .ry-btn-primary,
  .ry-redesign-root .ry-btn-ghost,
  .ry-redesign-root .ry-btn-dark,
  .ry-redesign-root .ry-btn-outline,
  .ry-redesign-root .ry-text-link{
    max-width:100%;
    white-space:normal!important;
    text-align:center;
  }

  /* FAQ questions can be long; keep the + control visible. */
  .ry-redesign-root .ry-faq-item summary{align-items:flex-start;gap:14px}
  .ry-redesign-root .ry-faq-item__q{min-width:0;overflow-wrap:anywhere}
  .ry-redesign-root .ry-faq-item__sign{flex:0 0 auto}

  /* Contact page */
  .ry-contact-page .ry-contact-detail-card{align-items:flex-start}
  .ry-contact-page .ry-contact-detail-card__copy strong{line-height:1.15}
  .ry-contact-page .ry-contact-carousel{margin-right:-20px;padding-right:20px}
  .ry-contact-page .ry-contact-carousel__slide{width:min(82vw,420px)}
  .ry-contact-page .ry-contact-location__copy .ry-h2{font-size:clamp(38px,11vw,56px)}
}

@media(max-width:560px){
  /* The two-column logo mosaic becomes visually cramped below ~560px. */
  .ry-redesign-home .ry-brand-mosaic{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .ry-redesign-home .ry-brand-card,
  .ry-redesign-home .ry-brand-card:nth-child(3),
  .ry-redesign-home .ry-brand-card:nth-child(6),
  .ry-redesign-home .ry-brand-card:nth-child(7){
    grid-column:1!important;
    height:clamp(210px,66vw,320px)!important;
  }
  .ry-redesign-home .ry-brand-card__title{font-size:clamp(19px,6vw,28px)}

  .ry-contact-page .ry-contact-hero__title{font-size:clamp(46px,15vw,68px)}
  .ry-contact-page .ry-contact-detail-card{gap:16px}
  .ry-contact-page .ry-contact-detail-card__icon{width:46px;height:46px;flex-basis:46px}
}

@media(max-width:380px){
  .ry-site-header__inner{padding-left:16px;padding-right:16px}
  .ry-redesign-root .ry-site-header__logo.ry-brand-logo{width:124px}
  .ry-mobile-nav{padding-left:16px;padding-right:16px}
  .ry-redesign-root{--ry-content-gutter:16px}
  .ry-contact-page .ry-contact-shell{width:calc(100% - 32px)}
}


/* RY modular services page styles (moved from section for Theme Editor modularity) */
.ry-system-page{--sys-teal:var(--ry-teal);--sys-paper:#f5f4ef;background:var(--sys-paper);color:#000}
  .ry-system-page *{box-sizing:border-box}
  .ry-system-page .ry-sys-shell{width:min(1280px,calc(100% - 64px));margin:0 auto}
  .ry-system-page .ry-sys-title{font-family:var(--font-display)!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase;letter-spacing:-.035em;line-height:.94;margin:0;color:inherit!important}
  .ry-system-page .ry-sys-kicker{font-family:var(--font-mono)!important;font-size:10px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:var(--sys-teal)!important;margin:0 0 18px}
  .ry-system-page .ry-sys-body{font-family:var(--font-body)!important;font-size:17px;line-height:1.62;margin:0;color:inherit}
  .ry-system-page .ry-sys-third{font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;font-weight:400!important;font-style:normal!important;font-synthesis:none;letter-spacing:0;color:var(--sys-teal)!important}
  .ry-system-page .ry-sys-close__title span{display:block;font-family:var(--font-display)!important;color:#000!important}
  .ry-system-page .ry-sys-section{padding:clamp(82px,9vw,126px) 0}
  .ry-system-page .ry-sys-section--dark{background:#000;color:#fff}
  .ry-system-page .ry-sys-section--light{background:#fff;color:#000}
  .ry-system-page .ry-sys-section--paper{background:var(--sys-paper);color:#000}

  /* HERO */
  .ry-system-page .ry-sys-hero{position:relative;min-height:680px;padding:174px 0 92px;display:flex;align-items:flex-end;overflow:hidden;background:#000;color:#fff;isolation:isolate}
  .ry-system-page .ry-sys-hero__media{position:absolute;inset:0;z-index:-2}
  .ry-system-page .ry-sys-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block}
  .ry-system-page .ry-sys-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 43%,rgba(0,0,0,.24) 100%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.72))}
  .ry-system-page .ry-sys-hero__content{max-width:none}
  .ry-system-page .ry-sys-hero h1{font-size:clamp(48px,6vw,84px);max-width:980px;line-height:.94;text-align:left}.ry-system-page .ry-sys-hero__line{display:block;white-space:nowrap}
  .ry-system-page .ry-sys-hero__copy{max-width:620px;margin-top:24px}
  .ry-system-page .ry-sys-hero__copy p{font-size:clamp(18px,1.7vw,24px)!important;line-height:1.45!important;color:rgba(255,255,255,.9)!important}
  .ry-system-page .ry-sys-hero__cta{display:inline-flex;margin-top:30px}

  /* OVERVIEW */
  .ry-system-page .ry-sys-overview__head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,.7fr);gap:72px;align-items:end;margin-bottom:56px}
  .ry-system-page .ry-sys-overview__head h2{font-size:clamp(46px,5vw,76px);max-width:740px}
  .ry-system-page .ry-sys-overview__head p{max-width:520px;color:#444}
  .ry-system-page .ry-sys-overview__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .ry-system-page .ry-sys-card{position:relative;display:flex;flex-direction:column;min-height:440px;padding:36px 32px 32px;border:2px solid #000;border-top:8px solid var(--sys-teal);background:#0a0a0a;color:#fff;text-decoration:none;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
  .ry-system-page .ry-sys-card:before{content:"";position:absolute;right:-58px;top:-58px;width:170px;height:170px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 56px rgba(255,255,255,.02);pointer-events:none}
  .ry-system-page .ry-sys-card:hover{transform:translateY(-7px);box-shadow:0 22px 54px rgba(0,0,0,.22);background:#141414}
  .ry-system-page .ry-sys-card__index{position:absolute;right:26px;top:25px;font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;font-size:44px;line-height:.8;color:rgba(255,255,255,.14)}
  .ry-system-page .ry-sys-card__name{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
  .ry-system-page .ry-sys-card__lead{font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;font-size:clamp(50px,4.3vw,68px);font-weight:400!important;line-height:.76;text-transform:uppercase;color:var(--sys-teal)!important}
  .ry-system-page .ry-sys-card__tail{font-family:var(--font-mono)!important;font-size:11px;letter-spacing:.29em;text-transform:uppercase;color:#fff}
  .ry-system-page .ry-sys-card__desc{font-family:"AvenirLTStd","Avenir","Avenir Next",Arial,sans-serif!important;font-size:17px;font-weight:400!important;font-style:normal;text-transform:none;line-height:1.55;margin:0;color:rgba(255,255,255,.82)!important;max-width:31ch}
  .ry-system-page .ry-sys-card__channels{margin-top:auto;padding-top:34px;font-family:var(--font-mono)!important;font-size:9px;line-height:1.6;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.58)}
  .ry-system-page .ry-sys-card__cta{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-family:var(--font-display)!important;font-size:15px;font-weight:900;font-style:italic;text-transform:uppercase;color:#fff}.ry-system-page .ry-sys-card__cta:after{content:"→";font-family:var(--font-body);font-style:normal;color:var(--sys-teal);font-size:20px}

  /* EXECUTION INTRO — merged into first black service section */
  .ry-system-page .ry-execute-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,.7fr);gap:72px;align-items:end;padding-bottom:clamp(58px,7vw,88px);margin-bottom:clamp(58px,7vw,88px);border-bottom:1px solid rgba(255,255,255,.22)}
  .ry-system-page .ry-execute-intro h2{font-size:clamp(46px,5vw,76px);max-width:740px;color:#fff!important}
  .ry-system-page .ry-execute-intro .ry-sys-body{max-width:520px;color:rgba(255,255,255,.78)!important}
  .ry-system-page .ry-execute-intro .ry-sys-kicker{color:var(--sys-teal)!important}

  /* SYSTEM DETAIL */
  .ry-system-page .ry-system-detail{scroll-margin-top:90px}
  .ry-system-page .ry-system-detail__layout{display:grid;grid-template-columns:1fr;gap:0;align-items:start}
  .ry-system-page .ry-system-detail__summary{position:static;display:grid;grid-template-columns:clamp(140px,16vw,210px) minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:clamp(30px,4vw,58px);row-gap:14px;align-items:center;margin:0 0 clamp(44px,5vw,68px);padding:0 0 clamp(34px,4vw,48px);border-bottom:0}
  .ry-system-page .ry-system-badge{position:relative;grid-column:1;grid-row:1 / 4;width:100%;margin:0;isolation:isolate;align-self:center}
  .ry-system-page .ry-system-badge img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 24px rgba(0,0,0,.18))}
  .ry-system-page .ry-system-detail--light .ry-system-badge img{filter:drop-shadow(0 12px 20px rgba(0,0,0,.12))}
  .ry-system-page .ry-system-name{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:9px;margin:0}
  .ry-system-page .ry-system-name__lead{font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;font-size:clamp(62px,6.6vw,96px);font-weight:400!important;font-style:normal!important;line-height:.72;text-transform:uppercase;color:var(--sys-teal)!important}
  .ry-system-page .ry-system-name__tail{font-family:var(--font-mono)!important;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:inherit}
  .ry-system-page .ry-system-detail__answer{grid-column:2;grid-row:2;font-family:"AvenirLTStd","Avenir","Avenir Next",Arial,sans-serif!important;font-size:clamp(17px,1.55vw,21px);font-style:normal!important;font-weight:400!important;line-height:1.58;text-transform:none;margin:0;color:inherit!important;max-width:680px}
  .ry-system-page .ry-system-detail__channels{grid-column:2;grid-row:3;font-family:var(--font-mono)!important;font-size:10px;line-height:1.65;letter-spacing:.12em;text-transform:uppercase;color:inherit;opacity:.68;max-width:680px;margin:0}

  /* VERTICAL JOURNEY */
  .ry-system-page .ry-journey-stack{border-top:0}
  .ry-system-page .ry-journey-stack__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 0 30px;margin-top:0;border-top:0}
  .ry-system-page .ry-journey-stack__head h2{font-size:clamp(38px,4vw,58px);padding-top:28px}
  .ry-system-page .ry-journey-stack__head span{font-family:var(--font-mono)!important;font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.58;padding-bottom:4px}
  .ry-system-page .ry-journey-steps-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid currentColor;border-bottom:1px solid currentColor}
  .ry-system-page .ry-journey-step{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:0;padding:26px 10px 30px;border-right:1px solid currentColor;text-align:center;overflow:visible}
  .ry-system-page .ry-journey-step:first-child{padding-left:10px}
  .ry-system-page .ry-journey-step:last-child{border-right:0;padding-right:10px}
  .ry-system-page .ry-journey-step__mark{position:relative;width:58px;height:58px;display:grid;place-items:center;background:var(--sys-teal);color:#000;flex:0 0 auto}
  .ry-system-page .ry-journey-step__mark .ry-system-icon{width:34px;height:34px;display:grid;place-items:center}
  .ry-system-page .ry-journey-step__mark svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
  .ry-system-page .ry-journey-step__number{position:absolute;right:-8px;top:-8px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#000;color:#fff;font-family:var(--font-mono)!important;font-size:8px;border:1px solid currentColor}
  .ry-system-page .ry-system-detail--dark .ry-journey-step__number{background:#fff;color:#000}
  .ry-system-page .ry-journey-step__copy{width:100%;display:flex;justify-content:center}.ry-system-page .ry-journey-step__copy h3{font-family:var(--font-display)!important;font-size:clamp(13px,1vw,15px);font-style:italic!important;font-weight:900;line-height:1.16;letter-spacing:-.015em;text-transform:uppercase;text-align:center;margin:0 auto;color:inherit!important;max-width:15ch;overflow:visible;overflow-wrap:normal;word-break:normal;hyphens:none}

  /* FULL DESCRIPTION ACCORDION */
  .ry-system-page .ry-system-more{margin-top:42px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
  .ry-system-page .ry-system-more summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font-family:var(--font-mono)!important;font-size:10px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}
  .ry-system-page .ry-system-more summary::-webkit-details-marker{display:none}
  .ry-system-page .ry-system-more summary:after{content:"+";font-family:var(--font-body);font-size:28px;line-height:1;color:var(--sys-teal)}
  .ry-system-page .ry-system-more[open] summary:after{content:"−"}
  .ry-system-page .ry-system-more__copy{padding:6px 0 28px;max-width:760px}
  .ry-system-page .ry-system-more__copy p{font-family:var(--font-body)!important;font-size:16px;line-height:1.62;margin:0 0 14px;color:inherit;opacity:.76}
  .ry-system-page .ry-system-detail--light .ry-system-more__copy p{color:#444;opacity:1}

  /* AUDIT / REPORT */
  .ry-system-page .ry-start__head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(300px,.7fr);gap:72px;align-items:end;margin-bottom:40px}
  .ry-system-page .ry-start__head h2{font-size:clamp(46px,5vw,76px)}
  .ry-system-page .ry-start__head p{max-width:560px;color:#444}
  .ry-system-page .ry-start-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:48px}
  .ry-system-page .ry-start-step{position:relative;padding:34px 28px 32px;border:0;background:#0a0a0a;color:#fff;min-height:250px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);overflow:visible}
  .ry-system-page .ry-start-step:not(:last-child):after{content:"→";position:absolute;right:-23px;top:50%;transform:translateY(-50%);z-index:2;font-family:var(--font-body)!important;font-size:26px;line-height:1;color:var(--sys-teal)}
  .ry-system-page .ry-start-step__mark{width:68px;height:68px;margin-bottom:34px;display:grid;place-items:center;background:var(--sys-teal);color:#000;box-shadow:8px 8px 0 rgba(255,255,255,.08)}
  .ry-system-page .ry-start-step__mark,.ry-system-page .ry-start-step__mark .ry-system-icon{color:#000!important}.ry-system-page .ry-start-step__mark svg{width:38px;height:38px;fill:none!important;stroke:#000!important;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
  .ry-system-page .ry-start-step span{display:block;font-family:var(--font-mono)!important;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.48);margin-bottom:12px}
  .ry-system-page .ry-start-step h3{font-family:var(--font-display)!important;font-size:clamp(25px,2.2vw,32px);font-style:italic!important;text-transform:uppercase;line-height:1.02;margin:0 0 12px;color:#fff!important}
  .ry-system-page .ry-start-step p{font-family:var(--font-body)!important;font-size:15px;line-height:1.55;margin:0;color:rgba(255,255,255,.72);max-width:29ch}

  .ry-system-page .ry-audit-grid{display:grid;gap:clamp(26px,3.4vw,34px);padding:clamp(32px,4vw,46px);background:linear-gradient(180deg,#121212 0%,#090909 100%);border:1px solid rgba(255,255,255,.08);border-radius:0;color:#fff;box-shadow:0 18px 44px rgba(0,0,0,.16)}
  .ry-system-page .ry-audit-grid__title{font-family:var(--font-display)!important;font-size:clamp(36px,4.4vw,60px);font-weight:900!important;font-style:italic!important;letter-spacing:-.03em;line-height:.96;text-transform:uppercase;margin:0;color:#fff!important;text-align:center}
  .ry-system-page .ry-audit-grid__main{display:grid;grid-template-columns:minmax(220px,.88fr) minmax(0,1.25fr) minmax(220px,.88fr);gap:clamp(18px,2vw,24px);align-items:center}
  .ry-system-page .ry-report-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-width:0;text-align:center;color:#fff;background:rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.08);border-radius:0;padding:30px 20px;min-height:100%}
  .ry-system-page .ry-score-panel__label{font-family:var(--font-display)!important;font-size:clamp(16px,1.55vw,20px);font-weight:900!important;font-style:italic!important;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase;margin:0;color:#fff!important}
  .ry-system-page .ry-score-ring{--size:clamp(160px,17vw,220px);--thickness:16px;--score:0;--accent:#f0c419;position:relative;width:var(--size);height:var(--size);border-radius:50%;background:conic-gradient(var(--accent) calc(var(--score) * 1%),rgba(255,255,255,.08) 0)}
  .ry-system-page .ry-score-ring:before{content:"";position:absolute;inset:var(--thickness);border-radius:50%;background:#111;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
  .ry-system-page .ry-score-ring__inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;z-index:1}
  .ry-system-page .ry-score-ring__inner strong{font-family:var(--font-display)!important;font-size:clamp(42px,4.4vw,62px);font-weight:900!important;font-style:italic!important;line-height:.9;letter-spacing:-.04em;margin:0;color:var(--accent)!important}
  .ry-system-page .ry-score-ring__inner span{font-family:var(--font-mono)!important;font-size:10px;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)!important}
  .ry-system-page .ry-rocket-report-center{display:grid;gap:14px;min-width:0}
  .ry-system-page .ry-rocket-service{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:22px 20px;border-radius:0;background:rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.08);text-align:center}
  .ry-system-page .ry-rocket-service__icon{width:78px;height:78px;display:grid;place-items:center;border-radius:0;background:#000;border:1px solid rgba(255,255,255,.06)}
  .ry-system-page .ry-rocket-service__icon img{max-width:60px;width:100%;height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}
  .ry-system-page .ry-rocket-service__name{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-align:center}
  .ry-system-page .ry-rocket-service__name strong{font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;font-size:clamp(26px,2.5vw,34px);font-weight:400!important;font-style:normal!important;line-height:.86;text-transform:uppercase;color:var(--sys-teal)!important}
  .ry-system-page .ry-rocket-service__name span{font-family:var(--font-mono)!important;font-size:10px;line-height:1.45;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.64)!important}
  .ry-system-page .ry-audit-grid__footer{font-family:var(--font-display)!important;font-size:clamp(22px,2.5vw,34px);font-weight:900!important;font-style:italic!important;letter-spacing:-.02em;line-height:1;text-transform:uppercase;text-align:center;padding-top:6px;color:#fff!important}

  /* CLOSE */
  .ry-system-page .ry-sys-close{text-align:left}
  .ry-system-page .ry-sys-close h2{font-size:clamp(46px,5vw,76px);max-width:820px;margin-bottom:30px}

  @media(max-width:980px){
    .ry-system-page .ry-sys-overview__head,.ry-system-page .ry-start__head,.ry-system-page .ry-execute-intro{grid-template-columns:1fr;gap:24px}
    .ry-system-page .ry-audit-grid__main{grid-template-columns:1fr;gap:18px}
    .ry-system-page .ry-report-card{padding:26px 18px}
    .ry-system-page .ry-sys-overview__grid{grid-template-columns:1fr}
    .ry-system-page .ry-sys-card{min-height:0}
    .ry-system-page .ry-system-detail__layout{grid-template-columns:1fr;gap:0}
    .ry-system-page .ry-system-detail__summary{grid-template-columns:160px minmax(0,1fr);column-gap:32px}
    .ry-system-page .ry-system-badge{width:100%;margin:0}
    .ry-system-page .ry-journey-steps-row{grid-template-columns:repeat(7,minmax(148px,1fr));overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:8px}
    .ry-system-page .ry-journey-step{scroll-snap-align:start}
    .ry-system-page .ry-start-flow{grid-template-columns:1fr}
    .ry-system-page .ry-start-step:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-25px;transform:translateX(-50%)}
  }
  @media(max-width:700px){
    .ry-system-page .ry-sys-shell{width:calc(100% - 40px)}
    .ry-system-page .ry-sys-hero{min-height:560px;padding:132px 0 64px}
    .ry-system-page .ry-sys-hero h1{font-size:clamp(34px,10.2vw,54px)}
    .ry-system-page .ry-sys-section{padding:70px 0 76px}
    .ry-system-page .ry-system-detail__summary{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:20px;row-gap:10px;align-items:center;margin-bottom:40px;padding-bottom:30px}
    .ry-system-page .ry-rocket-service__icon{width:64px;height:64px}
    .ry-system-page .ry-rocket-service__icon img{max-width:50px}
    .ry-system-page .ry-system-badge{width:100%;margin:0}
    .ry-system-page .ry-system-name__lead{font-size:clamp(44px,13vw,62px)}
    .ry-system-page .ry-system-name__tail{font-size:10px;letter-spacing:.24em}
    .ry-system-page .ry-system-detail__answer{font-size:14px;line-height:1.45}
    .ry-system-page .ry-system-detail__channels{font-size:8px;line-height:1.5}
    .ry-system-page .ry-journey-stack__head{display:block}
    .ry-system-page .ry-journey-stack__head span{display:block;margin-top:10px}
    .ry-system-page .ry-journey-steps-row{grid-template-columns:repeat(7,minmax(148px,1fr));overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:8px}
    .ry-system-page .ry-journey-step{gap:14px;padding:22px 10px 24px;scroll-snap-align:start}
    .ry-system-page .ry-journey-step:first-child{padding-left:10px}
    .ry-system-page .ry-journey-step__mark{width:52px;height:52px}
    .ry-system-page .ry-journey-step__mark .ry-system-icon,.ry-system-page .ry-journey-step__mark svg{width:29px;height:29px}
    .ry-system-page .ry-journey-step__copy h3{font-size:14px;line-height:1.16;max-width:15ch}
    .ry-system-page .ry-start-flow{grid-template-columns:1fr}
    .ry-system-page .ry-start-step{min-height:0}
  }

  /* 29 Sep 2026: mobile resilience pass for Strategic Systems. */
  @media(max-width:700px){
    .ry-system-page .ry-sys-hero__line{white-space:normal;text-wrap:balance}
    .ry-system-page .ry-sys-hero h1{max-width:100%}
    .ry-system-page .ry-sys-hero__copy{max-width:100%}
    .ry-system-page .ry-sys-overview__head h2,
    .ry-system-page .ry-execute-intro h2,
    .ry-system-page .ry-sys-close h2{font-size:clamp(38px,11vw,54px);max-width:100%}
    .ry-system-page .ry-sys-card{padding:30px 24px 26px}
    .ry-system-page .ry-sys-card__lead{font-size:clamp(44px,13vw,60px)}
    .ry-system-page .ry-audit-grid{padding:28px 20px}
    .ry-system-page .ry-audit-grid__title{font-size:clamp(31px,9vw,44px)}
    .ry-system-page .ry-journey-steps-row{margin-right:-20px;padding-right:20px}
  }
  @media(max-width:560px){
    .ry-system-page .ry-system-detail__summary{
      grid-template-columns:1fr;
      grid-template-rows:auto;
      gap:18px;
      align-items:start;
    }
    .ry-system-page .ry-system-badge{grid-column:1;grid-row:auto;width:104px;max-width:104px}
    .ry-system-page .ry-system-name,
    .ry-system-page .ry-system-detail__answer,
    .ry-system-page .ry-system-detail__channels{grid-column:1;grid-row:auto;max-width:100%}
    .ry-system-page .ry-system-name__lead{font-size:clamp(42px,14vw,58px)}
    .ry-system-page .ry-system-detail__answer{font-size:16px;line-height:1.55}
    .ry-system-page .ry-system-detail__channels{font-size:9px}
    .ry-system-page .ry-rocket-service{padding:16px 14px}
    .ry-system-page .ry-rocket-service__name strong{font-size:clamp(24px,8vw,31px)}
  }

/* RY modular contact social overrides */
.ry-contact-page .ry-contact-social-links .ry-footer-socials{margin:0;gap:12px}.ry-contact-page .ry-contact-social-links .ry-footer-socials__link{width:50px;height:50px;flex-basis:50px;border:1px solid rgba(0,0,0,.35);border-radius:50%;color:#000!important;background:transparent}.ry-contact-page .ry-contact-social-links .ry-footer-socials__link:hover,.ry-contact-page .ry-contact-social-links .ry-footer-socials__link:focus-visible{background:var(--ry-teal);border-color:var(--ry-teal)}.ry-contact-page .ry-contact-social-links .ry-footer-socials__link svg{fill:var(--ry-teal);color:var(--ry-teal)}.ry-contact-page .ry-contact-social-links .ry-footer-socials__link:hover svg,.ry-contact-page .ry-contact-social-links .ry-footer-socials__link:focus-visible svg{fill:#000;color:#000}
/* RY modular card link helpers */
.ry-redesign-root .ry-card-cover-link{position:absolute;inset:0;z-index:4;display:block}

/* 29 Sep 2026: homepage colour showreel + full-bleed brand mosaic refinement. */
/* The homepage scrub film should preserve the colour grading of the uploaded source video. */
.ry-redesign-home .ry-hero-video{
  filter:none!important;
}

/* Editorial brand mosaic: varied tile sizes, with every photo filling its tile edge-to-edge. */
@media(min-width:990px){
  .ry-redesign-home .ry-brand-mosaic{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-auto-rows:68px!important;
    grid-auto-flow:dense!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  .ry-redesign-home .ry-brand-card{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    border:0!important;
  }
  .ry-redesign-home .ry-brand-card--photo.ry-brand-card--hero{
    grid-column:span 7!important;
    grid-row:span 5!important;
  }
  .ry-redesign-home .ry-brand-card--blank.ry-brand-card--blank-sm{
    grid-column:span 5!important;
    grid-row:span 5!important;
  }
  .ry-redesign-home .ry-brand-card--photo.ry-brand-card--wide{
    grid-column:1 / -1!important;
    grid-row:span 6!important;
  }
  .ry-redesign-home .ry-brand-card--photo.ry-brand-card--tall{
    grid-column:span 5!important;
    grid-row:span 7!important;
  }
  .ry-redesign-home .ry-brand-card--photo:not(.ry-brand-card--hero):not(.ry-brand-card--wide):not(.ry-brand-card--tall){
    grid-column:span 7!important;
    grid-row:span 7!important;
  }
  .ry-redesign-home .ry-brand-card--blank:not(.ry-brand-card--blank-sm){
    grid-column:span 6!important;
    grid-row:span 4!important;
  }
}

.ry-redesign-home .ry-brand-card--photo{
  background:#000!important;
}
.ry-redesign-home .ry-brand-card--photo .ry-slot-img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:var(--ry-brand-position, center center)!important;
  transform:none!important;
}

.ry-redesign-home.ry-home-hero--monochrome .ry-hero-video{
  filter:grayscale(1) contrast(1.1)!important;
}

/* Tablet keeps a clean two-column rhythm while retaining full-bleed imagery. */
@media(min-width:750px) and (max-width:989px){
  .ry-redesign-home .ry-brand-mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:dense!important;
    align-items:stretch!important;
  }
  .ry-redesign-home .ry-brand-card{
    height:auto!important;
    min-height:0!important;
    border:0!important;
  }
  .ry-redesign-home .ry-brand-card--photo{
    aspect-ratio:16 / 10;
  }
  .ry-redesign-home .ry-brand-card--photo.ry-brand-card--wide{
    grid-column:1 / -1!important;
    aspect-ratio:16 / 7;
  }
  .ry-redesign-home .ry-brand-card--photo.ry-brand-card--tall{
    aspect-ratio:4 / 5;
  }
  .ry-redesign-home .ry-brand-card--blank{
    aspect-ratio:16 / 10;
  }
}

/* Phones use one generous column so image tiles never feel squeezed or accidentally cropped by the grid. */
@media(max-width:749px){
  .ry-redesign-home .ry-brand-mosaic{
    grid-template-columns:1fr!important;
    grid-auto-flow:row!important;
    gap:8px!important;
  }
  .ry-redesign-home .ry-brand-card,
  .ry-redesign-home .ry-brand-card:nth-child(3),
  .ry-redesign-home .ry-brand-card:nth-child(6),
  .ry-redesign-home .ry-brand-card:nth-child(7){
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    border:0!important;
  }
  .ry-redesign-home .ry-brand-card--photo{
    aspect-ratio:16 / 10;
  }
  .ry-redesign-home .ry-brand-card--photo.ry-brand-card--wide{
    aspect-ratio:16 / 9;
  }
  .ry-redesign-home .ry-brand-card--photo.ry-brand-card--tall{
    aspect-ratio:4 / 5;
  }
  .ry-redesign-home .ry-brand-card--blank,
  .ry-redesign-home .ry-brand-card--blank.ry-brand-card--blank-sm{
    aspect-ratio:16 / 9;
  }
}

/* ==========================================================================
   30 Sep 2026: Consistent image frames
   The frame sets the size and the photo is cropped to fill it, so swapping
   a photo in the theme editor never changes the layout. To control the crop,
   set a focal point on the image in Shopify (Edit image > Focal point).
   The Liquid passes it through as --ry-focal.
   ========================================================================== */

/* Homepage full-width image: fixed frame (ratio set in the section) */
.ry-redesign-root .ry-home-inline-image{
  aspect-ratio:var(--ry-frame-ratio,16 / 9)!important;
  height:auto!important;
  min-height:0!important;
}
.ry-redesign-root .ry-home-inline-image .ry-home-inline-image__media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:var(--ry-focal,50% 50%)!important;
}

/* Homepage service panels: every panel crops the same way, including Connect Cultures */
.ry-redesign-root.ry-redesign-home .ry-service-panel .ry-service-panel__media .ry-slot-img{
  object-fit:cover!important;
  object-position:var(--ry-focal,50% 50%)!important;
}
@media(max-width:749px){
  .ry-redesign-root.ry-redesign-home .ry-service-panel .ry-service-panel__media{
    aspect-ratio:4 / 3!important;
    height:auto!important;
    min-height:0!important;
  }
}

/* Full-bleed photos: honour the focal point when one is set */
.ry-redesign-root .ry-image-break[style*="--ry-focal"] .ry-slot-img,
.ry-redesign-root .ry-work-frame[style*="--ry-focal"] .ry-slot-img,
.ry-redesign-root .ry-sys-hero__media[style*="--ry-focal"] img,
.ry-redesign-root .ry-contact-hero__media[style*="--ry-focal"] img,
.ry-redesign-root .ryp-page-hero__media[style*="--ry-focal"] img{
  object-fit:cover!important;
  object-position:var(--ry-focal)!important;
}
.ry-redesign-root .ryp-page-hero__media img,
.ry-redesign-root .ry-sys-hero__media img,
.ry-redesign-root .ry-contact-hero__media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
}

/* Portfolio cards without a photo still keep their 4:5 frame */
.ry-redesign-root .ry-work-frame .ry-slot-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}

/* System badges: always square, uploaded artwork is fitted inside */
.ry-redesign-root .ry-system-badge img,
.ry-redesign-root .ry-rocket-service__icon img{
  aspect-ratio:1 / 1!important;
  height:auto!important;
  object-fit:contain!important;
}
.ry-redesign-root .ryp-plan-system__badge img,
.ry-redesign-root .ryp-row-system-badge{
  object-fit:contain!important;
}

/* ==========================================================================
   30 Sep 2026: "The brands we work with" – uniform 1350x1080 tiles, 2 per row.
   Replaces the mixed-size mosaic; the block "layout" setting no longer
   changes tile size here.
   ========================================================================== */
.ry-redesign-root.ry-redesign-home .ry-home-work .ry-brand-mosaic{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  grid-auto-flow:row!important;
  align-items:stretch!important;
  gap:12px!important;
}
.ry-redesign-root.ry-redesign-home .ry-home-work .ry-brand-mosaic > .ry-brand-card,
.ry-redesign-root.ry-redesign-home .ry-home-work .ry-brand-mosaic > .ry-brand-card:nth-child(n){
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1350 / 1080!important; /* 1350x1080 (5:4) brand tiles */
}
@media(max-width:749px){
  .ry-redesign-root.ry-redesign-home .ry-home-work .ry-brand-mosaic{gap:8px!important}
}

/* ==========================================================================
   30 Sep 2026: Centre-aligned homepage headings
   ========================================================================== */
/* "Get your brand in front of the right people." (scroll-revealed lines) */
.ry-redesign-root.ry-redesign-home .ry-service-outcome-lines{
  text-align:center!important;
  justify-items:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ry-redesign-root.ry-redesign-home .ry-service-outcome-lines span{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* "How we build & / Execute your plan" */
.ry-redesign-root.ry-redesign-home .ry-activate-map__intro{grid-template-columns:minmax(0,1fr)!important}
.ry-redesign-root.ry-redesign-home .ry-activate-map__intro,
.ry-redesign-root.ry-redesign-home .ry-activate-map__intro > div{
  text-align:center!important;
  justify-content:center!important;
  justify-items:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ry-redesign-root.ry-redesign-home .ry-activate-map__title{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:none!important;
}
.ry-redesign-root.ry-redesign-home .ry-activate-map__title-line{
  white-space:nowrap!important;
}
@media(max-width:749px){
  /* Keep "EXECUTE YOUR PLAN" on one line on phones */
  .ry-redesign-root.ry-redesign-home .ry-activate-map__title{font-size:clamp(24px,8vw,44px)!important}
}

/* "Three systems. Your bespoke plan. One clear next step." */
.ry-redesign-root.ry-redesign-home .ry-service-summary,
.ry-redesign-root.ry-redesign-home .ry-service-summary__inner,
.ry-redesign-root.ry-redesign-home .ry-service-summary__heading,
.ry-redesign-root.ry-redesign-home .ry-service-summary__line{
  text-align:center!important;
  justify-content:center!important;
}
.ry-redesign-root.ry-redesign-home .ry-service-summary__heading{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* "The brands we work with." */
.ry-redesign-root.ry-redesign-home .ry-home-work > .ry-home-section-head,
.ry-redesign-root.ry-redesign-home .ry-home-work .ry-case-study-lines{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* Feature tile: a brand block with Layout = "Wide" spans both columns (Trott Shop) */
.ry-redesign-root.ry-redesign-home .ry-home-work .ry-brand-mosaic > .ry-brand-card.ry-brand-card--wide{
  grid-column:1 / -1!important;
}

/* ==========================================================================
   30 Sep 2026: Rocket Report – one row per system
   [current score (red)] [system icon + name] [potential score (amber→green)]
   ========================================================================== */
.ry-system-page .ry-audit-grid--rows{gap:clamp(20px,2.6vw,30px)}
.ry-system-page .ry-rocket-rows__head,
.ry-system-page .ry-rocket-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);
  gap:clamp(12px,1.6vw,20px);
  align-items:stretch;
}
.ry-system-page .ry-rocket-rows__head span{
  font-family:var(--font-display)!important;font-size:clamp(15px,1.4vw,19px);font-weight:900!important;font-style:italic!important;
  text-transform:uppercase;text-align:center;color:#fff!important;line-height:1.1;
}
.ry-system-page .ry-rocket-rows{display:grid;gap:clamp(12px,1.6vw,18px)}
.ry-system-page .ry-rocket-row__score{
  display:flex;align-items:center;justify-content:center;padding:22px 16px;
  background:rgba(0,0,0,.52);border:1px solid rgba(255,255,255,.08);
}
.ry-system-page .ry-rocket-row .ry-score-ring{--size:clamp(118px,11vw,156px);--thickness:12px}
.ry-system-page .ry-rocket-row .ry-score-ring__inner strong{font-size:clamp(30px,3vw,44px)}
.ry-system-page .ry-rocket-row .ry-score-ring__inner span{font-size:9px;letter-spacing:.14em}
/* Potential ring: solid colour set per row (green 80%+, amber below) */
.ry-system-page .ry-rocket-row .ry-score-ring--potential{background:conic-gradient(var(--accent) calc(var(--score) * 1%),rgba(255,255,255,.08) 0)}
/* Centre: bigger system icon, name in the middle */
.ry-system-page .ry-rocket-row .ry-rocket-service{gap:16px;padding:24px 18px;height:100%;box-sizing:border-box}
.ry-system-page .ry-rocket-row .ry-rocket-service__icon{width:clamp(108px,10vw,132px);height:clamp(108px,10vw,132px);background:transparent;border:0}
.ry-system-page .ry-rocket-row .ry-rocket-service__icon img{max-width:none!important;width:100%!important}
.ry-system-page .ry-rocket-row .ry-rocket-service__name strong{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 .3em;
  font-size:clamp(28px,2.7vw,38px);line-height:.9;
}
/* First word ("DEMAND") keeps the Third Rail teal; second word in TT Norms, white */
.ry-system-page .ry-rocket-service__name strong .ry-rocket-service__lead{
  font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;font-weight:400!important;font-style:normal!important;
  font-size:1em!important;letter-spacing:0!important;line-height:.9!important;text-transform:uppercase;color:var(--sys-teal)!important;
}
.ry-system-page .ry-rocket-service__name strong .ry-rocket-service__tail{
  font-family:var(--font-display)!important;font-weight:900!important;font-style:italic!important;
  font-size:.82em!important;letter-spacing:-.03em!important;line-height:.9!important;text-transform:uppercase;color:#fff!important;
}
.ry-system-page .ry-rocket-service__name .ry-rocket-service__sub{margin-top:4px}
/* Footer: "YOUR SCORE = YOUR PLAN" with the plan in Third Rail teal */
.ry-system-page .ry-audit-grid__footer-accent{
  font-family:"RY Third Rail",Impact,"Arial Narrow",sans-serif!important;font-weight:400!important;font-style:normal!important;
  letter-spacing:0;color:var(--sys-teal,var(--ry-teal,#01e9b0))!important;font-size:1.12em;white-space:nowrap;
}
@media(max-width:749px){
  /* Phones keep the same order: red score | system | potential score */
  .ry-system-page .ry-rocket-rows__head{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:6px}
  .ry-system-page .ry-rocket-rows__head span{font-size:11px}
  .ry-system-page .ry-rocket-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:6px}
  .ry-system-page .ry-rocket-rows{gap:8px}
  .ry-system-page .ry-rocket-row__score{padding:10px 2px}
  .ry-system-page .ry-rocket-row .ry-score-ring{--size:clamp(70px,21vw,96px);--thickness:7px}
  .ry-system-page .ry-rocket-row .ry-score-ring__inner strong{font-size:clamp(17px,5.4vw,24px)}
  .ry-system-page .ry-rocket-row .ry-score-ring__inner span{display:none}
  .ry-system-page .ry-rocket-row .ry-rocket-service{gap:8px;padding:12px 4px}
  .ry-system-page .ry-rocket-row .ry-rocket-service__icon{width:clamp(56px,17vw,76px);height:clamp(56px,17vw,76px)}
  .ry-system-page .ry-rocket-row .ry-rocket-service__name strong{flex-direction:column;align-items:center;gap:2px;font-size:clamp(17px,5.2vw,22px)}
  .ry-system-page .ry-rocket-row .ry-rocket-service__name .ry-rocket-service__sub{font-size:7.5px!important;letter-spacing:.1em!important}
}
/* Thick white divider between the three Rocket Report rows */
.ry-system-page .ry-audit-grid--rows .ry-rocket-rows{gap:0!important}
.ry-system-page .ry-audit-grid--rows .ry-rocket-row + .ry-rocket-row{
  border-top:4px solid #fff;
  margin-top:clamp(16px,1.8vw,22px);
  padding-top:clamp(16px,1.8vw,22px);
}
@media(max-width:749px){
  .ry-system-page .ry-audit-grid--rows .ry-rocket-row + .ry-rocket-row{border-top-width:3px;margin-top:12px;padding-top:12px}
}
/* Bigger, lower "YOUR SCORE = YOUR PLAN" */
.ry-system-page .ry-audit-grid--rows .ry-audit-grid__footer{
  font-size:clamp(34px,4.6vw,64px)!important;
  line-height:1!important;
  padding-top:clamp(28px,3.4vw,52px)!important;
  padding-bottom:clamp(6px,1vw,14px)!important;
}
@media(max-width:749px){
  .ry-system-page .ry-audit-grid--rows .ry-audit-grid__footer{font-size:clamp(28px,8.4vw,38px)!important;padding-top:26px!important}
}
/* Score labels sit under each ring (no text inside the ring, no column headings) */
.ry-system-page .ry-rocket-rows__head{display:none!important}
.ry-system-page .ry-rocket-row__score{flex-direction:column;gap:14px}
.ry-system-page .ry-rocket-row__label{
  margin:0;font-family:var(--font-mono)!important;font-size:9px;line-height:1.35;letter-spacing:.14em;
  text-transform:uppercase;text-align:center;color:rgba(255,255,255,.6)!important;
}
@media(max-width:749px){
  .ry-system-page .ry-rocket-row__score{gap:8px}
  .ry-system-page .ry-rocket-row__label{font-size:7.5px;letter-spacing:.04em;white-space:nowrap}
}
@media(max-width:360px){.ry-system-page .ry-rocket-row__label{font-size:7px;letter-spacing:0}.ry-system-page .ry-rocket-row__score{padding-left:0;padding-right:0}}
