/* Shared service hero geometry: keep imagery inside the content grid. */
.rf-service .rf-hero,.rf-detail .rf-hero{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(30px,5vw,80px)}
.rf-scope .rf-hero-visual{margin:0!important;min-width:0;width:100%;box-sizing:border-box;align-self:center}
.rf-scope .rf-hero-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.rf-scope .rf-hero-visual figcaption{padding:12px;flex-wrap:wrap;font-size:10px}
/* Match the light creative-services opening consistently across its descendants. */
.rf-service-web-design>.rf-dark:first-child{background:#edf2ef;color:#132d31}
.rf-service-web-design>.rf-dark:first-child .rf-hero{background:transparent;color:#132d31;min-height:0;padding-block:60px 70px}
.rf-service-web-design>.rf-dark:first-child :is(h1,.rf-service-name){color:#132d31}
.rf-service-web-design>.rf-dark:first-child :is(.rf-eyebrow,.rf-breadcrumb,.rf-breadcrumb>[aria-current]){color:#376a6d}
.rf-service-web-design>.rf-dark:first-child .rf-hero-lead{color:#486362}
.rf-service-web-design>.rf-dark:first-child .rf-local-nav{color:#25464a;border-color:#bacdc7}
.rf-service-web-design .rf-hero h1{font-size:clamp(40px,4.2vw,64px);font-weight:500;line-height:1.4;letter-spacing:-.04em}
.rf-service-web-design .rf-hero .rf-text-link{color:#183a3b}.rf-service-web-design .rf-button{background:#124e53}
.fw-visual{margin:0!important;position:relative;padding:0 22px 38px 0;min-width:0}
.fw-artboard{background:#173b3e;color:#edf2dc;aspect-ratio:1.1;padding:30px;display:flex;flex-direction:column;box-shadow:0 20px 45px #173b3e18;overflow:hidden}
.fw-art-top{font:9px monospace;display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #507073;letter-spacing:.1em}
.fw-art-word{font-size:clamp(45px,5.7vw,87px);font-weight:600;line-height:1.03;letter-spacing:-.07em;margin:auto 0}.fw-art-word>span{color:#afd4ad}
.fw-art-grid{display:flex;gap:14px;font:8px monospace;letter-spacing:.04em;border-top:1px solid #507073;padding-top:16px}
.fw-mini{position:absolute;right:0;bottom:68px;background:#e3eaca;border:1px solid #b3c6a8;color:#19383a;width:35%;aspect-ratio:3/4;box-shadow:0 15px 40px #0e313329;padding:17px;display:flex;flex-direction:column;justify-content:space-between}
.fw-mini>span:first-child{font:7px monospace;letter-spacing:.08em}.fw-mini b{font-size:clamp(23px,2.6vw,37px);line-height:1.4;font-weight:500}.fw-mini-line{height:1px;background:#96af9b;display:block}.fw-mini small{font:7px monospace}.fw-visual figcaption{position:absolute;bottom:10px;left:0;font-size:10px;color:#4f6c67}
.fw-story{display:grid;grid-template-columns:1.1fr 1fr;gap:45px 10%;padding-block:90px}.fw-story h2{font-size:clamp(32px,3.5vw,52px);font-weight:500;line-height:1.5;margin:25px 0}.fw-story>div:nth-child(2){align-self:center}.fw-story p{line-height:2;color:#4a6266}.fw-story .rf-text-link{margin-top:22px}.fw-story ol{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:0}.fw-story li{border-top:1px solid #a7bfba;padding-top:24px}.fw-story li>span{font:11px monospace;color:#087582}.fw-story h3{font-size:23px;font-weight:500;line-height:1.55;margin:26px 0 17px}.fw-story li p{font-size:15px}
@media(max-width:900px){.rf-service .rf-hero,.rf-detail .rf-hero{grid-template-columns:1fr;gap:35px}.rf-scope .rf-hero-visual{max-width:680px}.rf-scope .rf-hero-visual img{aspect-ratio:16/9}.fw-visual{max-width:650px}.fw-artboard{aspect-ratio:1.4}.fw-art-word{font-size:70px}.fw-mini b{font-size:36px}}
@media(max-width:600px){.rf-service-web-design .rf-hero h1{font-size:36px}.rf-service-web-design>.rf-dark:first-child .rf-hero{padding-block:25px 35px}.fw-artboard{padding:22px;aspect-ratio:1.2}.fw-art-word{font-size:51px}.fw-mini{padding:12px;bottom:58px}.fw-mini b{font-size:26px}.fw-art-grid{font-size:6px;gap:10px}.fw-story{grid-template-columns:1fr;gap:18px;padding-block:55px}.fw-story ol{grid-template-columns:1fr;gap:25px;margin-top:15px}.fw-story h2{font-size:32px}.fw-story h3{font-size:22px;margin-top:18px}}
.rf-service-web-design>.rf-dark:first-child .ff-symbol{filter:none;color:#287b80}
.ff-service-diagram-head>a{display:inline-flex;gap:8px;flex-shrink:0;white-space:nowrap}
@media(max-width:600px){.fw-art-word{font-size:45px}.ff-service-diagram-head p{line-height:1.8;font-size:10px}.ff-service-diagram-head>a{font-size:11px}.ff-service-diagram-head{gap:16px}}
