/* R30: positioning, staggered reveal and compositional polish. R27 theme tokens retained. */
.r30-data-note{font-size:13px;line-height:1.7;color:var(--r-muted);border-left:3px solid var(--r-accent);padding:12px 18px;background:var(--r-soft);border-radius:0 11px 11px 0;margin-top:25px}
.r30-data-note b{color:var(--r-ink)}
.r30-method{background:var(--r-bg)}.r30-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.r30-method-card,.r30-history-card{position:relative;min-width:0;padding:34px 28px 36px;background:var(--r-panel);border:1px solid var(--r-line);border-radius:18px;overflow:hidden;transition:box-shadow .35s ease,border-color .35s ease}
.r30-method-card:before,.r30-history-card:before{content:"";position:absolute;top:0;left:28px;width:52px;height:3px;background:var(--r-accent)}
.r30-method-card>span,.r30-history-card>span{font:800 10px/1.5 ui-monospace,monospace;letter-spacing:.12em;color:var(--r-accent)}
.r30-method-card h3,.r30-history-card h3{font:750 clamp(20px,2vw,27px)/1.2 var(--r-headfont);letter-spacing:-.035em;margin:28px 0 13px;color:var(--r-ink)}
.r30-method-card p,.r30-history-card p{font-size:14px;line-height:1.72;margin:0;color:var(--r-muted)}
.r30-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:34px 0}
.r30-case-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,5vw,70px);align-items:center}
.r30-internal{background:var(--r-panel)}
.r30-case-diagram{padding:30px 24px;border-radius:20px;border:1px solid var(--r-line);background:var(--r-bg);display:grid;justify-items:center;gap:8px;box-shadow:0 28px 65px color-mix(in srgb,var(--r-ink) 8%,transparent)}
.r30-case-diagram>div{border:1px solid var(--r-line);background:var(--r-panel);border-radius:10px;width:min(100%,360px);padding:14px 18px;text-align:center;color:var(--r-ink);font-size:13px;font-weight:750;box-shadow:0 7px 15px color-mix(in srgb,var(--r-ink) 4%,transparent)}
.r30-case-diagram>div:nth-of-type(3){border-color:var(--r-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--r-accent) 20%,transparent)}
.r30-case-diagram>span{font-size:20px;font-weight:900;color:var(--r-accent);line-height:1}
.r30-evidence-pill{display:inline-block;font-size:10px;letter-spacing:.1em;font-weight:850;background:var(--r-soft);color:var(--r-accent);padding:10px 13px;border-radius:7px;border:1px solid var(--r-line)}
.r30-case-copy h3{font:760 clamp(30px,3.7vw,52px)/1.1 var(--r-headfont);letter-spacing:-.045em;margin:25px 0}
.r30-case-copy p,.r30-case-copy li{color:var(--r-muted);line-height:1.75;font-size:14px}.r30-case-copy ul{padding-left:20px}.r30-case-copy li+li{margin-top:8px}
.r30-case-actions{display:flex;gap:21px;flex-wrap:wrap;margin-top:26px}
.r30-form-hint{font-size:13px;line-height:1.65;color:var(--r-muted);margin:12px 0 22px}
.r30-four-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.r30-audit-card{border-color:var(--r-accent)!important;position:relative}.r30-audit-card:after{content:'DIAGNOSTIC ONLY';font:750 9px/1 ui-monospace,monospace;letter-spacing:.07em;color:var(--r-accent);position:absolute;right:17px;top:16px}
.r30-evidence-info{border-color:var(--r-accent)!important}
.r30-method-card:hover,.r30-history-card:hover{border-color:var(--r-accent);box-shadow:0 18px 45px color-mix(in srgb,var(--r-ink) 9%,transparent)}
.r30-page-hero{max-width:900px}
/* Motion: no scrolling hijack, no opacity hiding without a working observer. */
.r30-motion-ready [data-r30-reveal]:not(.r30-visible){opacity:0;transform:translate3d(var(--r30-from-x,0px),var(--r30-from-y,34px),0) scale(var(--r30-from-scale,1))}
.r30-motion-ready [data-r30-reveal]{transition-property:opacity,transform;transition-duration:var(--r30-duration,680ms);transition-delay:var(--r30-delay,0ms);transition-timing-function:var(--r30-ease,cubic-bezier(.16,1,.3,1));will-change:opacity,transform}
.r30-motion-ready [data-r30-reveal].r30-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
[data-r30-direction="left"]{--r30-from-x:-32px;--r30-from-y:10px}
[data-r30-direction="right"]{--r30-from-x:32px;--r30-from-y:10px}
[data-r30-direction="up"]{--r30-from-x:0px;--r30-from-y:29px}
[data-r30-direction="soft"]{--r30-from-x:0px;--r30-from-y:13px;--r30-from-scale:.985}
.r30-card-lift{transition:border-color .3s ease,box-shadow .3s ease;transform-origin:center center}
@media(hover:hover) and (pointer:fine){.r30-card-lift:hover{border-color:var(--r-accent)!important;box-shadow:0 23px 55px color-mix(in srgb,var(--r-ink) 13%,transparent)!important}}
.r30-stagger-group>.r30-card-lift{contain:layout style}
.r7-new .r7-service-item.r30-card-lift:hover,.r7-existing .r7-service-item.r30-card-lift:hover{background:color-mix(in srgb,var(--r-accent) 7%,transparent)}
.r30-method-card,.r30-history-card,.r30-case-grid,.r30-evidence-info{scroll-margin-top:100px}
@media(max-width:900px){.r30-method-grid{grid-template-columns:1fr}.r30-case-grid{grid-template-columns:1fr}.r30-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.r30-four-cards,.r30-history-grid{grid-template-columns:1fr}.r30-method-card,.r30-history-card{padding:26px 22px}.r30-case-diagram{padding:18px 14px}.r30-data-note{font-size:12px}.r30-case-copy h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.r30-motion-ready [data-r30-reveal],.r30-motion-ready [data-r30-reveal]:not(.r30-visible){opacity:1!important;filter:none!important;transform:none!important;transition:none!important;animation:none!important;will-change:auto!important}.r30-card-lift{transition:none!important}}
@media print{.r30-motion-ready [data-r30-reveal],.r30-motion-ready [data-r30-reveal]:not(.r30-visible){opacity:1!important;filter:none!important;transform:none!important;transition:none!important}}

