.tour-open{overflow:hidden}
.portfolio-tour{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#061b20;color:#f6f5e9;overflow:hidden}
.portfolio-tour::backdrop{background:#061b20}
.tour-layout{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;max-width:1600px;margin:auto;padding:12px 32px}
.portfolio-tour button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;min-height:44px;padding:10px 14px}
.tour-chrome{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}
.tour-chrome>span{font-weight:700}
.tour-projects{display:flex;gap:8px;padding:8px 0 16px}
.tour-projects button{font:700 14px var(--mono);color:#abc1c4;min-width:44px}
.tour-projects button[aria-current]{background:var(--teal);color:#061b20}
.tour-stage{min-height:0;overflow:auto;overscroll-behavior:contain}
.tour-scene{height:100%;min-height:0;display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.7fr);gap:36px;align-items:center}
.tour-scene[hidden]{display:none}
.tour-copy{padding:24px 0}
.tour-copy h2{font:700 clamp(32px,4vw,64px)/1.02 var(--display);text-transform:uppercase;letter-spacing:-.025em;margin:0 0 18px}
.tour-copy p{font-size:17px;line-height:1.6;max-width:360px;margin:0 0 20px}
.tour-copy a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);font-weight:600}
.tour-action{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:8px 0!important;color:var(--teal)!important;font-weight:600}
.tour-private{position:absolute;z-index:2;left:50%;bottom:22px;transform:translateX(-50%);width:calc(100% - 24px);background:none;color:#182b36;font-size:clamp(9px,1.2vw,20px);font-weight:400;line-height:1.4;text-align:center;white-space:nowrap;text-shadow:0 1px 2px #fff,0 0 8px #ffffffeb;pointer-events:none}
.tour-media{width:100%;height:100%;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#102d34;padding:16px}
.tour-media picture{display:block;width:100%;height:100%;min-height:0}
.tour-image{display:block;width:100%;height:100%;object-fit:contain}
.tour-controls{border:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 max(8px,env(safe-area-inset-bottom))}
.tour-controls button{font-weight:600}
.tour-controls .tour-next{background:var(--teal);color:#061b20;min-width:112px}
.tour-controls button:disabled{opacity:.35;cursor:default}
.tour-progress{font:12px var(--mono);color:#abc1c4}
.portfolio-tour :focus-visible{outline:2px solid #f6f5e9;outline-offset:2px}
.tour-media-demo{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0}
.tour-demo-tabs{display:flex;flex-wrap:wrap;padding:8px;gap:4px}
.tour-demo-tabs button{font-size:13px;padding:8px 10px}
.tour-demo-tabs [aria-pressed="true"]{background:#f3e9d6;color:#061b20}
.tour-software{flex:1;min-height:0;overflow:auto;background:#f4f6f8;color:#1c2733;font-family:Arial,sans-serif}
.tour-software>.demo-shell{min-height:100%;min-width:0;grid-template-columns:150px minmax(0,1fr)}
@media(max-width:800px){.tour-layout{padding:8px 20px}.tour-scene{gap:20px;grid-template-columns:minmax(180px,.65fr) minmax(0,1fr)}.tour-copy p{font-size:15px}}
@media(max-width:600px) and (orientation:portrait){
 .tour-layout{padding:4px 16px}
 .tour-projects{justify-content:space-between;gap:0;padding:2px 0 10px}
 .tour-projects button{min-width:0;padding:10px 12px}
 .tour-scene{grid-template-columns:1fr;grid-template-rows:auto minmax(100px,1fr);gap:14px;min-height:0}
 .tour-copy{padding:2px 0}
 .tour-copy h2{font-size:30px;margin-bottom:8px}
 .tour-copy p{font-size:14px;line-height:1.45;margin-bottom:4px;max-width:none}
 .tour-copy a{font-size:13px;min-height:36px}
 .tour-action{font-size:13px}
 .tour-action .tour-icon{transform:rotate(90deg)}
 .tour-media{padding:8px}
 .tour-media-demo{padding:0}
 .tour-controls{padding-top:10px;font-size:13px}
 .tour-controls button{padding:10px}
 .tour-controls .tour-next{min-width:104px}
 .tour-demo-tabs{gap:0;padding:4px}
 .tour-demo-tabs button{padding:8px;font-size:12px}
}
@media(orientation:landscape) and (max-height:600px){.tour-layout{padding:0 20px}.tour-projects{padding:0 0 4px}.tour-copy{padding:0}.tour-copy h2{font-size:28px;margin-bottom:8px}.tour-copy p{font-size:13px;line-height:1.4;margin-bottom:4px}.tour-controls{padding:4px 0}.tour-media{padding:4px}.tour-scene{gap:20px}}

.tour-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle}
.portfolio-tour .tour-exit,.tour-controls button,.tour-copy a{display:inline-flex;align-items:center;justify-content:center;gap:8px}

.portfolio-tour .demo-sidebar button.demo-nav{display:block;width:100%;min-height:44px;padding:10px 8px;text-align:left;font:12px Arial,sans-serif;color:#34436a;background:#edf0f8}
.portfolio-tour .demo-sidebar button.demo-nav.active{background:#18214d;color:#fff}
.portfolio-tour .demo-sidebar button.demo-nav:focus-visible{outline:2px solid #2f5fa3;outline-offset:1px}
.portfolio-tour .demo-sidebar button.demo-nav{min-height:32px;padding:7px 8px;line-height:1.25}
.portfolio-tour .demo-sidebar button.demo-nav:disabled{background:transparent;color:#76818b;cursor:default}
.tour-software .demo-sidebar{padding-top:18px;padding-bottom:14px}
.tour-software .demo-sidebar .demo-brand{margin-bottom:4px}
.tour-software .demo-staff{padding:16px 8px 0}


.tour-media-demo>.tour-software,.tour-media-demo>.swaga-demo{padding-bottom:60px;box-sizing:border-box}

/* Keep the interactive tour demos in their desktop layout on phones. */
.tour-software .demo-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.tour-software .demo-main{padding:22px 24px 32px}
.tour-software .demo-sidebar{padding-left:14px;padding-right:14px}
.tour-software .demo-sidebar .demo-brand{font-size:17px}
@media(max-width:900px){
 .tour-media-demo{align-items:center;justify-content:center}
 .tour-media-demo>.tour-software,.tour-media-demo>.swaga-demo{flex:none;width:1100px;height:740px;zoom:var(--demo-scale, .3)}
}
