/* Large type, a permanent editorial rail, and motion around the real work. */
:root{--navy:#0e1414;--paper:#111918;--ink:#f0f5ee;--blue:#c6ff73;--muted:#a5b5ae;--rail-width:clamp(218px,21vw,320px)}
body{background:#090e0d}
button:focus-visible,a:focus-visible{outline-color:#c6ff73}
.presentation{background:var(--paper)}
.sidebar{padding:clamp(16px,3vh,32px) clamp(12px,1.5vw,24px) clamp(18px,3vh,32px);background:#0b1110;border-right:1px solid #c7e4cd16;isolation:isolate;container-type:size}
.sidebar:after{content:'';position:absolute;left:22px;right:22px;bottom:24px;height:2px;background:linear-gradient(90deg,#c6ff73,#c6ff7300);transform-origin:left;animation:rail-breathe 6s ease-in-out infinite alternate;pointer-events:none}
.sidebar .brand{padding:0 5px clamp(16px,3vh,30px);border-bottom:0;min-width:0;flex:none}
.sidebar .brand>span:first-child{font-size:clamp(29px,2.8vw,42px);font-weight:750;letter-spacing:-.065em}
.brand-point{color:var(--blue)}
.sidebar .rail-heading{padding:0 7px clamp(13px,2vh,22px);font-size:clamp(13px,1.2vw,18px);font-weight:500;color:#789188;border:0;flex:none}
.sidebar .capabilities{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));flex:1;min-width:0;min-height:0;gap:clamp(5px,1vh,11px);padding:0;overflow:hidden}
.sidebar .capability,.sidebar .capability.section-capability{display:grid;grid-template-columns:clamp(20px,1.7vw,26px) minmax(0,1fr);gap:clamp(9px,.9vw,15px);max-height:none;min-height:0;min-width:0;width:100%;height:100%;margin:0;padding:clamp(7px,1.2vh,13px) clamp(10px,.9vw,15px);border:1px solid transparent;background:transparent;border-radius:14px;color:#a5b7ad;transition:color .25s,background .25s,border-color .25s;isolation:isolate;overflow:hidden}
.sidebar .capability.video-capability{background:#141e1a;border-color:#324a3c55}
.sidebar .capability .nav-name{font-size:clamp(15px,min(9.4cqw,3.5cqh),22px);font-weight:550;letter-spacing:-.025em;line-height:1.18;min-width:0}
.sidebar .nav-name>span{display:block;white-space:nowrap}
.nav-icon{display:grid;place-items:center;width:100%;aspect-ratio:1;color:#839d8c}
.nav-icon svg{width:100%;height:100%;stroke-width:1.45}
.sidebar .capability:hover{color:#eff9f0;background:#1b2a21;transform:none}
.sidebar .capability.active{background:#c6ff73;border-color:#c6ff73;color:#102113;box-shadow:0 6px 30px #b9ff4b10}
.sidebar .capability.active .nav-icon{color:#284325}
.sidebar .capability.active:before{display:none}
.sidebar .capability.section-capability{border-top:1px solid #bfdac52b;border-radius:0 0 14px 14px}
.sidebar .capability.section-capability.active{border-radius:15px}
.scene{background:radial-gradient(ellipse at 96% 0,#30493155,transparent 50%),#111918;color:#f0f5ee;padding-top:clamp(25px,5cqh,54px);padding-bottom:clamp(76px,11cqh,106px);gap:clamp(16px,3.1cqh,34px)}
.scene h2,.demos-a h2{font-weight:720;font-size:clamp(30px,min(6.4cqw,9.3cqh),92px);letter-spacing:-.065em;line-height:1.06}
.scene h2 span,.team-collage-scene h1 span{color:var(--blue)}
.scene:not([hidden])>h2,.scene:not([hidden])>h1{animation:headline-arrive .7s cubic-bezier(.2,.8,.2,1) both}
.scene:not([hidden])>.real-gallery,.scene:not([hidden])>.project-tabs,.scene:not([hidden])>.forest-real-media{animation:media-arrive .9s cubic-bezier(.2,.7,.2,1) both}
.case-tabs button,.demo-tabs button,.project-tabs button{color:#a4b5aa;border:1px solid #647b6950;background:#1b2720;border-radius:11px;transition:background .25s,color .25s,border-color .25s,transform .25s}
.case-tabs button:hover,.demo-tabs button:hover,.project-tabs button:hover{color:#f6fff4;border-color:#c6ff7388;transform:translateY(-2px)}
.case-tabs button[aria-selected=true],.demo-tabs button[aria-selected=true],.rostics-real .case-tabs button[aria-selected=true]{background:var(--blue);color:#172611;border-color:var(--blue)}
.project-tabs{column-gap:clamp(9px,1.2cqw,18px);row-gap:8px}
.project-tabs button{position:relative;font-size:clamp(16px,2.05cqw,28px);font-weight:550;padding:clamp(8px,1.3cqh,14px) 2px clamp(12px,2cqh,21px);border:0;background:none;border-radius:0;color:#8ca596;overflow:clip}
.project-tabs button[aria-selected=true]{color:#f0f5ee;background:none;border:0}
.project-tabs button[aria-selected=true]:before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#40573f}
.project-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--blue);box-shadow:0 0 14px #baff4d55}
.project-panel{gap:clamp(11px,2.4cqh,25px)}
.project-panel .project-purpose,.service-name{color:#b7cbbb;font-weight:500;font-size:clamp(21px,2.8cqw,39px)}
.project-panel:not([hidden]) .single-real-media,.project-panel:not([hidden]) .real-gallery,.gallery-panel:not([hidden])>.real-image{animation:media-arrive .7s cubic-bezier(.2,.7,.2,1) both}
.real-image,.model-video .video-box,.demo-pane .video-box{border:1px solid #d8efcd20;border-radius:clamp(12px,1.7cqw,24px);box-shadow:0 22px 50px #0003}
.real-image{background:#eff2ec}
.image-expand{background:#15261eea;color:#e6fcd5;border:1px solid #c4e5b840}
.real-image:hover .image-expand{background:var(--blue);color:#152611}
.model-video .video-box{background:#e5e7e2}
.service-video{display:flex;flex:1;min-height:0;min-width:0}
.service-video .video-box{width:100%;height:100%;min-height:0;border:1px solid #c6e5b92b;border-radius:clamp(12px,1.7cqw,24px);box-shadow:0 22px 50px #0003;background:#edf0e9}
.service-video video{width:100%;height:100%;object-fit:contain;background:#edf0e9}
.model-video video{background:#e5e7e2}
.model-credit{color:#8caa96}
.model-credit:hover{color:#c6ff73}
.video-expand{background:#14261cdb;color:#e6fbdc;border:1px solid #cbefbc33;border-radius:12px}
.video-expand:hover{background:var(--blue);color:#142611}
.video-play .play-disc{background:#c6ff73;color:#172611;box-shadow:0 0 0 14px #c6ff7315;animation:play-halo 3s ease-in-out infinite}
.team-real.team-collage-scene{padding-top:clamp(26px,4.5cqh,48px);padding-bottom:clamp(76px,11cqh,106px);gap:clamp(20px,3cqh,35px)}
.team-collage-scene h1{font-weight:720}
.team-photo{padding:clamp(3px,.4cqw,6px);background:#e9f1e4;box-shadow:0 16px 35px #0003;border-radius:12px}
.team-photo img{background:#dce5d5;border-radius:7px}
.scene:not([hidden]) .collage-left{animation:collage-float 8s ease-in-out infinite alternate}
.scene:not([hidden]) .collage-center{animation:collage-float 9s ease-in-out -4s infinite alternate-reverse}
.scene:not([hidden]) .collage-right{animation:collage-float 7s ease-in-out -2s infinite alternate}
.partners-real .large-client{background:#eaf0e4;border:0;border-radius:17px;box-shadow:0 15px 35px #0002;color:#172a1b}
.partners-track{animation-duration:32s}
.partners-row:nth-child(2) .partners-track{animation-duration:37s}
.partners-row:before,.partners-row:after{background:linear-gradient(90deg,#111918,transparent)}
.scene-wipe{background:#c6ff73}.scene-wipe:after{background:#efffd8}
.masthead .tools,.slide-navigation{background:#19271eed;border:1px solid #7b9b7038;box-shadow:0 10px 35px #0002;backdrop-filter:blur(16px)}
.tool,.slide-counter,.slide-navigation .nav-arrow,.slide-navigation .help-button{color:#b1c4b5}
.slide-counter b{color:#e7f4df}
.tool:hover{background:#34502c}
.show-button,.slide-navigation .nav-arrow.next{background:var(--blue);color:#192b12;border-color:var(--blue)}
.show-button:hover{background:#dcffab;color:#142411}
.slide-navigation .nav-arrow{border-color:#64775b}
.slide-navigation .nav-arrow:hover{background:#34472b}
.progress button{background:#42543e}.progress button.past{background:#829b71}.progress button.current{background:var(--blue)}
.slide-navigation .help-button{border-color:#64775b}
.modal{--ink:#172c21;background:#f0f5ec;color:#172c21;border-color:#b5c6a9}
.overview-tile.active{background:#c6ff73;color:#172611;border-color:#a7dc55}.overview-tile.active>span{color:#45612d}
.plain-button{background:#d9ebcb;color:#2e4c22}
.toast{background:#17301feF;border-color:#9fc58c55}
.slide-navigation{left:50%;right:auto;top:auto;bottom:clamp(10px,1.5cqh,18px);width:min(610px,calc(100% - 32px));max-width:calc(100% - 32px);height:auto;min-height:54px;padding:7px 11px;display:grid;grid-template-columns:38px 65px minmax(65px,1fr) 38px auto 30px;gap:10px;align-items:center;border-radius:17px;overflow:hidden;box-sizing:border-box;transform:translate(-50%,0);transition:opacity .2s}
.slide-navigation .nav-arrow,.slide-navigation .help-button{position:static;inset:auto;display:grid;place-items:center;width:38px;height:38px;min-width:0;min-height:0;line-height:1;padding:0;margin:0;transform:none!important;flex:none}
.slide-navigation .nav-arrow svg{width:22px;height:22px;display:block;stroke-width:1.7}
.slide-navigation .help-button{width:30px;height:30px;font-size:18px}
.slide-navigation .slide-counter{display:flex;justify-content:center;align-items:center;gap:5px;min-width:0;line-height:1;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.slide-navigation .progress{display:flex;width:100%;min-width:0;height:28px;gap:3px;align-items:center}
.slide-navigation .progress button,.slide-navigation .progress button.current{width:auto;min-width:0;flex:1;height:4px;border-radius:4px}
.slide-navigation .progress button:before{inset:-10px -1px}
.auto-play-button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 10px;border:1px solid #607b54;border-radius:10px;background:#24331d;color:#d5e6cb;white-space:nowrap;font-size:14px;line-height:1;font-weight:650;overflow:hidden}
.auto-play-button svg{width:17px;height:17px;flex:none;stroke-width:1.8}
.auto-play-button .auto-stop-icon{display:none}
.auto-play-button[aria-pressed=true]{background:#c6ff73;border-color:#c6ff73;color:#203319}
.auto-play-button[aria-pressed=true] .auto-start-icon{display:none}.auto-play-button[aria-pressed=true] .auto-stop-icon{display:block}
.auto-play-button[aria-pressed=true]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#365322;transform:scaleX(var(--auto-progress,0));transform-origin:left;transition:transform .1s linear}
#autoPlayCountdown{min-width:29px;text-align:right;font-size:12px;font-weight:550;opacity:.75;font-variant-numeric:tabular-nums}
.auto-playing .slide-navigation{opacity:1;transform:translate(-50%,0);pointer-events:auto}
@container(max-width:620px){.slide-navigation{grid-template-columns:32px 56px minmax(30px,1fr) 32px auto;gap:7px;padding:7px 9px;min-height:48px;border-radius:13px}.slide-navigation .nav-arrow{width:32px;height:32px}.slide-navigation .help-button{display:none}.slide-navigation .slide-counter{font-size:14px}.auto-play-button{height:32px;padding:0 7px;gap:4px;font-size:12px}.auto-play-button svg{width:14px;height:14px}}
@container(max-width:390px){.slide-navigation{grid-template-columns:30px 53px 30px auto;width:max-content;max-width:calc(100% - 16px);gap:7px}.slide-navigation .progress{display:none}.slide-navigation .nav-arrow{width:30px;height:30px}}
@keyframes headline-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes media-arrive{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes collage-float{from{transform:translateY(-4px)}to{transform:translateY(5px)}}
@keyframes rail-breathe{from{transform:scaleX(.45);opacity:.3}to{transform:scaleX(1);opacity:.8}}
@keyframes play-halo{50%{box-shadow:0 0 0 22px #c6ff7305}}
@media(max-height:650px){.sidebar{padding-top:20px;padding-bottom:24px}.sidebar .brand{padding-bottom:23px}.sidebar .rail-heading{padding-bottom:15px}.sidebar .capabilities{gap:6px}.sidebar .capability{padding-top:9px;padding-bottom:9px}.sidebar:after{bottom:12px}}
@container(max-width:720px){.project-tabs button{font-size:clamp(14px,2.7cqw,20px)}.scene h2{font-size:clamp(28px,6.5cqw,48px)}.project-panel .project-purpose{font-size:clamp(19px,3.7cqw,28px)}}