/* R30 owns entry animations; R27 still owns progress and parallax. */
.r27-motion-on [data-r30-reveal].r27-in-view{animation:none!important}
@media (hover:hover) and (pointer:fine){.r30-motion-ready [data-r30-reveal].r30-visible.r30-card-lift:hover{transform:translate3d(0,-5px,0) scale(1.005);filter:none}}
@media (prefers-reduced-motion:reduce){.r30-motion-ready [data-r30-reveal].r30-visible.r30-card-lift:hover{transform:none!important}}

/* R30.1: explicit, repeatable scene-change animation for the home showcase. */
@keyframes r30-scene-slide-in{from{opacity:.35;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.r8-showcase .r30-scene-enter{animation:r30-scene-slide-in 540ms cubic-bezier(.16,1,.3,1) both}
@media(prefers-reduced-motion:reduce){.r8-showcase .r30-scene-enter{animation:none!important}}

/* R31: semantic service-page layout, no extra render-blocking asset. */
.r31-topic-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.r31-topic-links a{border:1px solid var(--r-line);background:var(--r-panel);color:var(--r-ink);padding:11px 13px;border-radius:11px;font-size:12px;font-weight:700;text-decoration:none;line-height:1.45}.r31-topic-links a:hover,.r31-topic-links a:focus-visible{border-color:var(--r-accent);color:var(--r-accent)}
.r31-services-hub{padding-top:56px;padding-bottom:78px}.r31-overline,.r31-eyebrow{font:800 11px/1.5 ui-monospace,monospace;letter-spacing:.16em;color:var(--r-accent);text-transform:uppercase}.r31-section-lead{max-width:810px;line-height:1.75;color:var(--r-muted)}
.r31-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:25px}.r31-topic-card,.r31-card{border-radius:16px;background:var(--r-panel);border:1px solid var(--r-line);padding:25px;min-width:0}.r31-topic-card h3{font:750 22px/1.2 var(--r-headfont);letter-spacing:-.03em;margin:0 0 12px}.r31-topic-card h3 a{color:var(--r-ink);text-decoration:none}.r31-topic-card p,.r31-card p{font-size:14px;line-height:1.75;color:var(--r-muted)}.r31-topic-card>a{font-weight:750;font-size:13px;color:var(--r-accent)}
.r31-main{display:block;background:var(--r-bg);color:var(--r-ink)}.r31-hero{padding:clamp(78px,9vw,140px) 0 65px;border-bottom:1px solid var(--r-line)}.r31-wrap{width:min(1160px,calc(100% - 44px));margin:0 auto}.r31-hero h1{font:760 clamp(40px,6vw,72px)/1.07 var(--r-headfont);letter-spacing:-.058em;max-width:950px;margin:18px 0}.r31-intro{font-size:clamp(16px,2vw,20px);color:var(--r-muted);line-height:1.68;max-width:815px}.r31-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.r31-link-primary{display:inline-block;border-radius:10px;padding:14px 20px;background:var(--r-accent);color:#fff!important;text-decoration:none;font-weight:750}.r31-link-outline{display:inline-block;border-radius:10px;padding:13px 19px;border:1px solid var(--r-line);color:var(--r-ink);text-decoration:none;font-weight:700}.r31-content-section{padding:70px 0;border-bottom:1px solid var(--r-line)}.r31-content-section h2{font:760 clamp(27px,3vw,41px)/1.15 var(--r-headfont);letter-spacing:-.04em;margin:12px 0 22px}.r31-content-section h3{font-size:19px;line-height:1.3;color:var(--r-ink);margin:0 0 12px}.r31-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0}.r31-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.r31-note{background:var(--r-soft);border-left:3px solid var(--r-accent);border-radius:0 12px 12px 0;padding:18px 23px;font-size:14px;line-height:1.8;color:var(--r-muted);margin-top:23px}.r31-related{display:flex;gap:15px;flex-wrap:wrap;margin-top:24px}.r31-related a{color:var(--r-accent);font-weight:700;font-size:14px}.r31-qa{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.r31-qa p{margin-bottom:0}.r31-breadcrumb{font-size:13px;color:var(--r-muted);margin-bottom:22px}.r31-breadcrumb a{color:var(--r-accent)}
@media(max-width:850px){.r31-topic-grid,.r31-grid{grid-template-columns:1fr 1fr}.r31-qa,.r31-grid.two{grid-template-columns:1fr}}@media(max-width:620px){.r31-topic-grid,.r31-grid{grid-template-columns:1fr}.r31-content-section{padding:49px 0}.r31-wrap{width:min(100% - 28px,1160px)}.r31-hero{padding:70px 0 48px}.r31-hero h1{font-size:clamp(34px,9vw,52px)}}
