/* GP5 immersive motion — original components, progressive enhancement. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: im-page-out .24s ease both; }
::view-transition-new(root) { animation: im-page-in .42s cubic-bezier(.2,.7,.2,1) both; }
@keyframes im-page-out { to { opacity:0; transform:translateY(-12px) scale(.99); } }
@keyframes im-page-in { from { opacity:0; transform:translateY(20px) scale(1.01); } }
#gp5-home.im-site { --im-ease:cubic-bezier(.2,.75,.2,1); overflow:clip; }
#gp5-home .im-scene-hud, #gp5-home .im-gallery-controls, #gp5-home .im-deck-controls { font:10px/1.5 var(--mono); letter-spacing:.12em; }
#gp5-home :is(.im-gallery-controls,.im-gallery-index,.im-deck-controls,.im-method-nav) button { font:inherit; color:inherit; cursor:pointer; }
#gp5-home :is(.im-gallery-controls,.im-deck-controls) button { width:46px; height:46px; border:1px solid #f0efe840; border-radius:50%; background:transparent; font-size:22px; transition:background .2s,color .2s,transform .2s; }
#gp5-home :is(.im-gallery-controls,.im-deck-controls) button:hover { background:var(--acid); color:var(--ink); transform:scale(1.06); }
#gp5-home button:disabled { opacity:.3; cursor:default; }
#gp5-home :is(.im-gallery-controls,.im-deck-controls) button:disabled:hover { transform:none; background:transparent; color:inherit; }
#gp5-home :is(button,a,[tabindex]):focus-visible { outline:2px solid var(--acid); outline-offset:6px; }
#gp5-home .gp5-paper :is(button,a,[tabindex]):focus-visible { outline-color:var(--ink); }
#gp5-home .im-skip { font:10px/1.5 var(--mono); letter-spacing:.08em; text-decoration:none; border-bottom:1px solid currentColor; padding:8px 0; }
#gp5-home .im-reveal { transition:opacity .7s var(--im-ease),translate .8s var(--im-ease); transition-delay:var(--im-delay,0s); }
#gp5-home .im-reveal.im-waiting { opacity:0; translate:0 25px; }
#gp5-home .gp5-button { transition:background .25s,color .25s,box-shadow .25s,translate .25s; }
#gp5-home .gp5-button:hover { translate:0 -3px; box-shadow:0 12px 35px #0002; }
#gp5-home .gp5-button .line-arrow { transition:translate .25s; }
#gp5-home .gp5-button:hover .line-arrow { translate:3px -3px; }
#gp5-home .im-motion-toggle { background:transparent; color:inherit; border:1px solid currentColor; border-radius:999px; padding:9px 14px; font:10px var(--mono); cursor:pointer; margin:10px 0; }
/* Outreach: a finite native-scroll camera move. */
#gp5-home .im-orb-hero { display:block; grid-template-columns:none; height:auto; min-height:0; padding:0; background:#171916; overflow:visible; }
#gp5-home.im-ready:not(.im-reduced) .im-orb-hero { height:200svh; }
#gp5-home .im-orb-frame { position:relative; min-height:calc(100svh - 100px); width:100%; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; padding:70px 5vw 100px; gap:1vw; background:radial-gradient(ellipse at 73% 60%,#2d352050,transparent 53%); }
#gp5-home.im-ready:not(.im-reduced) .im-orb-frame { position:sticky; top:0; height:calc(100svh - 124px); min-height:660px; }
#gp5-home .im-orb-frame .landing-copy { text-align:left; position:relative; width:100%; max-width:650px; margin:0; padding:0; z-index:2; }
#gp5-home .im-orb-frame h1 { font-size:clamp(42px,5.1vw,82px); line-height:1.08; }
#gp5-home .im-orb-frame .gp5-lead { font-size:clamp(15px,1.15vw,19px); line-height:1.7; margin:24px 0 30px; max-width:540px; }
#gp5-home .im-orb-stage { position:relative; height:min(60svh,620px); min-height:480px; width:100%; isolation:isolate; }
#gp5-home .im-orb-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; opacity:0; transition:opacity .7s; pointer-events:none; }
#gp5-home .im-orb-stage[data-renderer="webgl"] .im-orb-canvas { opacity:1; }
#gp5-home .im-orb-glow { position:absolute; inset:10%; border-radius:50%; background:radial-gradient(ellipse,#d9fa5210,transparent 65%); filter:blur(20px); }
#gp5-home .im-orb-fallback { position:absolute; inset:15%; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at 35% 25%,#576130,#171916 60%); border:1px solid #d9fa5270; box-shadow:inset -20px -25px 50px #0008,0 0 80px #d9fa520d; transition:opacity .5s; }
#gp5-home .im-orb-fallback b { font:clamp(45px,7vw,100px)/1 var(--display); color:var(--paper); }
#gp5-home .im-orb-fallback b span { color:var(--acid); }
#gp5-home .im-orb-fallback i { position:absolute; inset:10%; border:1px solid #d9fa5238; border-radius:50%; transform:rotateX(55deg); }
#gp5-home .im-orb-fallback i:nth-child(2) { transform:rotateY(65deg); }
#gp5-home .im-orb-fallback i:nth-child(3) { inset:-10%; transform:rotate(-30deg) rotateX(65deg); }
#gp5-home .im-orb-stage[data-renderer="webgl"] .im-orb-fallback { opacity:0; }
#gp5-home .im-orb-labels span { position:absolute; display:flex; flex-direction:column; gap:5px; padding:12px 14px; max-width:185px; border:1px solid #d9fa522b; border-radius:4px; background:#171916dc; backdrop-filter:blur(8px); font-size:clamp(10px,.9vw,14px); line-height:1.3; box-shadow:0 14px 35px #0002; }
#gp5-home .im-orb-labels small { font:9px var(--mono); color:var(--acid); letter-spacing:.16em; }
#gp5-home .im-orb-labels span:nth-child(1) { top:6%; left:10%; }
#gp5-home .im-orb-labels span:nth-child(2) { top:17%; right:0; }
#gp5-home .im-orb-labels span:nth-child(3) { bottom:24%; right:0; }
#gp5-home .im-orb-labels span:nth-child(4) { bottom:8%; left:40%; }
#gp5-home .im-orb-labels span:nth-child(5) { bottom:27%; left:0; }
#gp5-home .im-orb-caption { position:absolute; bottom:-18px; left:0; right:0; text-align:center; font:8px/1.5 var(--mono); letter-spacing:.15em; color:#f0efe88c; }
#gp5-home .im-live-dot { display:inline-block; width:5px; height:5px; margin-right:8px; border-radius:50%; background:var(--acid); box-shadow:0 0 10px var(--acid); }
#gp5-home .im-scene-hud { position:absolute; bottom:30px; left:5vw; right:5vw; display:flex; align-items:center; justify-content:space-between; gap:24px; color:#f0efe891; }
#gp5-home .im-scene-hud a { color:var(--paper); text-decoration:none; }
#gp5-home .im-progress-track { height:1px; background:#f0efe824; flex:1; max-width:200px; overflow:hidden; }
#gp5-home .im-progress-track i { display:block; height:100%; width:100%; background:var(--acid); transform-origin:left; transform:scaleX(var(--im-progress,0)); }
#gp5-home .im-orb-hero > .section-arrow { display:none; }
/* Content Engine: assembled from brief to feedback, using real HTML. */
#gp5-home .im-method { padding:0; display:block; min-height:0; background:#171916; color:var(--paper); overflow:visible; }
#gp5-home .im-method-frame { width:100%; max-width:none; min-height:900px; padding:100px 6vw 140px; display:grid; grid-template-columns:1.15fr 1fr; gap:5vw; position:relative; align-items:center; }
#gp5-home.im-ready:not(.im-reduced) .im-method { height:340svh; }
#gp5-home.im-ready:not(.im-reduced) .im-method-frame { position:sticky; top:0; height:100svh; min-height:720px; }
#gp5-home .im-method-copy { position:relative; z-index:2; }
#gp5-home .im-method-copy h2 { font-size:clamp(34px,3.4vw,60px); line-height:1.12; margin-bottom:24px; }
#gp5-home .im-method-copy p { font-size:clamp(14px,1.05vw,17px); line-height:1.7; }
#gp5-home .im-method-copy .gp5-lead { font-size:clamp(16px,1.25vw,20px); }
#gp5-home .im-method-copy .ce-eyebrow { font-size:10px; }
#gp5-home .im-method-visual { position:relative; height:540px; perspective:1000px; --im-build:1; --im-phase:0; }
#gp5-home .im-method-grid { position:absolute; inset:0 -15%; background-image:linear-gradient(#d9fa520c 1px,transparent 1px),linear-gradient(90deg,#d9fa520c 1px,transparent 1px); background-size:40px 40px; transform:rotateX(62deg) rotateZ(-20deg); mask-image:radial-gradient(ellipse,#000,transparent 70%); }
#gp5-home .im-method-axis { position:absolute; inset:12%; transform:rotateX(52deg) rotateZ(-24deg); transform-style:preserve-3d; }
#gp5-home .im-method-axis i { position:absolute; inset:0; border:1px solid #d9fa5260; border-radius:50%; transform:translateZ(calc(var(--im-phase)*15px)); transition:transform .5s; }
#gp5-home .im-method-axis i:nth-child(2) { inset:15%; border-style:dashed; }
#gp5-home .im-method-axis i:nth-child(3) { inset:30%; border-color:var(--acid); }
#gp5-home .im-method-core { position:absolute; top:40%; left:28%; width:44%; text-align:center; padding:26px 10px; background:linear-gradient(130deg,#3b412b,#20231b); box-shadow:0 30px 65px #0007,inset 0 1px #d9fa5250; border:1px solid #d9fa5230; transform:rotateX(12deg) rotateY(-12deg); border-radius:12px; z-index:3; }
#gp5-home .im-method-core > span { font:10px var(--mono); letter-spacing:.3em; }
#gp5-home .im-method-core strong { display:block; font:clamp(32px,4vw,62px)/1.2 var(--display); }
#gp5-home .im-method-core strong span { color:var(--acid); }
#gp5-home .im-build-piece { position:absolute; width:180px; padding:17px; border:1px solid #f0efe82b; border-radius:5px; background:#22251df5; box-shadow:0 15px 40px #0005; transform:translateY(calc((1 - var(--im-build))*60px)) rotateY(-12deg); opacity:var(--im-build); }
#gp5-home .im-build-piece small { display:block; font:8px/1.5 var(--mono); color:var(--acid); letter-spacing:.12em; margin-bottom:10px; }
#gp5-home .im-build-piece b { display:block; font:14px/1.3 var(--display); }
#gp5-home .im-brief { top:6%; left:4%; rotate:-7deg; }
#gp5-home .im-brief i { display:block; height:2px; background:#f0efe82b; margin-top:10px; width:90%; }
#gp5-home .im-brief i:last-child { width:55%; }
#gp5-home .im-roadmap { top:2%; right:1%; rotate:7deg; }
#gp5-home .im-roadmap > span { display:block; font:12px var(--mono); margin-top:18px; color:#f0efe891; }
#gp5-home .im-film { top:33%; right:-3%; width:175px; padding:5px; rotate:6deg; z-index:4; }
#gp5-home .im-film img { width:100%; aspect-ratio:1.5; object-fit:cover; display:block; }
#gp5-home .im-film span { display:block; font:8px var(--mono); padding:10px 6px; }
#gp5-home .im-publish { bottom:3%; right:2%; rotate:-4deg; }
#gp5-home .im-publish > span { font-size:28px; color:var(--acid); }
#gp5-home .im-learn { bottom:8%; left:0; rotate:4deg; }
#gp5-home .im-learn svg { width:100%; margin-top:12px; fill:none; stroke:var(--acid); stroke-width:2; }
#gp5-home .im-method-phase { position:absolute; left:0; bottom:-65px; font:clamp(40px,5.7vw,90px)/1 var(--display); text-transform:uppercase; color:#f0efe815; pointer-events:none; }
#gp5-home .im-method-nav { position:absolute; bottom:50px; left:6vw; right:6vw; display:flex; border-top:1px solid #f0efe828; }
#gp5-home .im-method-nav button { flex:1; background:none; text-align:left; padding:18px 0; border:0; border-top:2px solid transparent; margin-top:-1px; color:#f0efe870; }
#gp5-home .im-method-nav button span { font:9px var(--mono); display:block; margin-bottom:6px; }
#gp5-home .im-method-nav button b { font:13px var(--body); }
#gp5-home .im-method-nav button[aria-pressed="true"] { border-top-color:var(--acid); color:var(--acid); }
#gp5-home .im-method-frame > .im-skip { position:absolute; right:6vw; bottom:12px; color:#f0efe88c; }
#gp5-home .im-method > .section-arrow { display:none; }
/* Production: native horizontal gallery, with a spatial perspective layer. */
#gp5-home .im-gallery-section { padding:90px 0 100px; overflow:hidden; background:radial-gradient(ellipse at 50% 50%,#333c2159,#171916 65%); }
#gp5-home .im-gallery-section > :is(h2,p) { margin-left:6vw; margin-right:6vw; }
#gp5-home .im-gallery-section > h2 { font-size:clamp(50px,6vw,96px); margin-bottom:30px; }
#gp5-home .im-gallery-viewport { width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; padding:30px 0 45px; perspective:1100px; scroll-padding-inline:22vw; }
#gp5-home .im-gallery-viewport::-webkit-scrollbar { display:none; }
#gp5-home .im-gallery-track { display:flex!important; gap:6vw; width:max-content; grid-template-columns:none; padding:0 22vw; transform-style:preserve-3d; }
#gp5-home .im-gallery-track .im-gallery-card:nth-child(n) { position:relative; display:block; width:56vw; height:min(54vw,530px); max-height:57svh; flex:none; scroll-snap-align:center; overflow:visible; grid-column:auto; grid-row:auto; border-radius:3px; transform:perspective(1000px) rotateY(calc(var(--im-offset,0)*-12deg)) translateZ(calc(var(--im-distance,0)*-70px)); opacity:calc(1 - var(--im-distance,0)*.38); transition:opacity .25s; background:transparent; isolation:isolate; }
#gp5-home .im-gallery-track .im-gallery-card > img { display:block; width:100%; height:100%; object-fit:cover; border:1px solid #f0efe828; border-radius:4px; box-shadow:0 35px 60px #0007; transition:filter .5s; }
#gp5-home .im-gallery-track .im-gallery-card:after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 35%,#000b); pointer-events:none; border-radius:4px; }
#gp5-home .im-gallery-card .collage-caption { position:absolute; bottom:28px; left:30px; z-index:2; }
#gp5-home .im-gallery-card .collage-caption h3 { font:clamp(30px,4vw,64px)/1.1 var(--display); color:var(--paper); text-transform:uppercase; }
#gp5-home .im-gallery-card .collage-arrow { z-index:3; right:30px; bottom:35px; width:30px; }
#gp5-home .im-gallery-number { position:absolute; top:14px; left:22px; z-index:2; font:90px/1 var(--display); color:#f0efe840; }
#gp5-home .im-gallery-controls { margin:0 6vw; display:flex; justify-content:space-between; align-items:center; }
#gp5-home .im-gallery-arrows { display:flex; align-items:center; gap:24px; }
#gp5-home .im-gallery-hint { color:#f0efe888; }
#gp5-home .im-gallery-index { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:35px 6vw 0; }
#gp5-home .im-gallery-index button { font:10px var(--mono); padding:10px 13px; border:1px solid #f0efe828; border-radius:20px; background:transparent; }
#gp5-home .im-gallery-index button[aria-pressed="true"] { color:var(--acid); border-color:var(--acid); }
/* About: native document scroll advances four cards in depth. */
#gp5-home .im-about-deck.scene { display:block; padding:0; min-height:0; background:radial-gradient(ellipse at 50% 45%,#303722,#171916 68%); overflow:visible; }
#gp5-home .im-deck-frame { position:relative; padding:70px 6vw; }
#gp5-home .im-deck-heading h2 { font-size:clamp(30px,3vw,48px); line-height:1.1; }
#gp5-home .im-deck-heading h2 br { display:none; }
#gp5-home .im-deck-heading h2 .headline-dot { margin-right:.2em; }
#gp5-home .im-deck-heading .gp5-eyebrow { display:block; margin-bottom:12px; }
#gp5-home .im-deck-stage { perspective:1200px; position:relative; margin-top:30px; }
#gp5-home .im-chapter { display:grid; grid-template-columns:1fr 1fr; border:1px solid #f0efe830; background:#20241d; box-shadow:0 35px 80px #0005; border-radius:6px; overflow:hidden; margin-bottom:35px; }
#gp5-home .im-chapter-media { min-height:360px; position:relative; overflow:hidden; }
#gp5-home .im-chapter-media > img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
#gp5-home .im-chapter-media .gp5-about-photo { height:100%; min-height:100%; }
#gp5-home .im-chapter-media .gp5-about-photo > p { font-size:clamp(30px,3.3vw,54px); bottom:70px; }
#gp5-home .im-chapter-media .gp5-about-photo > .gp5-mono { bottom:30px; }
#gp5-home .im-chapter-copy { position:relative; display:flex; flex-direction:column; justify-content:center; padding:45px 6%; gap:20px; }
#gp5-home .im-chapter-copy > p { margin:0; font-size:clamp(18px,2vw,30px); line-height:1.5; z-index:1; }
#gp5-home .im-chapter-copy > .im-chapter-kicker { font:10px var(--mono); color:var(--acid); text-transform:uppercase; letter-spacing:.16em; }
#gp5-home .im-chapter-number { position:absolute; right:25px; top:12px; font:140px/1 var(--display); color:#f0efe80a; }
#gp5-home .im-deck-controls { display:flex; align-items:center; gap:20px; }
#gp5-home .im-deck-controls a { color:var(--paper); margin-left:auto; text-decoration:none; }
#gp5-home .im-deck-hint { color:#f0efe878; margin-left:12px; }
#gp5-home .im-about-deck > .section-arrow { display:none; }
#gp5-home.im-ready:not(.im-reduced) .im-about-deck { height:330svh; }
#gp5-home.im-ready:not(.im-reduced) .im-deck-frame { position:sticky; top:0; height:100svh; min-height:740px; display:flex; flex-direction:column; justify-content:center; }
#gp5-home.im-ready:not(.im-reduced) .im-deck-stage { height:min(48svh,500px); min-height:360px; margin-bottom:30px; }
#gp5-home.im-ready:not(.im-reduced) .im-chapter { position:absolute; inset:0; margin:0; transform:translate3d(calc(var(--im-chapter-distance,0)*115px),calc(var(--im-chapter-distance,0)*18px),calc(var(--im-chapter-distance,0)*-280px)) rotateY(calc(var(--im-chapter-distance,0)*-6deg)); opacity:var(--im-chapter-opacity,1); will-change:transform,opacity; }
/* Supporting sections. Service cards remain actual links. */
#gp5-home .im-services .gp5-offers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; perspective:1100px; margin-top:45px; }
#gp5-home .im-services .gp5-offers article { background:linear-gradient(145deg,#2d3225,#1d211a); border:1px solid #f0efe828; border-radius:5px; box-shadow:0 25px 55px #0003; transform:rotateY(var(--im-tilt,0deg)) translateY(var(--im-lift,0px)); transition:transform .6s var(--im-ease),border-color .4s; }
#gp5-home .im-services .gp5-offers article:nth-child(1) { --im-tilt:6deg; --im-lift:20px; }
#gp5-home .im-services .gp5-offers article:nth-child(3) { --im-tilt:-6deg; --im-lift:20px; }
#gp5-home .im-services .gp5-offers article:hover, #gp5-home .im-services .gp5-offers article:focus-within { transform:translateY(-8px); border-color:var(--acid); }
#gp5-home .im-services .capability-link { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding:32px; min-height:470px; height:100%; border:0; }
#gp5-home .im-services .service-number { position:absolute; top:35px; right:30px; color:#f0efe850; }
#gp5-home .im-services .service-symbol { width:88px; height:88px; }
#gp5-home .im-services .service-symbol img { width:62px; height:62px; }
#gp5-home .im-services .capability-link h3 { font-size:clamp(28px,2.5vw,42px); margin:0; }
#gp5-home .im-services .capability-link p { font-size:14px; line-height:1.65; margin:0; }
#gp5-home .im-services .service-entry { margin-top:auto; align-self:flex-end; }
#gp5-home .im-services .gp5-offer-label { font-size:9px; }
#gp5-home [data-scroll-cycle] .orbit-traveller { animation:none; transform-origin:320px 280px; transform:rotate(var(--im-cycle-angle,0deg)); transition:transform .35s linear; }
#gp5-home .im-flow-step { transition:opacity .5s,translate .5s,border-color .5s; opacity:.48; }
#gp5-home .im-flow-step.im-active { opacity:1; translate:0 -4px; }
#gp5-home .im-signal .signal-stage { animation:none; opacity:.3; transition:opacity .5s,transform .5s; }
#gp5-home .im-signal .signal-stage.im-active { opacity:1; transform:translateY(-5px); }
#gp5-home .im-image-depth { transition:transform .7s var(--im-ease); transform:perspective(1000px) rotateY(var(--im-image-y,0deg)); }
/* Tablet and short desktop layouts avoid pinning content taller than the screen. */
@media (max-width:1000px), (max-height:740px) {
 #gp5-home.im-ready:not(.im-reduced) :is(.im-orb-hero,.im-method,.im-about-deck) { height:auto; }
 #gp5-home.im-ready:not(.im-reduced) :is(.im-orb-frame,.im-method-frame,.im-deck-frame) { position:relative; height:auto; min-height:0; }
 #gp5-home .im-orb-frame { padding-top:60px; grid-template-columns:1fr; gap:25px; padding-bottom:100px; }
 #gp5-home .im-orb-frame .landing-copy { text-align:center; margin:auto; max-width:740px; }
 #gp5-home .im-orb-frame .gp5-lead { margin:24px auto; }
 #gp5-home .im-orb-stage { max-width:670px; margin:auto; height:620px; }
 #gp5-home .im-method-frame { grid-template-columns:1fr; padding-top:70px; gap:50px; }
 #gp5-home .im-method-copy { max-width:700px; margin:auto; }
 #gp5-home .im-method-visual { width:min(560px,100%); margin:auto; }
 #gp5-home.im-ready:not(.im-reduced) .im-deck-stage { height:auto; min-height:0; }
 #gp5-home.im-ready:not(.im-reduced) .im-chapter { position:relative; inset:auto; transform:none; opacity:1; margin-bottom:35px; }
 #gp5-home .im-deck-controls { display:none; }
 #gp5-home .im-chapter-copy > p { font-size:20px; }
 #gp5-home .im-services .gp5-offers { gap:16px; }
 #gp5-home .im-services .capability-link { padding:24px; }
}
@media (max-width:700px) {
 #gp5-home .im-reveal.im-waiting { translate:0 15px; }
 #gp5-home .im-orb-frame h1 { font-size:clamp(38px,10vw,64px); }
 #gp5-home .im-orb-frame .gp5-lead { font-size:15px; }
 #gp5-home .im-orb-stage { height:440px; min-height:0; }
 #gp5-home .im-orb-labels span { font-size:10px; padding:8px; max-width:125px; }
 #gp5-home .im-orb-labels span:nth-child(1) { left:3%; }
 #gp5-home .im-orb-labels span:nth-child(4) { left:33%; }
 #gp5-home .im-orb-caption { font-size:7px; }
 #gp5-home .im-scene-hud { font-size:8px; bottom:25px; gap:12px; }
 #gp5-home .im-progress-track { display:none; }
 #gp5-home .im-method-frame { padding:65px 6vw 160px; }
 #gp5-home .im-method-visual { height:400px; max-width:440px; }
 #gp5-home .im-build-piece { width:125px; padding:12px; }
 #gp5-home .im-build-piece small { font-size:6px; }
 #gp5-home .im-build-piece b { font-size:11px; }
 #gp5-home .im-film { width:125px; right:0; }
 #gp5-home .im-method-core { padding:18px 5px; }
 #gp5-home .im-method-core strong { font-size:32px; }
 #gp5-home .im-method-phase { bottom:-35px; font-size:45px; }
 #gp5-home .im-method-nav { bottom:60px; gap:8px; }
 #gp5-home .im-method-nav button b { font-size:9px; }
 #gp5-home .im-method-nav button span { font-size:8px; }
 #gp5-home .im-method-copy h2 { font-size:37px; }
 #gp5-home .im-services .gp5-offers { grid-template-columns:1fr; gap:22px; }
 #gp5-home .im-services .gp5-offers article:nth-child(n) { transform:none; }
 #gp5-home .im-services .capability-link { min-height:0; padding:28px; }
 #gp5-home .im-services .capability-link p { font-size:15px; }
 #gp5-home .im-gallery-viewport { scroll-padding-inline:8vw; padding-top:10px; }
 #gp5-home .im-gallery-track { padding:0 8vw; gap:7vw; }
 #gp5-home .im-gallery-track .im-gallery-card:nth-child(n) { width:84vw; height:110vw; max-height:60svh; transform:none; opacity:1; }
 #gp5-home .im-gallery-card .collage-caption { bottom:24px; left:22px; }
 #gp5-home .im-gallery-card .collage-caption h3 { font-size:32px; }
 #gp5-home .im-gallery-number { font-size:70px; }
 #gp5-home .im-gallery-hint { display:none; }
 #gp5-home .im-gallery-controls { justify-content:center; }
 #gp5-home .im-gallery-index { gap:6px; }
 #gp5-home .im-gallery-index button { font-size:9px; padding:10px; }
 #gp5-home .im-gallery-section > h2 { font-size:50px; }
 #gp5-home .im-deck-frame { padding:60px 6vw; }
 #gp5-home .im-deck-heading h2 { font-size:38px; }
 #gp5-home .im-deck-heading h2 br { display:block; }
 #gp5-home .im-chapter { grid-template-columns:1fr; }
 #gp5-home .im-chapter-media { min-height:260px; }
 #gp5-home .im-chapter-copy { padding:35px 25px; min-height:240px; }
 #gp5-home .im-chapter-copy > p { font-size:20px; }
 #gp5-home .im-chapter-number { font-size:110px; }
}
/* Reduced motion and a user pause never conceal the underlying content. */
#gp5-home.im-reduced :is(.im-orb-hero,.im-method,.im-about-deck) { height:auto!important; }
#gp5-home.im-reduced :is(.im-orb-frame,.im-method-frame,.im-deck-frame) { position:relative!important; height:auto!important; min-height:0; }
#gp5-home.im-reduced .im-deck-stage { height:auto; }
#gp5-home.im-reduced .im-chapter { position:relative!important; inset:auto; transform:none!important; opacity:1!important; margin-bottom:35px; }
#gp5-home.im-reduced .im-deck-controls { display:none; }
#gp5-home.im-reduced :is(.im-build-piece,.im-reveal,.im-flow-step,.signal-stage) { opacity:1!important; transform:none!important; translate:none!important; }
#gp5-home.im-reduced .im-gallery-card { transform:none!important; opacity:1!important; }
#gp5-home.im-reduced *, #gp5-home.im-reduced *::before, #gp5-home.im-reduced *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media (prefers-reduced-motion:reduce) {
 ::view-transition-old(root),::view-transition-new(root) { animation:none; }
 #gp5-home .im-reveal.im-waiting { opacity:1; translate:none; }
 #gp5-home :is(.im-build-piece,.im-gallery-card,.im-chapter,.im-flow-step,.signal-stage) { transform:none!important; opacity:1!important; }
}
/* Satellite stills turn each category into a small media diorama. */
@media (min-width:701px) {
 #gp5-home .im-gallery-track .im-gallery-card > img { position:absolute; left:12%; top:10%; width:76%; height:78%; }
 #gp5-home .im-gallery-track .im-gallery-card:after { left:12%; top:10%; right:12%; bottom:12%; }
 #gp5-home .im-gallery-card .collage-caption { left:15%; bottom:17%; }
 #gp5-home .im-gallery-card .collage-arrow { right:15%; bottom:19%; }
 #gp5-home .im-gallery-number { top:13%; left:15%; }
 #gp5-home .im-gallery-satellite { position:absolute; display:block; width:25%; aspect-ratio:1.45; z-index:3; border:1px solid #f0efe838; background:#171916; border-radius:4px; overflow:hidden; box-shadow:0 15px 35px #0008; }
 #gp5-home .im-gallery-satellite img { width:100%; height:100%; object-fit:cover; display:block; }
 #gp5-home .im-satellite-1 { top:0; left:0; transform:perspective(800px) rotateY(15deg) rotateZ(-4deg); }
 #gp5-home .im-satellite-2 { right:0; bottom:0; transform:perspective(800px) rotateY(-15deg) rotateZ(5deg); }
}
@media (max-width:700px) { #gp5-home .im-gallery-satellite { display:none; } }
@media (min-width:1001px) and (min-height:741px) {
 #gp5-home.im-ready:not(.im-reduced) .im-chapter { left:9%; right:9%; transform:translate3d(calc(var(--im-chapter-distance,0)*380px),calc(var(--im-chapter-distance,0)*18px),calc(var(--im-chapter-distance,0)*-280px)) rotateY(calc(var(--im-chapter-distance,0)*-6deg)); }
}

/* Meaningful static fallback before enhancement; the pause also covers navigation. */
#gp5-home:not(.im-ready) :is(.im-method-nav,.im-gallery-controls,.im-gallery-index,.im-deck-controls) { display:none; }
html.im-motion-paused::view-transition-old(root), html.im-motion-paused::view-transition-new(root) { animation:none; }
#gp5-home.im-reduced .im-services .gp5-offers article { transform:none!important; }

/* Outreach sphere revision: round metallic core and GP5 orbital identity only. */
#gp5-home .im-orb-brand { position:absolute; left:50%; top:50%; translate:-50% -50%; width:var(--im-brand-size,90px); aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8%; pointer-events:none; z-index:1; }
#gp5-home .im-orb-brand img { width:64%; height:auto; display:block; }
#gp5-home .im-orb-brand span { font:600 8px/1.45 var(--body,Arial,sans-serif); letter-spacing:.14em; color:#f0efe8; text-align:center; }
#gp5-home .im-orb-labels { position:absolute; inset:0; z-index:2; pointer-events:none; }
#gp5-home .im-orb-labels span { background:linear-gradient(135deg,#3a3d30f5,#1b1e17fa); border-color:#ddea8c70; box-shadow:inset 0 1px 0 #f0f5c21f,0 3px 0 #10120d,0 10px 25px #0005; border-radius:7px; }
#gp5-home .im-orb-labels small { display:flex; align-items:center; gap:6px; }
#gp5-home .im-orb-labels small::before { content:""; width:4px; height:4px; background:#e2f78a; border-radius:50%; box-shadow:0 0 7px #d9fa5260; }
#gp5-home .im-orb-fallback { inset:auto; left:50%; top:50%; translate:-50% -50%; width:52%; max-width:300px; height:auto; aspect-ratio:1; border-radius:50%; background:radial-gradient(ellipse at 28% 24%,#a0a18e,#57594d 24%,#272b22 60%,#11150f 80%,#5b6247); box-shadow:inset 0 0 0 2px #dce79e70,inset -20px -25px 50px #0006,0 18px 30px #0004; }
#gp5-home .im-orb-fallback b { visibility:hidden; }
#gp5-home .im-orb-fallback i { inset:-15%; border-color:#dfe99590; transform:rotate(-18deg) rotateX(22deg); }
#gp5-home .im-orb-fallback i:nth-child(2) { inset:-27%; transform:rotate(18deg) rotateX(27deg); }
#gp5-home .im-orb-fallback i:nth-child(3) { inset:-39%; transform:rotate(-12deg) rotateX(32deg); }
#gp5-home .im-orb-stage:not([data-renderer="webgl"]) .im-orb-brand { width:90px; background:#24271f; border:1px solid #8b936960; border-radius:50%; box-shadow:0 4px 6px #0008; }
@media (max-width:700px) { #gp5-home .im-orb-brand span { font-size:6px; } #gp5-home .im-orb-labels span { font-size:9px; padding:9px; } }
#gp5-home .im-orb-labels span:nth-child(1) { top:3%; left:50%; right:auto; bottom:auto; translate:-50% 0; }
#gp5-home .im-orb-labels span:nth-child(2) { top:29%; left:3%; right:auto; bottom:auto; }
#gp5-home .im-orb-labels span:nth-child(3) { top:29%; right:3%; left:auto; bottom:auto; }
#gp5-home .im-orb-labels span:nth-child(4) { bottom:8%; left:15%; right:auto; top:auto; }
#gp5-home .im-orb-labels span:nth-child(5) { bottom:8%; right:12%; left:auto; top:auto; }
@media (max-width:700px) {
 #gp5-home .im-orb-labels span:nth-child(2) { left:0; top:28%; max-width:100px; }
 #gp5-home .im-orb-labels span:nth-child(3) { right:0; top:28%; max-width:100px; }
 #gp5-home .im-orb-labels span:nth-child(4) { left:1%; bottom:12%; max-width:110px; }
 #gp5-home .im-orb-labels span:nth-child(5) { right:1%; bottom:12%; max-width:110px; }
}
