/* A scoped engineering layer: Rockstar typography, photographs and palette. */
@font-face{font-family:FrameMono;src:url('assets/frame-mono.ttf') format('truetype');font-display:swap}
:root{--rs-frame-ease:cubic-bezier(.2,.8,.2,1);--rs-frame-stroke:1px;--rs-frame-accent:#79678e}
.rs-frame-micro{font-family:FrameMono,monospace;font-size:10px;line-height:1.5;font-weight:400;letter-spacing:.055em;text-transform:uppercase}
.rs-frame-outline{color:transparent;-webkit-text-stroke:1px var(--ink)}
.rs-frame-hero{position:absolute;inset:13% var(--pad) 15%;pointer-events:none;z-index:0;color:var(--ink);opacity:.45}
.rs-frame-hero::before,.rs-frame-hero::after{content:'';position:absolute;top:0;bottom:0;width:1px;background:currentColor;opacity:.15}
.rs-frame-hero::before{left:33.333%}.rs-frame-hero::after{left:66.666%}
.rs-frame-hero>i,.rs-frame-window>i,.rs-frame-closing>i{position:absolute;width:17px;height:17px;border:0 solid currentColor;pointer-events:none}
.rs-frame-hero>i:nth-child(1),.rs-frame-window>i:nth-child(1),.rs-frame-closing>i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}
.rs-frame-hero>i:nth-child(2),.rs-frame-window>i:nth-child(2),.rs-frame-closing>i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}
.rs-frame-hero>i:nth-child(3),.rs-frame-window>i:nth-child(3),.rs-frame-closing>i:nth-child(3){bottom:0;left:0;border-width:0 0 1px 1px}
.rs-frame-hero>i:nth-child(4),.rs-frame-window>i:nth-child(4),.rs-frame-closing>i:nth-child(4){bottom:0;right:0;border-width:0 1px 1px 0}
.rs-frame-hero>span{position:absolute;right:0;top:23px;writing-mode:vertical-rl}
.rs-frame-ruler{position:fixed;right:10px;top:41%;z-index:10;width:18px;pointer-events:none;color:#fff;mix-blend-mode:difference;text-align:center}
.rs-frame-ruler>span{font-family:FrameMono,monospace;font-size:9px;display:block}
.rs-frame-ruler-track{height:160px;width:10px;margin:12px auto;border-right:1px solid currentColor;background:repeating-linear-gradient(to bottom,currentColor 0 1px,transparent 1px 10px);position:relative;opacity:.75}
.rs-frame-ruler-track i{position:absolute;right:-3px;width:6px;height:6px;background:currentColor;top:calc(var(--rs-frame-progress,0) * 100%);transform:translateY(-50%)}
.rs-frame-motion{background:transparent;border:1px solid currentColor;padding:10px 13px;min-height:44px;font-family:FrameMono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;gap:10px}
.rs-frame-motion::before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}.rs-frame-motion[aria-pressed=false]::before{background:transparent;outline:1px solid currentColor}
.stillness.rs-frame-secession{background-color:var(--butter)}
.rs-frame-secession .stillness-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:3vw;margin:35px 0 52px;align-items:center}
.rs-frame-secession .stillness-heading h2{font-size:clamp(64px,8.5vw,154px);line-height:.94;max-width:100%}
.rs-frame-secession .stillness-aside{padding:0;min-width:0;position:relative}
.rs-frame-orbit{position:relative;max-width:460px;margin:0 0 0 auto;aspect-ratio:1;--rs-frame-orbit-ink:40,27,53;--rs-frame-orbit-accent:#79678e}
.rs-frame-orbit canvas{display:block;width:100%;height:100%}
.rs-frame-orbit-caption{position:absolute;left:8%;bottom:0}.rs-frame-orbit-axis{position:absolute;right:8%;top:0}
.rs-frame-secession .stillness-aside p{margin:22px 0 0 8%;font-size:17px;line-height:1.3}
.rs-frame-secession .seeing-eyes{position:absolute;right:8%;bottom:0;transform:rotate(-9deg) scale(.65);margin:0}
.rs-frame-secession .art-diptych{grid-template-columns:1.13fr .87fr;gap:3vw}
.rs-frame-secession .art-diptych figcaption{font-size:10px;line-height:1.5;flex-wrap:wrap;gap:4px 18px}
.rs-frame-secession .stillness-foot{flex-wrap:wrap;align-items:center}
.rs-frame-secession .stillness-foot .mono{font-size:10px}
.rs-frame-band{--rs-frame-scan:41%;--rs-frame-width:28%;--rs-frame-inset:0%;--rs-frame-duration:.9s;position:relative;aspect-ratio:16/10;isolation:isolate}
.rs-frame-band img,.rs-frame-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--rs-frame-position,50% 50%);transform:none!important}
.rs-frame-band .rs-frame-mono-image,.rs-frame-photo .rs-frame-mono-image{filter:grayscale(1)}
.rs-frame-band .rs-frame-color-image,.rs-frame-photo .rs-frame-color-image{filter:none;clip-path:inset(var(--rs-frame-inset) calc(100% - var(--rs-frame-scan) - var(--rs-frame-width)) var(--rs-frame-inset) var(--rs-frame-scan));transition:clip-path var(--rs-frame-duration) var(--rs-frame-ease)}
.rs-frame-window{position:absolute;left:var(--rs-frame-scan);width:var(--rs-frame-width);top:var(--rs-frame-inset);bottom:var(--rs-frame-inset);border:1px solid #f4efc233;color:var(--butter);pointer-events:none;transition:left var(--rs-frame-duration) var(--rs-frame-ease);z-index:2}
.rs-frame-band .rs-frame-window{top:22%;bottom:22%;color:var(--ink);border-color:#281b3522}
.rs-frame-report{margin-top:85px;--rs-frame-width:35%;--rs-frame-inset:10%;--rs-frame-duration:.7s;--rs-frame-scan:35%}
.rs-frame-report-heading{margin-bottom:35px;position:relative}
.rs-frame-report-heading>.rs-frame-micro{display:block;color:#b6b4b8;margin-bottom:22px}
.rs-frame-report h3{font-family:Display,Impact,sans-serif;font-size:clamp(46px,6.5vw,108px);line-height:.96;text-transform:uppercase;font-weight:900;letter-spacing:-.015em}
.rs-frame-report .rs-frame-outline{-webkit-text-stroke-color:#d9d3dc}
.rs-frame-stage{position:relative;height:70svh;min-height:500px;max-height:900px;overflow:hidden;background:#1b1b20;border:1px solid #e8e6e040;isolation:isolate}
.rs-frame-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#e8e6e00c 1px,transparent 1px),linear-gradient(90deg,#e8e6e00c 1px,transparent 1px);background-size:50px 50px}
.rs-frame-photo{position:absolute;inset:0 9% 0 22%;overflow:hidden}
.rs-frame-image-pair{position:absolute;inset:0}
.rs-frame-photo img{max-width:none}
.rs-frame-report.is-switching .rs-frame-image-pair{animation:rs-frame-study-in .45s var(--rs-frame-ease) both}
@keyframes rs-frame-study-in{from{opacity:.25;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}
.rs-frame-word{position:absolute;left:-1%;top:31%;font-family:Display,Impact,sans-serif;font-size:17vw;line-height:1;letter-spacing:-.025em;color:transparent;-webkit-text-stroke:1px #ffffff80;mix-blend-mode:difference;pointer-events:none;z-index:3}
.rs-frame-side{position:absolute;left:17px;top:20px;writing-mode:vertical-rl;color:#d2ced5}.rs-frame-scan-label{position:absolute;right:15px;bottom:18px;writing-mode:vertical-rl;color:#d2ced5}
.rs-frame-photo-meta{display:flex;justify-content:space-between;gap:20px;margin-top:17px;align-items:baseline;min-height:32px}
.rs-frame-photo-meta p{color:#c4beca}.rs-frame-full{white-space:nowrap;border-bottom:1px solid #777;padding:4px 0}
.rs-frame-controls{display:flex;flex-wrap:wrap;border-top:1px solid #e8e6e036;margin-top:18px;gap:0 28px}
.rs-frame-controls button{display:flex;align-items:baseline;gap:12px;min-height:52px;padding:13px 2px;background:transparent;color:#aaa4af;border-bottom:2px solid transparent;font-size:12px;text-align:left}
.rs-frame-controls button>span:first-child{font-family:FrameMono,monospace;font-size:10px;color:inherit}
.rs-frame-controls button[aria-pressed=true]{color:var(--green);border-bottom-color:var(--green)}
.rs-frame-controls button:hover{color:var(--butter)}
.rs-frame-report-footer{margin-top:55px;display:flex;justify-content:space-between;align-items:end;gap:25px}
.rs-frame-report-footer>p{font-family:Georgia,serif;font-size:30px;line-height:1.2}
.contact .contact-title .rs-frame-closing{aspect-ratio:1;width:13vw;max-width:190px;min-width:70px;display:flex;align-items:center;justify-content:center;transition:transform .35s;line-height:1;font-size:8vw}
.contact-title:hover .rs-frame-closing,.contact-title:focus-visible .rs-frame-closing{transform:rotate(8deg)}
.contact-title:focus-visible>span{color:var(--green);-webkit-text-stroke-color:var(--green)}
/* Small surprises in existing quieter chapters; no extra sections or claims. */
.rs-frame-services .service-row>.mono{font-family:Display;font-size:clamp(28px,3vw,48px);line-height:1;color:transparent;-webkit-text-stroke:1px #79678e}
.rs-frame-services .service-row::after{content:'';position:absolute;inset:8px -10px;border:1px solid var(--ink);clip-path:polygon(0 0,14px 0,14px 1px,1px 1px,1px 15px,0 15px,0 0,100% 0,100% 15px,calc(100% - 1px) 15px,calc(100% - 1px) 1px,calc(100% - 14px) 1px,calc(100% - 14px) 0,100% 0,100% 100%,0 100%);opacity:0;pointer-events:none;transition:opacity .25s}
.rs-frame-services .service-row:is(:hover,:focus-visible)::after{opacity:.6}
.rs-frame-services .service-row .row-arrow{transition:transform .35s}.rs-frame-services .service-row:is(:hover,:focus-visible) .row-arrow{transform:rotate(8deg)}
.rs-frame-clients{position:relative}.rs-frame-client-mark{position:absolute;right:var(--pad);top:94px;width:105px;aspect-ratio:1;border:1px solid #281b352e;pointer-events:none;transform:rotate(var(--rs-frame-turn,8deg));transition:transform .7s var(--rs-frame-ease)}
.rs-frame-client-mark::before,.rs-frame-client-mark::after{content:'';position:absolute;inset:14%;border:1px solid #281b3548;transform:rotate(24deg)}.rs-frame-client-mark::after{inset:27%;transform:rotate(48deg);background:#f4efc245}
.rs-frame-paused .rs-frame-color-image,.rs-frame-paused .rs-frame-window,.rs-frame-paused .rs-frame-closing,.rs-frame-paused .rs-frame-client-mark,.rs-frame-paused .rs-frame-services .row-arrow{transition:none!important}
.rs-frame-paused .rs-frame-image-pair{animation:none!important}
.rs-frame-paused .contact-title .rs-frame-closing,.rs-frame-paused .rs-frame-services .row-arrow{transform:none!important}
@media(min-width:1001px){.rs-frame-clients h2{padding-right:100px}}
@media(max-width:1000px){.rs-frame-secession .stillness-heading h2{font-size:9vw}.rs-frame-orbit{max-width:360px}.rs-frame-client-mark{width:65px;top:80px}.rs-frame-photo{inset:0 7% 0 16%}.rs-frame-word{font-size:19vw}}
@media(max-width:760px){.rs-frame-ruler{display:none}.rs-frame-secession .stillness-heading{grid-template-columns:1fr;gap:10px;margin:45px 0 35px}.rs-frame-secession .stillness-heading h2{font-size:clamp(48px,12vw,90px)}.rs-frame-secession .stillness-aside{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.rs-frame-orbit{width:100%;max-width:310px;margin:0}.rs-frame-secession .stillness-aside p{margin:0;font-size:16px}.rs-frame-orbit-caption{font-size:8px}.rs-frame-orbit-axis{font-size:8px}.rs-frame-secession .seeing-eyes{right:8%;bottom:12%;transform:rotate(-9deg) scale(.55)}.rs-frame-band{--rs-frame-width:40%}.rs-frame-report{--rs-frame-width:40%;margin-top:65px}.rs-frame-stage{height:65svh;min-height:390px;max-height:620px}.rs-frame-photo{inset:0 0 0 12%}.rs-frame-word{font-size:24vw;top:34%}.rs-frame-scan-label{display:none}.rs-frame-side{left:8px;font-size:9px}.rs-frame-photo img,.rs-frame-band img{object-position:var(--rs-frame-mobile-position,var(--rs-frame-position,50% 50%))}.rs-frame-client-mark{top:auto;bottom:28px;width:44px}.rs-frame-clients .client-foot{padding-right:65px}}
@media(max-width:600px){.rs-frame-hero{inset:16% 20px 19%}.rs-frame-hero>span{font-size:8px}.rs-frame-secession .art-diptych{grid-template-columns:1fr;gap:32px}.rs-frame-secession .art-diptych figure:nth-child(2){margin-top:0}.rs-frame-secession .art-diptych figcaption{font-size:9px}.rs-frame-band{aspect-ratio:4/3}.rs-frame-secession .stillness-foot{gap:22px;margin-top:32px}.rs-frame-secession .stillness-foot p{font-size:16px}.rs-frame-secession .stillness-foot .mono{text-align:left;width:100%}.rs-frame-report h3{font-size:11vw}.rs-frame-report-heading{margin-bottom:24px}.rs-frame-report-heading>.rs-frame-micro{font-size:9px;margin-bottom:16px}.rs-frame-report-footer>p{font-size:24px}.rs-frame-report-footer{align-items:start;flex-direction:column}.rs-frame-photo-meta{gap:12px}.rs-frame-photo-meta .rs-frame-micro{font-size:9px}.rs-frame-controls{gap:0 12px;display:grid;grid-template-columns:1fr 1fr}.rs-frame-controls button{font-size:11px;min-height:52px;gap:8px}.contact .contact-title .rs-frame-closing{width:65px;min-width:65px;font-size:48px;top:-80px}.contact .contact-pre{max-width:70%}.rs-frame-services .service-row>.mono{font-size:24px}.rs-frame-services .service-row{grid-template-columns:10% 1fr 8%}}
@media(prefers-reduced-motion:reduce){.rs-frame-color-image,.rs-frame-window,.rs-frame-closing,.rs-frame-client-mark,.rs-frame-services .row-arrow{transition:none!important}.rs-frame-image-pair{animation:none!important}.contact-title .rs-frame-closing,.rs-frame-services .row-arrow{transform:none!important}}
