/* Fluid window-filling composition. Rail and all scenes fit without scrolling. */
:root{--rail-width:clamp(138px,19vw,285px)}
.viewport{position:fixed;inset:0;display:block;width:100vw;height:100dvh;overflow:clip}
.presentation{position:relative;left:0;top:0;width:100%;height:100%;transform:none;display:flex;overflow:clip;box-shadow:none}
.sidebar{position:relative;inset:auto;flex:0 0 var(--rail-width);width:var(--rail-width);height:100%;min-height:0;padding:clamp(14px,3vh,28px) clamp(9px,1.3vw,22px);display:flex;flex-direction:column;transform:none!important;visibility:visible!important;overflow:clip;z-index:21}
.sidebar .brand{padding:0 clamp(3px,.8vw,12px) clamp(11px,2.8vh,24px)}
.sidebar .brand>span:first-child{font-size:clamp(22px,2.6vw,39px);letter-spacing:-1.6px}
.sidebar .rail-heading{font-size:clamp(12px,1.2vw,19px);margin:0;padding:clamp(10px,2vh,20px) clamp(3px,.8vw,12px)}
.sidebar .rail-heading>span{display:none}
.sidebar .capabilities{height:auto;min-height:0;flex:1;gap:clamp(4px,1.1vh,11px);overflow:clip;padding:2px}
.sidebar .capability{min-height:0;height:auto;flex:1;max-height:72px;padding:clamp(7px,1.3vh,13px) clamp(3px,.65vw,10px);grid-template-columns:clamp(16px,1.5vw,24px) 1fr;gap:clamp(5px,.6vw,10px);border-radius:9px}
.sidebar .capability .nav-name{font-size:clamp(12px,1.5vw,24px);letter-spacing:-.5px;line-height:1.15;text-wrap:balance;overflow-wrap:normal}
.sidebar .nav-indicator{display:none}
.sidebar .capability .nav-index{font-size:clamp(11px,1vw,17px)}
.sidebar .capability.video-capability .nav-index{width:clamp(15px,1.45vw,24px);height:clamp(15px,1.45vw,24px);font-size:clamp(7px,.7vw,11px)}
.sidebar .team-link{position:static;display:flex;flex:none;margin-top:clamp(12px,2.6vh,24px);font-size:clamp(12px,1.25vw,20px);padding:clamp(7px,1.4vh,13px) clamp(4px,.6vw,10px);border-top:1px solid #ffffff24}
.sidebar .team-link>span:last-child{font-size:clamp(18px,1.8vw,28px)}
.sidebar .team-link .status-dot{display:none}
.menu-toggle,.menu-scrim{display:none!important}
.main{position:relative;flex:1;min-width:0;width:auto;height:100%;container-type:size;overflow:clip}
.stage{position:absolute;inset:0;width:100%;height:100%;overflow:clip}
.scene{position:absolute;inset:0;width:100%;height:100%;padding:clamp(14px,4cqw,68px) clamp(14px,4.3cqw,76px) clamp(55px,7cqh,78px);display:flex;flex-direction:column;gap:clamp(13px,2.8cqh,30px);background:var(--paper);overflow:clip}
.scene h2{font-size:clamp(24px,min(6cqw,10cqh),88px);line-height:1.08;letter-spacing:-.055em;flex:none}
.scene h3{letter-spacing:-.04em}
.scene p{font-size:clamp(16px,min(3cqw,5cqh),37px);line-height:1.22;letter-spacing:-.035em}
.case-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex:none;min-width:0;flex-wrap:wrap}
.case-heading p{color:#687484;font-weight:550}
.case-real{gap:clamp(12px,2.5cqh,26px)}
.real-image{display:block;position:relative;width:100%;height:100%;min-height:0;min-width:0;overflow:clip;background:#fff;border:1px solid #10233e12;border-radius:clamp(9px,1.5cqw,20px);padding:0;box-shadow:0 13px 35px #17304b0a}
.real-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;animation:none!important}
.image-expand{position:absolute;right:clamp(8px,1cqw,16px);bottom:clamp(8px,1cqw,16px);width:clamp(28px,3.4cqw,47px);height:clamp(28px,3.4cqw,47px);border-radius:9px;background:#e8eef7eb;color:#274c83;display:grid;place-items:center;font-size:clamp(22px,2.5cqw,34px);box-shadow:0 3px 20px #0001}
.real-image:hover .image-expand{background:#275df2;color:#fff}
.single-real-media{flex:1;min-height:0;min-width:0;width:100%;display:flex}
.single-real-media .real-image{height:100%;width:100%}
.ivi-real{background:#f8f4f5}
.ivi-real h2 span{color:#eb1558}
.ivi-media{width:100%;align-self:center}
.ivi-media .real-image{background:#fff}
.forest-real{background:#edf2ed}
.forest-real h2 span{color:#327660}
.forest-real-media{display:grid;grid-template-columns:minmax(0,4.6fr) minmax(0,1fr);gap:clamp(10px,2cqw,25px);min-height:0;flex:1}
.forest-real-media>div{height:100%;min-height:0;min-width:0}
.forest-real-media>div:last-child .real-image{background:#f1f2f0}
.rostics-real h2 span{color:#df3538}
.real-gallery{display:flex;flex:1;min-height:0;flex-direction:column;gap:clamp(12px,2.2cqh,24px)}
.case-tabs{display:flex;gap:clamp(7px,1cqw,14px);flex:none;flex-wrap:nowrap;min-width:0}
.case-tabs button{font-size:clamp(14px,min(2.6cqw,4cqh),32px);font-weight:650;letter-spacing:-.035em;border-radius:clamp(7px,1cqw,12px);padding:clamp(7px,1.2cqh,12px) clamp(9px,1.4cqw,20px);border:1px solid #bbc7d8;background:#e7ebf1;color:#55667e;min-width:0;white-space:nowrap}
.case-tabs button[aria-selected=true]{background:#275df2;color:#fff;border-color:#275df2}
.rostics-real .case-tabs button[aria-selected=true]{background:#d92e36;border-color:#d92e36}
.gallery-body{flex:1;position:relative;min-height:0}
.gallery-panel{position:absolute;inset:0;min-height:0;width:100%;height:100%}
.gallery-panel[hidden]{display:none!important}
.gallery-panel .real-image{height:100%}
.rostics-real .real-image{background:#fff}
.team-real{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:clamp(20px,3cqw,46px);align-items:center;padding-top:6cqh;padding-bottom:8cqh}
.team-real-copy h1{font-size:clamp(29px,min(7.3cqw,13cqh),108px);line-height:1.08;letter-spacing:-.065em}
.team-real-copy h1 span{color:var(--blue)}
.team-real-copy .team-year{font-size:clamp(17px,3cqw,39px);margin-top:2.6cqh;color:#667484}
.team-real-awards{display:grid;grid-template-columns:1fr 1fr;gap:2cqw;margin-top:6cqh}
.team-real-awards strong{font-size:clamp(50px,min(10cqw,20cqh),154px);line-height:1;font-weight:800;letter-spacing:-.08em;color:#275df2}
.team-real-awards>div:first-child strong{color:#c58b38}
.team-real-awards p{font-size:clamp(14px,2.1cqw,28px);margin-top:1.8cqh;font-weight:600}
.team-real-photo{height:100%;min-height:0;display:flex;align-items:center}
.team-real-photo .real-image{height:100%;border:0;background:#e7e7e0;box-shadow:none}
.demos-a{background:var(--navy);color:#fff;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:clamp(12px,2cqh,25px)}
.demos-a h2{font-size:clamp(24px,min(6cqw,10cqh),88px)}
.demo-tabs{position:static;display:flex;gap:clamp(8px,1cqw,16px)}
.demo-tabs button{font-size:clamp(14px,min(2.7cqw,4.3cqh),32px);padding:clamp(7px,1.1cqh,13px) clamp(11px,1.6cqw,23px);border-radius:clamp(7px,1cqw,12px)}
.demo-pane{position:relative;inset:auto;width:100%;height:100%;min-height:0;grid-area:3/1}
.demo-pane .video-box{width:100%;height:100%;min-height:0;border-radius:clamp(9px,1.4cqw,20px)}
.video-play{inset:0 0 clamp(35px,6cqh,58px)}
.video-play .play-disc{width:clamp(52px,8cqw,110px);height:clamp(52px,8cqw,110px);font-size:clamp(20px,2.7cqw,35px);box-shadow:0 0 0 clamp(6px,1cqw,15px) #ffffff18}
.video-expand{width:clamp(32px,4cqw,54px);height:clamp(32px,4cqw,54px);font-size:clamp(23px,2.8cqw,34px);right:clamp(8px,1cqw,15px);top:clamp(8px,1cqw,15px)}
.video-box:fullscreen{width:100vw!important;height:100vh!important;border-radius:0!important}
.video-box:fullscreen .video-expand{width:54px;height:54px;font-size:34px;position:fixed;right:20px;top:20px}
.video-box:fullscreen .video-play .play-disc{width:110px;height:110px;font-size:35px}
.partners-real .partners-conveyor{position:relative;inset:auto;flex:1;min-height:0;margin-left:calc(-1 * clamp(14px,4.3cqw,76px));margin-right:calc(-1 * clamp(14px,4.3cqw,76px));display:flex;flex-direction:column;gap:clamp(15px,4cqh,38px);justify-content:center}
.partners-real .partners-row{flex:0 1 32cqh;min-height:0}
.partners-real .large-client{width:clamp(180px,28cqw,348px);height:100%;padding:clamp(16px,2.5cqw,35px);gap:12px;display:flex;justify-content:center;align-items:center}
.partners-real .large-client img{max-width:100%;max-height:60%;min-width:0}
.partners-real .large-client:has(span) img{max-width:33%;height:auto}
.partners-real .large-client span{font-size:clamp(25px,3.5cqw,45px);letter-spacing:-.04em}
.partners-real .partners-group{gap:clamp(14px,2cqw,28px);padding-right:clamp(14px,2cqw,28px)}
.closing-a{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:4cqw;background:var(--blue);color:#fff}
.closing-copy{position:relative;inset:auto}
.closing-copy h2{font-size:clamp(34px,min(9cqw,15cqh),136px);line-height:1.1;letter-spacing:-.06em}
.closing-copy>a{font-size:clamp(19px,3.6cqw,49px);gap:2cqw;margin-top:5cqh;letter-spacing:-.03em}
.closing-qr{position:relative;inset:auto;width:100%;height:auto;max-width:min(31cqw,48cqh);aspect-ratio:1;justify-self:center;border-radius:clamp(12px,2cqw,28px);padding:clamp(12px,2cqw,25px)}
.closing-orbit{inset:auto -12cqw auto auto;width:57cqw;height:57cqw}
.masthead{top:12px;left:12px;right:14px;height:48px;width:auto}
.masthead .tools{gap:3px;padding:3px;border-radius:12px}
.tools .tool{width:34px;height:34px;border-radius:8px}.tools .tool svg{width:20px;height:20px}
.tools .show-button{font-size:16px;padding:9px 12px;border-radius:8px;gap:8px}
.slide-navigation{height:48px;gap:12px;padding:3px 10px;bottom:9px;border-radius:12px;max-width:calc(100% - 20px)}
.slide-navigation .nav-arrow{width:33px;height:33px;font-size:23px;flex:none}
.slide-navigation .slide-counter{font-size:16px;min-width:60px;gap:6px}
.slide-navigation .progress{width:clamp(50px,17cqw,200px);height:20px;gap:4px}
.slide-navigation .progress button{height:4px}
.slide-navigation .help-button{width:28px;height:28px;font-size:18px}
.scene-wipe{inset:0 0 0 var(--rail-width);width:auto;height:100%;z-index:20}
.toast{max-width:90%;font-size:clamp(14px,2vw,23px);bottom:70px;z-index:32}
@container (max-width:640px){
 .case-heading{align-items:flex-start;flex-direction:column;gap:5px}
 .case-heading p{font-size:clamp(15px,4cqw,24px)}
 .team-real{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:20px}
 .team-real-copy{display:grid;grid-template-columns:1fr auto;gap:5px 16px;align-items:end}
 .team-real-copy h1{font-size:clamp(26px,9cqw,54px)}
 .team-real-copy .team-year{font-size:clamp(15px,4cqw,23px);grid-column:1;margin-top:0}
 .team-real-awards{grid-column:2;grid-row:1/3;margin:0;gap:15px}
 .team-real-awards strong{font-size:clamp(35px,11cqw,65px)}
 .team-real-awards p{font-size:clamp(10px,3cqw,17px);margin-top:4px}
 .forest-real-media{grid-template-columns:1fr;grid-template-rows:minmax(0,.8fr) minmax(0,1fr)}
 .forest-real-media>div:last-child .real-image{background:#fff}
 .closing-a{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:5cqh}
 .closing-copy h2{font-size:clamp(34px,10cqw,66px)}
 .closing-copy h2 br{display:none}
 .closing-copy>a{margin-top:2cqh;font-size:clamp(19px,5cqw,32px)}
 .closing-qr{max-width:min(58cqw,35cqh);align-self:center}
 .scene h2{font-size:clamp(24px,7cqw,45px)}
 .masthead .tools .tool{width:28px;height:28px}.masthead .tools .show-button{font-size:13px;padding:7px 8px}.masthead .tools{gap:1px}
 .slide-navigation{gap:6px;padding:3px 6px}.slide-navigation .help-button{display:none}.slide-navigation .progress{width:50px}.slide-navigation .nav-arrow{width:29px;height:29px}
 .case-tabs{gap:5px}.case-tabs button{font-size:clamp(11px,3.8cqw,19px);padding:8px}
}
@media(max-height:520px){.sidebar .brand>span:first-child{font-size:26px}.sidebar .brand{padding-bottom:10px}.sidebar .rail-heading{padding-top:7px;padding-bottom:7px}.sidebar .capabilities{gap:3px}.sidebar .capability{padding-top:5px;padding-bottom:5px}.sidebar .capability .nav-name{font-size:clamp(12px,1.35vw,21px)}.sidebar .team-link{margin-top:6px;padding-top:8px;padding-bottom:0}}

/* Team photo wall: all ten original frames, with no cropping or text overlays. */
.team-real.team-collage-scene{display:flex;flex-direction:column;align-items:stretch;gap:clamp(12px,2.3cqh,26px);padding:clamp(14px,3.7cqh,42px) clamp(14px,3.5cqw,60px) clamp(55px,7cqh,78px)}
.team-collage-scene h1{font-size:clamp(32px,min(7cqw,11cqh),103px);line-height:1.06;letter-spacing:-.06em;flex:none;margin:0}
.team-collage-scene h1 span{color:var(--blue)}
.team-collage{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:clamp(8px,1.2cqw,20px);flex:1;min-height:0;min-width:0}
.team-collage-col{display:grid;min-height:0;min-width:0;gap:clamp(8px,1.2cqw,20px)}
.collage-left{grid-template-rows:2fr 1fr}
.collage-center{grid-template-rows:1.2fr 1fr}
.collage-right{grid-template-rows:1fr 1fr .62fr}
.collage-moments{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:clamp(8px,1.2cqw,20px);min-width:0;min-height:0}
.team-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;min-width:0;padding:clamp(3px,.45cqw,7px);background:#fff;border-radius:clamp(6px,1cqw,15px);box-shadow:0 5px 22px #12203313;overflow:clip;cursor:zoom-in;transition:box-shadow .2s,transform .2s}
.team-photo img{display:block;width:100%;height:100%;object-fit:contain;background:#eeede7;border-radius:clamp(3px,.5cqw,8px);pointer-events:none}
.team-photo:hover{box-shadow:0 9px 30px #1220332b;transform:translateY(-2px)}
.team-photo-01{transform:rotate(-.7deg)}
.team-photo-06{transform:rotate(.7deg)}
@container(max-width:640px){
 .team-collage{grid-template-columns:1fr 1.4fr 1fr;gap:7px}
 .team-collage-col,.collage-moments{gap:7px}
 .collage-center{grid-template-rows:1fr 1.6fr}
 .collage-moments{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr))}
 .collage-left{grid-template-rows:1.4fr 1fr}
 .collage-right{grid-template-rows:1fr 1fr .8fr}
 .team-photo{padding:3px;border-radius:6px}
}
