
/* V47 — editorial integration of the V8.2 Lab3 experience into V46. */
.gn47-immersive{background:#fafaf8;border-block:1px solid #e2e6ed;scroll-margin-top:var(--header)}
.gn47-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);align-items:end;gap:clamp(35px,6vw,100px);padding-block:clamp(60px,7vw,115px) clamp(42px,4.5vw,75px)}
.gn47-intro .eyebrow{font-size:11px;letter-spacing:.12em;color:#4668b5;margin-bottom:19px}
.gn47-intro h2{font:400 clamp(48px,6.3vw,91px)/1.01 var(--serif);letter-spacing:-.067em;max-width:13ch;color:#17264e;margin:0 0 26px}
.gn47-intro h2 em,.gn47-after h2 em,.gn47-case h2 em{font-weight:400;color:#4263cf}
.gn47-lede{font:400 clamp(17px,1.6vw,21px)/1.57 var(--sans);max-width:59ch;color:#35445e;margin:0 0 19px}
.gn47-context{font:400 12px/1.75 var(--sans);color:#677690;max-width:76ch}
.gn47-intro-actions{display:flex;flex-direction:column;align-items:start;gap:17px;padding-bottom:7px}
.gn47-intro-actions a{display:inline-flex;gap:14px;align-items:center;font:650 13px/1.4 var(--sans);text-underline-offset:5px}
.gn47-intro-link{color:#2548cc;text-decoration:underline}
.gn47-skip{color:#68748b;text-decoration:underline}
.gn47-intro-actions a:focus-visible,.gn47-cta:focus-visible,.gn47-case a:focus-visible{outline:3px solid #3158f4;outline-offset:4px}
.gn47-scene-track{position:relative;height:600svh;--gn47-scene-height:100svh;background:#edf0f4}
.gn47-scene-sticky{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:0;overflow:hidden;background:#fafaf8;isolation:isolate}
.gn47-scene-sticky iframe{display:block;width:100%;height:100%;border:0;background:#fafaf8;overflow:hidden;overscroll-behavior:contain}
.gn47-embed-cue{position:absolute;right:18px;top:16px;display:flex;gap:14px;align-items:center;padding:9px 13px;font:700 10px/1.25 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#60718e;background:#ffffffed;border:1px solid #e2e8f2;border-radius:100px;pointer-events:none;z-index:2;transition:opacity .25s}
.gn47-embed-cue span{font-size:17px;color:#3158f4}
.gn47-immersive.gn47-scrolling .gn47-embed-cue{opacity:0}
.gn47-after{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:clamp(30px,6vw,100px);padding-block:clamp(60px,7vw,115px);scroll-margin-top:calc(var(--header) + 18px)}
.gn47-rule{grid-column:1/-1;display:block;height:1px;background:#d9e0ef;margin-bottom:2px}
.gn47-after h2{font:400 clamp(35px,4.1vw,61px)/1.08 var(--serif);letter-spacing:-.057em;max-width:19ch;color:#1b2a51;margin:0}
.gn47-after p{font:400 16px/1.75 var(--sans);color:#53627c;margin:2px 0 22px}
.gn47-cta{color:#2a4bd7;font:650 14px/1.4 var(--sans);text-decoration:underline;text-underline-offset:7px}
.gn47-reduced{display:none}
/* Focus project: chronological clarity, source screenshots. */
.gn47-case{padding-block:65px 66px;border-top:1px solid #dae1ec;scroll-margin-top:calc(var(--header) + 14px)}
.gn47-case-header{display:grid;grid-template-columns:1.12fr .88fr;gap:12px clamp(26px,5vw,85px);align-items:end;margin-bottom:57px}
.gn47-case-header .eyebrow{grid-column:1/-1;font-size:11px;color:#4d68ab;margin-bottom:3px}
.gn47-case-header h2{font:400 clamp(42px,4.7vw,68px)/1.08 var(--serif);letter-spacing:-.06em;color:#182747;margin:0;max-width:14ch}
.gn47-case-header>p:not(.eyebrow){font:400 17px/1.75 var(--sans);color:#52627b;max-width:55ch;margin:0}
.gn47-case-links{display:flex;gap:26px;grid-column:1/-1;flex-wrap:wrap;margin-top:17px}
.gn47-case-links a{font:650 13px var(--sans);color:#294dde;text-decoration:underline;text-underline-offset:5px}
.gn47-principles{background:#f1f4fb;padding:35px clamp(20px,3.6vw,54px);margin-bottom:65px}
.gn47-principles>h3{font:400 clamp(25px,3vw,38px)/1.1 var(--serif);color:#1c2e56;margin:0 0 30px}
.gn47-principles>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.5vw,35px)}
.gn47-principles article{border-top:1px solid #c4cfeb;padding-top:20px}
.gn47-principles article span{font:800 11px var(--sans);color:#476ddc}
.gn47-principles article h3{font:600 17px/1.3 var(--sans);margin:15px 0 11px;color:#23355a}
.gn47-principles article p{font:400 13px/1.65 var(--sans);color:#576b87;margin:0}
.gn47-gallery-heading .eyebrow{font-size:11px;margin-bottom:14px;color:#61769b}
.gn47-gallery-heading h3{font:400 clamp(34px,4.1vw,52px)/1.08 var(--serif);letter-spacing:-.05em;color:#1b2f5e;margin:0 0 30px}
.gn47-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2vw,27px)}
.gn47-evidence-item{min-width:0;margin:0}
.gn47-evidence-item a{position:relative;display:grid;place-items:center;min-height:470px;padding:20px 14px;background:#eef2f5;text-decoration:none;border:1px solid #e0e6ec;overflow:hidden}
.gn47-evidence-item a img{display:block;width:auto;height:auto;max-height:455px;max-width:100%;object-fit:contain;box-shadow:0 17px 33px rgba(18,36,65,.12)}
.gn47-zoom{position:absolute;right:15px;bottom:15px;background:white;padding:10px 13px;color:#2853cb;box-shadow:0 4px 16px #162f4822}
.gn47-evidence-item figcaption{font:400 12px/1.65 var(--sans);color:#52627c;padding:17px 3px}
.gn47-evidence-item figcaption strong{color:#1d2c51;font-weight:650}
.gn47-disclosure{border-top:1px solid #dce4ef;padding-top:19px;margin-top:26px;font:400 12px/1.75 var(--sans);color:#64738d}
.gn47-previous{padding-block:52px 43px;border-top:1px solid #e1e6ef}
.gn47-previous .eyebrow{font-size:11px;color:#516cae;margin-bottom:12px}
.gn47-previous h2{font:400 clamp(31px,4vw,49px)/1.11 var(--serif);letter-spacing:-.047em;color:#24365c;margin:0 0 13px}
.gn47-previous p{max-width:78ch;color:#667389;font:400 14px/1.72 var(--sans);margin:0}
/* The Cetelem featured image uses the real screenshot and no drawn mock phone. */
.work .project-row.cetelem .project-image{display:flex;justify-content:center;align-items:center;min-height:400px;background:radial-gradient(ellipse at 65% 25%,#f0f8f3,#deede7);padding:30px}
.work .project-row.cetelem .project-image img{display:block;height:355px;width:auto;max-width:60%;object-fit:contain;border-radius:18px;box-shadow:0 14px 33px #1b5b4640}
/* Reduced motion: skip scroll-animated iframe and render original captures. */
@media(prefers-reduced-motion:reduce){.gn47-scene-track{display:none!important}.gn47-reduced{display:block}.gn47-reduced-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.gn47-reduced-grid article{padding:20px;background:#eef2fa}.gn47-reduced-grid span{font:700 11px var(--sans);color:#3556c1}.gn47-reduced-grid p{font:400 14px/1.6 var(--sans);color:#253957}.gn47-reduced-grid img{width:auto;height:240px;max-width:100%;object-fit:contain;display:block;margin:16px auto}}
@media(max-width:900px){.gn47-intro{grid-template-columns:1fr;gap:30px}.gn47-intro-actions{flex-direction:row;gap:25px;flex-wrap:wrap}.gn47-case-header{grid-template-columns:1fr}.gn47-case-header h2{max-width:none}.gn47-principles>div{grid-template-columns:1fr}.gn47-principles article{padding-top:15px}.gn47-principles article h3{margin:8px 0}}
@media(max-width:700px){.gn47-intro{padding-block:48px 42px}.gn47-intro h2{font-size:clamp(44px,10.4vw,62px);max-width:13ch}.gn47-lede{font-size:17px}.gn47-context{font-size:11px}.gn47-intro-actions a{font-size:12px}.gn47-embed-cue{display:none}.gn47-after{display:block;padding-block:48px}.gn47-after h2{font-size:37px;margin-bottom:22px}.gn47-after p{font-size:14px}.gn47-case{padding-block:45px}.gn47-case-header{margin-bottom:35px}.gn47-case-header h2{font-size:43px}.gn47-case-header>p:not(.eyebrow){font-size:14px}.gn47-principles{padding:27px 22px;margin-bottom:42px}.gn47-principles>h3{font-size:29px}.gn47-evidence-grid{grid-template-columns:1fr;gap:12px}.gn47-evidence-item a{min-height:440px}.gn47-evidence-item a img{max-height:415px}.gn47-evidence-item figcaption{padding:12px 1px 23px}.gn47-previous{padding-block:37px 25px}.gn47-previous h2{font-size:35px}.work .project-row.cetelem .project-image{min-height:280px}.work .project-row.cetelem .project-image img{height:245px;max-width:66%}}
@media print{.gn47-scene-track{display:none}.gn47-reduced{display:block}.gn47-reduced-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gn47-reduced-grid img{height:180px}}
