/* Gabriel Nion portfolio V98 — scoped polish of existing visual language. */

/* Navigable AI section without duplicating any persistent mobile header. */
.desktop-nav .gn98-nav-ai{font-weight:600;color:#614285}
.desktop-nav .gn98-nav-ai:hover,.desktop-nav .gn98-nav-ai[aria-current="location"]{color:#4d287b}
#ia{scroll-margin-top:var(--gn88-site-header,80px)}
#allianz-methode{scroll-margin-top:100px}
#hero98-photo{transform-box:fill-box;transform-origin:50% 45%;will-change:transform}
@media(prefers-reduced-motion:reduce){#hero98-photo{transform:none!important;will-change:auto}}
html.motion-reduced #hero98-photo,html.gn93-reading #hero98-photo{transform:none!important;will-change:auto}

/* Cetelem: consistent, editorial 4-up collection. Preserve actual client images. */
.home-page #autres-realisations .gn49-scope-grid,
.home-page #autres-realisations .gn85-grid{gap:22px}
.home-page #autres-realisations .gn86-card{border-radius:16px;border-color:#c9d9cb;background:#fff;box-shadow:0 12px 30px -30px #16442e35;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}
.home-page #autres-realisations .gn86-card:hover{border-color:#9ebeab;box-shadow:0 16px 35px -28px #16442e40}
.home-page #autres-realisations .gn86-card-heading{padding:24px 24px 4px}
.home-page #autres-realisations .gn86-card-heading h3{font-size:clamp(17px,1.3vw,20px);letter-spacing:-.018em;color:#173f2e}
.home-page #autres-realisations .gn86-card .gn86-visual{margin:0 14px;height:220px;border-radius:12px;background:#fff}
.home-page #autres-realisations .gn86-card .gn49-scope-body,
.home-page #autres-realisations .gn86-card .gn85-copy{padding:7px 24px 25px}
.home-page #autres-realisations .gn86-card .gn49-scope-body p,
.home-page #autres-realisations .gn86-card .gn85-copy p{max-width:49ch;font-size:13px;line-height:1.6;color:#52677a}
.home-page #autres-realisations .gn98-adviser,
.home-page #autres-realisations .gn98-system{padding:14px!important;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden}
.gn98-business-ui,.gn98-ds-ui{width:100%;max-width:100%;background:#fff;border:1px solid #d8e2d9;border-radius:11px;box-shadow:0 5px 16px #1d47370b;overflow:hidden;color:#183f30;font-family:var(--sans,Arial,sans-serif)}
.gn98-ui-toolbar,.gn98-ds-toolbar{display:flex;align-items:center;gap:9px;background:#f6f9f6;border-bottom:1px solid #e2e8e2;padding:10px 13px;font-size:11px;color:#284c3b;font-weight:650}
.gn98-ui-toolbar small,.gn98-ds-toolbar small{margin-left:auto;font-weight:500;color:#718578;font-size:10px;white-space:nowrap}
.gn98-ui-icon,.gn98-ds-square{width:21px;height:21px;display:grid;place-items:center;border:1px solid #bdd4c5;background:white;border-radius:5px;color:#33674c;font-size:13px}
.gn98-business-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:13px 13px 9px}
.gn98-business-option{display:flex;align-items:flex-start;gap:8px;min-width:0;min-height:76px;padding:13px 10px;border:1px solid #dde5df;border-radius:9px;background:#fff}
.gn98-business-option.is-current{border:1.5px solid #2c7451;background:#f6faf7;box-shadow:0 0 0 2px #2c74510b}
.gn98-option-check{flex:none;display:grid;place-items:center;width:16px;height:16px;border:1.5px solid #94aa9a;border-radius:50%;margin-top:1px;color:white;font-size:9px}
.gn98-business-option.is-current .gn98-option-check{border-color:#246544;background:#246544}
.gn98-business-option>div{flex:1;min-width:0}.gn98-business-option b{display:block;font-weight:650;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.gn98-business-option>div>span{display:block;margin-top:6px;font-size:9px;line-height:1.3;color:#6c7a72}
.gn98-option-status{font-size:8px;white-space:nowrap;color:#1d6942;background:#e4f1e8;padding:3px 5px;border-radius:3px}
.gn98-criteria{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 13px 13px;font-size:9px;color:#607569}
.gn98-criteria>span{font-size:10px;margin-right:5px;color:#3c5e4b}.gn98-criteria>b{font-size:9px;font-weight:600;border:1px solid #dae6dd;border-radius:999px;padding:4px 7px;background:#f7faf7;color:#38674b}
.gn98-ds-ui{display:flex;flex-direction:column}
.gn98-ds-choice{width:calc(100% - 26px);display:grid;grid-template-columns:21px 1fr auto;align-items:center;gap:12px;text-align:left;margin:13px 13px 0;padding:13px 14px;min-height:86px;background:#fff;border:1.5px solid #cedcd2;border-radius:10px;cursor:pointer;color:#193c2b;font:inherit;transition:background .18s,border-color .18s,box-shadow .18s}
.gn98-ds-choice:hover{border-color:#307253;background:#f8fbf9}
.gn98-ds-choice:focus-visible{outline:3px solid #24704b;outline-offset:3px}
.gn98-ds-choice[aria-pressed=true]{border-color:#307253;background:#f4faf5;box-shadow:0 0 0 2px #2b725314}
.gn98-ds-radio{width:21px;height:21px;border:1.5px solid #638575;border-radius:50%;position:relative;background:white}
.gn98-ds-choice[aria-pressed=true] .gn98-ds-radio{border-color:#1c6444}
.gn98-ds-choice[aria-pressed=true] .gn98-ds-radio:after{content:'';position:absolute;inset:4px;background:#1c6444;border-radius:50%}
.gn98-ds-choice strong{display:block;font:650 12px/1.35 var(--sans,Arial,sans-serif);color:#153b29}
.gn98-ds-choice small{display:block;margin-top:5px;font:400 10px/1.45 var(--sans,Arial,sans-serif);color:#607668}
.gn98-ds-chevron{font-size:16px;color:#3d8060}
.gn98-ds-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:11px 13px;color:#63786a;font-size:10px}
.gn98-ds-footer>span:last-child{color:#26704c;font-weight:550}

/* Allianz: one editorial progression, from a journey decision into its UI representation. */
.gn98-allianz-bridge{padding-top:54px;padding-bottom:34px;color:#16365a}
.gn98-bridge-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.87fr);column-gap:45px;align-items:end;margin-bottom:26px}
.gn98-bridge-heading .eyebrow{grid-column:1/-1;color:#43688c;font-size:11px;letter-spacing:.13em;margin:0 0 9px}
.gn98-bridge-heading h3{font:400 clamp(28px,3vw,43px)/1.12 var(--serif,Georgia,serif);letter-spacing:-.04em;margin:0;color:#10365f}
.gn98-bridge-heading>p:last-child{font:400 14px/1.65 var(--sans,Arial,sans-serif);color:#536d88;margin:0;max-width:57ch}
.gn98-design-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gn98-chain-step{position:relative;display:flex;flex-direction:column;min-width:0;padding:17px 19px 21px;border:1px solid #cad8e8;background:#fff;border-radius:14px;box-shadow:0 9px 24px #123c6210}
.gn98-chain-step:not(:last-child):after{content:'→';position:absolute;z-index:2;top:46%;right:-19px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;border:1px solid #b9cce1;background:#f1f6fc;color:#1b548b;font-size:14px;box-shadow:0 4px 10px #132f4510}
.gn98-step-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#386a96;font-weight:700}
.gn98-chain-step>strong{font:650 15px/1.3 var(--sans,Arial,sans-serif);color:#113d69;margin-top:15px}
.gn98-chain-step>p{font:400 12px/1.55 var(--sans,Arial,sans-serif);color:#55708a;margin:6px 0 0}
.gn98-journey-points,.gn98-wireframe,.gn98-finished-ui{min-height:176px;margin-top:16px;padding:18px 14px;background:#f4f7fc;border:1px solid #e3eaf2;border-radius:10px;display:flex;flex-direction:column;justify-content:center}
.gn98-journey-points{display:grid;grid-template-columns:1fr auto;gap:7px;align-content:center}
.gn98-journey-points>span{grid-column:1;display:flex;align-items:center;min-height:29px;border:1px solid #b8cbe0;background:#fff;padding:6px 12px;border-radius:6px;font:600 11px/1.3 var(--sans,Arial,sans-serif);color:#385d83}
.gn98-journey-points>i{grid-column:2;align-self:center;font-size:16px;color:#94acc7;font-style:normal}
.gn98-journey-points>i:last-child{display:none}
.gn98-wireframe{border-style:dashed;background:#f8fafe}
.gn98-wire-label{font-size:10px;font-weight:600;color:#71849a;margin-bottom:9px}
.gn98-wireframe>b{font-size:17px;color:#314964;line-height:1.25;margin-bottom:10px}
.gn98-wire-condition{display:flex;align-items:center;gap:7px;font-size:10px;color:#60768d}
.gn98-wire-condition i{width:9px;height:9px;border-radius:50%;border:1.5px solid #8093a8}
.gn98-wire-action{margin-top:13px;padding:8px 12px;border-radius:5px;background:#dfe7f1;color:#3a5b7d;text-align:center;font-size:10px;font-weight:650}
.gn98-chain-final{background:#f8fbff;border-color:#92b2d4}
.gn98-finished-ui{border:1px solid #ccdbed;background:#fff;box-shadow:0 6px 18px #13375b0a}
.gn98-finished-ui>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e8f0;padding-bottom:9px;margin-bottom:12px;gap:5px}
.gn98-finished-ui>div span{font:500 10px/1.4 var(--sans,Arial,sans-serif);color:#6a7d92}
.gn98-finished-ui>div b{font:700 12px/1.3 var(--sans,Arial,sans-serif);color:#124478}
.gn98-finished-ui>strong{font:650 15px/1.25 var(--sans,Arial,sans-serif);color:#193c68}
.gn98-finished-ui>p{font:400 10px/1.5 var(--sans,Arial,sans-serif);margin:6px 0 13px;color:#607790}
.gn98-ui-cta{display:flex;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:6px;background:#114d89;color:#fff;font-size:10px;font-weight:650}
.at97-evidence{padding-top:40px}
/* Do not leave a disclaimer-shaped empty gap underneath the case panels. */
.at97-evidence-note{display:none}

/* AppHalt: true product photography only, without fake operating-system controls. */
.gn98-apphalt-showcase{margin:0;min-width:0;align-self:center;color:#263952}
.gn98-apphalt-surface{border:1px solid #c7d0e0;border-radius:21px;padding:12px 18px 21px;background:linear-gradient(140deg,#e8eef8 0,#f8faff 46%,#e8eff9 100%);box-shadow:0 24px 40px -38px #193f8f60;overflow:hidden}
.gn98-apphalt-eyeline{display:flex;align-items:center;gap:9px;min-height:40px;border-bottom:1px solid #d6e0ee;padding:0 3px 12px;color:#334960;font-size:11px}
.gn98-apphalt-eyeline strong{font-size:13px;font-weight:650;color:#1c3655}
.gn98-apphalt-eyeline>span:last-child{margin-left:auto;color:#667b99;font-size:10px}
.gn98-apphalt-led{width:9px;height:9px;border-radius:50%;background:#2a5aeb;box-shadow:0 0 0 4px #2a5aeb1f;flex:none}
.gn98-apphalt-capture{display:grid;place-items:center;padding:26px 6px 1px}
.gn98-apphalt-capture img{display:block;max-width:min(100%,430px);width:100%;height:auto;aspect-ratio:840/735;border-radius:11px;box-shadow:0 17px 38px #05152d32;object-fit:contain;background:#282a31}
.gn98-apphalt-showcase figcaption{max-width:60ch;margin:16px auto 0;font:400 12px/1.65 var(--sans,Arial,sans-serif);color:#53677e;text-align:center}
.gn98-apphalt-showcase figcaption strong{color:#1a3654;font-weight:650}
.gn98-apphalt-showcase figcaption>span{display:block;color:#77879b;font-size:10px;margin-top:6px}
.gn98-apphalt-error{font:400 13px/1.5 var(--sans,Arial,sans-serif);padding:13px 20px;border:1px solid #d7aaac;border-radius:8px;background:#fff7f7;color:#743232}
.gn98-apphalt-error a{color:#3156af}
.gn98-apphalt-error[hidden]{display:none!important}

/* AI: explicit senior craft, a clear contract about AI assistance vs human judgement. */
.ai94{background:linear-gradient(152deg,#f4f0f8 0%,#f9f7fc 56%,#fff 100%)}
.ai94 .gn98-ai-eyebrow{color:#563379;letter-spacing:.095em;font-weight:700}
.ai94-intro{gap:36px}
.ai94-intro-note>p{font-size:16px;line-height:1.7;color:#4d455c}
.gn98-ai-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 26px}
.gn98-ai-roles>div{padding:16px 22px;border:1px solid #d8cde5;border-radius:12px;background:#ffffffcf;min-width:0}
.gn98-ai-roles>div:last-child{background:#eae2f1;border-color:#d0c1dd}
.gn98-ai-roles span{display:block;text-transform:uppercase;letter-spacing:.1em;color:#796586;font-size:10px;font-weight:700;margin-bottom:7px}
.gn98-ai-roles strong{font-size:15px;line-height:1.4;color:#4c3262;font-weight:600}
.ai94-lab-heading{gap:15px}
.ai94-lab-heading>span{font-weight:700;font-size:13px;color:#4e335f}
.ai94-workbench{box-shadow:0 18px 48px -32px #59357638}

@media(max-width:1000px){
 .gn98-design-chain{gap:11px}
 .gn98-chain-step{padding:13px 12px 17px}
 .gn98-bridge-heading{gap:20px}
 .gn98-business-option{padding:9px 7px}
 .gn98-option-status{display:none}
}
@media(max-width:800px){
 .gn98-bridge-heading{display:block}
 .gn98-bridge-heading>p:last-child{margin:12px 0 0;font-size:13px;max-width:55ch}
 .gn98-design-chain{grid-template-columns:1fr;gap:10px}
 .gn98-chain-step{padding:16px;min-height:0}
 .gn98-chain-step:not(:last-child):after{content:'↓';right:calc(50% - 13px);top:auto;bottom:-19px}
 .gn98-chain-step>strong{margin-top:11px}
 .gn98-journey-points,.gn98-wireframe,.gn98-finished-ui{min-height:142px}
 .gn98-journey-points{grid-template-columns:repeat(3,1fr);align-items:center;gap:7px}
 .gn98-journey-points>span{grid-column:auto;align-items:center;min-height:44px;padding:5px 6px;text-align:center;font-size:10px;justify-content:center}
 .gn98-journey-points>i{display:none}
 .gn98-allianz-bridge{padding-block:36px 12px}
 .gn98-ai-roles{margin-bottom:22px}
}
@media(max-width:700px){
 #hero98-photo{will-change:auto}
 .home-page #autres-realisations .gn49-scope-grid,
 .home-page #autres-realisations .gn85-grid{gap:14px}
 .home-page #autres-realisations .gn86-card-heading{padding:18px 18px 6px}
 .home-page #autres-realisations .gn86-card .gn86-visual{margin:0 8px;height:210px}
 .home-page #autres-realisations .gn86-card .gn49-scope-body,.home-page #autres-realisations .gn86-card .gn85-copy{padding:4px 18px 21px}
 .home-page #autres-realisations .gn98-adviser,.home-page #autres-realisations .gn98-system{padding:8px!important}
 .gn98-ui-toolbar,.gn98-ds-toolbar{padding:9px 10px}
 .gn98-business-options{padding:10px 9px 7px;gap:6px}
 .gn98-business-option{min-height:70px}
 .gn98-business-option b{font-size:10px}
 .gn98-criteria{padding:0 9px 10px}
 .gn98-ds-choice{width:calc(100% - 20px);margin:9px 10px 0;padding:11px}
 .gn98-apphalt-capture{padding:20px 6px 0}
 .gn98-apphalt-surface{border-radius:15px;padding:10px 12px 16px}
 .gn98-apphalt-capture img{max-width:min(100%,430px);border-radius:8px}
 .gn98-apphalt-showcase figcaption{text-align:left;font-size:12px;margin-top:12px}
 .gn98-ai-roles{grid-template-columns:1fr;gap:9px}
 .gn98-ai-roles>div{padding:12px 15px}
 .gn98-ai-roles strong{font-size:14px}
 .ai94-intro-note>p{font-size:15px;line-height:1.55}
 .ai94-lab-heading{align-items:flex-start;flex-direction:column;padding:15px 19px}
 .ai94-lab-heading>span{font-size:12px}
}
@media(max-width:360px){
 .gn98-business-options{grid-template-columns:1fr}
 .gn98-business-option{min-height:54px;align-items:center}
 .gn98-business-option>div>span{margin-top:2px}
 .gn98-criteria>b{padding:3px 5px}
 .gn98-ui-toolbar small,.gn98-ds-toolbar small{display:none}
 .gn98-journey-points>span{font-size:9px;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 .gn98-ds-choice,.gn98-chain-step,.gn98-apphalt-showcase *{animation:none!important;transition:none!important}
 #hero98-photo{transform:none!important}
}
html.motion-reduced .gn98-ds-choice,html.motion-reduced .gn98-apphalt-showcase *{animation:none!important;transition:none!important}
/* The legacy scope illustration layer was intentionally pointer-inert; the
   one new Design System component must remain clickable and keyboard-usable. */
.home-page #autres-realisations .gn86-visual.gn98-system{pointer-events:auto!important;user-select:auto}
