/* Shared components. Use with tokens.css; no framework or reset required. */
.rf-lockup{display:block;width:247px}.rf-lockup img{display:block;width:100%;height:auto}.rf-lockup img+img{margin-top:12px}
.rf-display{font-family:var(--rf-sans);font-weight:400;font-size:clamp(48px,6.7vw,116px);line-height:1.015;letter-spacing:-.065em}
.rf-heading{font-family:var(--rf-sans);font-weight:400;font-size:clamp(35px,4vw,54px);line-height:1.05;letter-spacing:-.05em}
.rf-body{font-family:var(--rf-sans);font-size:17px;font-weight:400;line-height:1.55;letter-spacing:-.01em}
.rf-label{font-family:var(--rf-sans);font-size:10px;line-height:1.5;letter-spacing:.07em;text-transform:uppercase}
.rf-editorial{font-family:var(--rf-serif);font-size:20px;line-height:1.72;letter-spacing:-.008em;max-width:var(--rf-reading-width)}
.rf-editorial p+p{margin-top:27px}.rf-editorial .rf-lead{font-size:24px;line-height:1.56;margin-bottom:31px}
.rf-sheet{box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;background:var(--rf-lavender);color:var(--rf-ink);padding:var(--rf-gutter);border-radius:0}
.rf-sheet-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.rf-sheet-header>a{font-size:12px;color:inherit;text-decoration:none}
.rf-sheet-copy{position:relative;z-index:1;max-width:660px;margin-top:70px}.rf-sheet-copy h1,.rf-sheet-copy h2{margin:0}.rf-sheet-copy p{max-width:390px;margin:27px 0 0}
.rf-sheet-art{position:absolute;pointer-events:none;width:85%;height:120%;right:-8%;bottom:-49%;z-index:0}.rf-sheet-art canvas{display:block;width:100%;height:100%}
.rf-sheet--horizontal{min-height:800px}.rf-sheet--horizontal .rf-display{font-size:clamp(48px,6.7vw,104px)}
.rf-sheet--vertical{width:100%;max-width:460px;min-height:680px;padding:32px}.rf-sheet--vertical .rf-lockup{width:195px}.rf-sheet--vertical .rf-sheet-copy{margin-top:56px}.rf-sheet--vertical .rf-display{font-size:46px;line-height:1.035;letter-spacing:-.065em}.rf-sheet--vertical .rf-sheet-copy p{font-size:15px;line-height:1.55;max-width:315px;margin-top:24px}.rf-sheet--vertical .rf-sheet-art{width:150%;height:78%;right:-25%;bottom:-21%}
/* Offset layers are surfaces, not shadows. Keep prose on one opaque front. */
.rf-panel{--rf-panel-bg:var(--rf-ink);--rf-panel-ink:var(--rf-paper);--rf-panel-back:var(--rf-blue);position:relative;isolation:isolate;box-sizing:border-box;color:var(--rf-panel-ink);background:var(--rf-panel-bg);border:1px solid var(--rf-panel-ink);border-radius:0;margin:0 var(--rf-layer-offset) var(--rf-layer-offset) 0}
.rf-panel::before{content:'';position:absolute;inset:-1px;background:var(--rf-panel-back);transform:translate(var(--rf-layer-offset),var(--rf-layer-offset));z-index:-2}
.rf-panel::after{content:'';position:absolute;inset:0;background:var(--rf-panel-bg);z-index:-1}
.rf-panel-top{display:flex;justify-content:space-between;gap:20px;padding:17px 24px;border-bottom:1px solid color-mix(in srgb,var(--rf-panel-ink) 25%,transparent);font-size:10px;letter-spacing:.035em}
.rf-panel-content{padding:38px 32px 42px}.rf-panel-content h3{font-weight:400;font-size:30px;line-height:1.15;letter-spacing:-1px;margin:0 0 20px}.rf-panel-content p{font-size:clamp(21px,2.6vw,36px);line-height:1.4;letter-spacing:-.025em;max-width:900px;margin:0}
.rf-panel-link{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 24px;border-top:1px solid color-mix(in srgb,var(--rf-panel-ink) 25%,transparent);color:inherit;text-decoration:none;font-size:17px}.rf-panel-link>span:first-child{text-decoration:underline;text-underline-offset:5px}.rf-panel-arrow{display:grid;place-items:center;width:44px;height:44px;background:var(--rf-vermilion);color:var(--rf-ink);font-size:33px;line-height:1;flex-shrink:0}.rf-panel-link:hover .rf-panel-arrow{background:var(--rf-lime)}
.rf-panel--paper{--rf-panel-bg:var(--rf-paper);--rf-panel-ink:var(--rf-ink);--rf-panel-back:var(--rf-lavender);border-color:var(--rf-rule)}
.rf-panel--blue{--rf-panel-bg:var(--rf-blue);--rf-panel-ink:var(--rf-paper);--rf-panel-back:var(--rf-lime)}
.rf-panel--flat{margin-right:0;margin-bottom:0}.rf-panel--flat::before{display:none}
.rf-tabs{display:flex;gap:12px;margin:0 0 24px}.rf-tabs button{font:inherit;font-size:15px;color:var(--rf-ink);border:0;background:transparent;border-radius:0;padding:13px 20px;cursor:pointer}.rf-tabs button[aria-selected=true]{background:var(--rf-lime)}
.rf-tabs button:focus-visible,.rf-panel-link:focus-visible,.rf-sheet a:focus-visible{outline:3px solid var(--rf-vermilion);outline-offset:4px}
@media(max-width:700px){.rf-lockup{width:185px}.rf-lockup img+img{margin-top:9px}.rf-sheet--horizontal{min-height:850px}.rf-sheet-header>a{font-size:10px}.rf-sheet-copy{margin-top:62px}.rf-sheet--horizontal .rf-display{font-size:clamp(39px,11.6vw,75px)}.rf-sheet-copy p{font-size:16px;max-width:330px}.rf-sheet-art{width:160%;height:75%;right:-32%;bottom:-19%}.rf-sheet--vertical{min-height:700px;padding:26px}.rf-sheet--vertical .rf-display{font-size:clamp(35px,10.2vw,46px)}.rf-sheet--vertical .rf-lockup{width:175px}.rf-sheet--vertical .rf-sheet-art{bottom:-17%}.rf-editorial{font-size:18px;line-height:1.65}.rf-editorial .rf-lead{font-size:21px;line-height:1.5}.rf-panel-top{padding:16px 20px;font-size:9px}.rf-panel-content{padding:28px 20px 32px}.rf-panel-content p{font-size:22px;line-height:1.45}.rf-panel-content h3{font-size:25px}.rf-panel-link{padding:15px 20px;font-size:15px}.rf-panel-arrow{width:38px;height:38px;font-size:29px}.rf-tabs{gap:4px}.rf-tabs button{font-size:14px;padding:12px 16px}}
