@font-face{font-family:apfelGrotezk;src:url(../media/ApfelGrotezk_Regular-s.p.3-oudvjdwx6u2.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:apfelGrotezk;src:url(../media/ApfelGrotezk_Mittel-s.p.1eibzk5tmnnzs.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:apfelGrotezk;src:url(../media/ApfelGrotezk_Fett-s.p.157iwxk_ihm3r.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:apfelGrotezk Fallback;src:local(Arial);ascent-override:96.09%;descent-override:28.87%;line-gap-override:7.22%;size-adjust:96.99%}._0tL8Oq_className{font-family:apfelGrotezk,apfelGrotezk Fallback,Avenir Next,Avenir,Futura,Candara,Trebuchet MS,sans-serif}._0tL8Oq_variable{--font-display:"apfelGrotezk", "apfelGrotezk Fallback", Avenir Next, Avenir, Futura, Candara, Trebuchet MS, sans-serif}
@font-face{font-family:commitMono;src:url(../media/CommitMono_Regular-s.p.0ysto7hihnl8y.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:commitMono;src:url(../media/CommitMono_Bold-s.p.23zesu_p3cins.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:commitMono Fallback;src:local(Arial);ascent-override:68.45%;descent-override:15.21%;line-gap-override:0.0%;size-adjust:131.49%}.jU3syW_className{font-family:commitMono,commitMono Fallback,ui-monospace,SF Mono,Menlo,Consolas,monospace}.jU3syW_variable{--font-mono-local:"commitMono", "commitMono Fallback", ui-monospace, SF Mono, Menlo, Consolas, monospace}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.w-4{width:calc(var(--spacing)*4)}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper-0:#f6f3ea;--paper-1:#efe9da;--paper-2:#e7deca;--paper-3:#d9cdb2;--bg:var(--paper-0);--bg-soft:var(--paper-1);--ink:#24221b;--muted:#655e50;--rule:#d8d2c2;--ok:#2e7d46;--control-idle:#8a8374;--accent-brand:#2563eb;--accent:#2057ce;--on-accent:var(--paper-0);--font-sans:var(--font-display),"Avenir Next",Avenir,Futura,Candara,"Trebuchet MS",sans-serif;--font-mono:var(--font-mono-local),ui-monospace,"SF Mono",Menlo,Consolas,monospace;--header-h:79px;--anchor-gap:1.5rem;--menu-dur:.65s;--menu-ease:cubic-bezier(.45,.02,.09,.98);--menu-page-pull:400px;--menu-inner-offset:30%;--menu-row-dur:.42s;--menu-row-step:28ms;--menu-row-base:.16s;--menu-row-travel:16px;--menu-icon-phase:.12s;--menu-icon-in:cubic-bezier(.42,0,1,1);--menu-icon-out:cubic-bezier(0,0,.58,1)}@media (max-width:760px){:root{--header-h:68px}}@media (max-width:560px){:root{--header-h:73px}}@media (max-width:400px){:root{--header-h:73px}}:root[data-accent=moduloop]{--accent-brand:#00aaab;--accent:#006c6d}:root[data-accent=hosteed]{--accent-brand:#015993;--accent:#015993}:root[data-accent=quintyss]{--accent-brand:#6f93f4;--accent:#01164e}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--anchor-gap))}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;overflow-x:hidden}body:after{content:"";z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"240\" height=\"240\"><filter id=\"g\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.9\" numOctaves=\"3\" stitchTiles=\"stitch\"/><feColorMatrix type=\"saturate\" values=\"0\"/><feComponentTransfer><feFuncR type=\"linear\" slope=\"3\" intercept=\"-1\"/><feFuncG type=\"linear\" slope=\"3\" intercept=\"-1\"/><feFuncB type=\"linear\" slope=\"3\" intercept=\"-1\"/><feFuncA type=\"linear\" slope=\"0\" intercept=\"1\"/></feComponentTransfer></filter><rect width=\"240\" height=\"240\" filter=\"url(%23g)\"/></svg>");background-repeat:repeat;background-size:240px 240px;position:fixed;inset:0}::selection{background:var(--accent);color:var(--on-accent)}a,button,summary,.eyebrow,.hero-kicker,.step-num,.swatch,.badge-dispo .dot{transition:color .45s,background-color .45s,border-color .45s}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}h1,h2,h3{letter-spacing:-.035em;text-wrap:pretty;font-weight:600;line-height:1.12}p{max-width:65ch}a{color:var(--accent);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.8125rem}.eyebrow{font-family:var(--font-mono);text-wrap:inherit;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:1rem;font-size:.75rem;font-weight:400;line-height:1.65;display:block}.wrap{max-width:1120px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.skip-link{background:var(--accent);color:var(--on-accent);z-index:100;padding:.6rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus-visible{top:.5rem;left:.5rem}.btn{border:1px solid var(--accent);cursor:pointer;padding:.65rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{opacity:.88}.btn-ghost{color:var(--accent);background:0 0}.btn-ghost:hover{background:var(--bg-soft)}.btn-invert{background:var(--paper-0);color:var(--accent);border-color:var(--paper-0)}.btn-invert:hover{opacity:.9}.btn-invert-ghost{color:var(--paper-0);background:0 0;border-color:#f6f3eab8}.btn-invert-ghost:hover{border-color:var(--paper-0);background:#f6f3ea24}.cta-text-link{color:var(--muted);text-underline-offset:.25em;align-self:center;font-size:.95rem;font-weight:600;text-decoration:underline}.cta-text-link:hover{color:var(--accent)}.site-header{z-index:50;background:var(--bg);border-top:3px solid var(--accent-brand);border-bottom:1px solid var(--rule);transition:background-color .45s,border-color .45s;position:sticky;top:0}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:1.5rem;padding-block:.85rem;display:flex}.brand{letter-spacing:-.02em;color:var(--ink);white-space:nowrap;font-weight:700;text-decoration:none}.brand .mono{color:var(--muted);margin-left:.5rem}.site-nav{margin-left:auto}.site-nav ul{flex-wrap:wrap;gap:.35rem 1.4rem;list-style:none;display:flex}.site-nav a{color:var(--ink);white-space:nowrap;font-size:.95rem;text-decoration:none}.site-nav a:hover{color:var(--accent)}.header-actions{align-items:center;gap:.9rem;display:flex}@media (max-width:760px){.site-header .wrap{gap:.65rem;padding-block:.6rem}.site-nav{order:3;width:100%;margin-left:0}.site-nav ul{column-gap:.9rem}.site-nav a{padding-block:.25rem;display:inline-block}.header-actions{flex-wrap:wrap;order:2;justify-content:flex-end;gap:.6rem;margin-left:auto}}@media (max-width:560px){.brand{white-space:normal}.brand .mono{margin-left:0;display:block}.header-actions{justify-content:flex-start;width:100%;margin-left:0}.header-actions .btn{text-align:center;flex:0 auto;padding:.5rem .75rem;font-size:.8125rem}}.menu-toggle{display:none}.menu-sheet{left:0;right:0;top:calc(var(--header-h) - 1px);z-index:45;background:var(--paper-2);padding:1.75rem clamp(1.25rem,4vw,2.5rem)calc(1.75rem + env(safe-area-inset-bottom,0px));visibility:hidden;display:none;position:fixed;bottom:0;overflow:hidden}:root[data-menu=open] .menu-sheet{visibility:visible}.menu-inner{flex-direction:column;flex:1;justify-content:space-between;gap:2rem;display:flex}.menu-nav ul{list-style:none}.menu-nav li{border-top:1px solid var(--rule)}.menu-nav li:last-child{border-bottom:1px solid var(--rule)}.menu-nav a{min-height:44px;color:var(--ink);letter-spacing:-.025em;align-items:baseline;gap:.8rem;padding-block:.8rem;font-size:clamp(1.5rem,7vw,1.9rem);line-height:1.14;text-decoration:none;display:flex}.menu-num{font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted);font-size:.625rem}.menu-foot{flex-direction:column;gap:.6rem;display:flex}.menu-cta{background:var(--accent);min-height:44px;color:var(--on-accent);letter-spacing:-.01em;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.1rem;font-size:1rem;text-decoration:none;display:flex}.menu-icon{width:22px;height:18px;position:absolute;top:13px;left:11px}.menu-icon-bar{background:currentColor;border-radius:1px;width:22px;height:1.4px;position:absolute;left:0}.menu-icon-bar--top{top:5px}.menu-icon-bar--bottom{top:12px}:root[data-menu=open] .menu-icon-bar{top:9px}:root[data-menu=open] .menu-icon-bar--top{transform:rotate(45deg)}:root[data-menu=open] .menu-icon-bar--bottom{transform:rotate(-45deg)}body.menu-locked{width:100%;position:fixed;left:0;right:0}@media (max-width:760px){.site-header .wrap{flex-wrap:nowrap}.site-nav,.header-actions{display:none}.menu-toggle{width:44px;height:44px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;margin-left:auto;margin-right:-.6rem;padding:0;display:block;position:relative}.menu-sheet{display:flex}}@media (prefers-reduced-motion:no-preference){.menu-sheet{transition:transform var(--menu-dur)var(--menu-ease),visibility 0s linear var(--menu-dur);transform:translateY(100%)}:root[data-menu=open] .menu-sheet{transition:transform var(--menu-dur)var(--menu-ease),visibility 0s linear 0s;transform:translateY(0)}#page-shell{transition:transform var(--menu-dur)var(--menu-ease)}.menu-inner{transform:translateY(calc(-1*var(--menu-inner-offset)));transition:transform var(--menu-dur)var(--menu-ease)}:root[data-menu=open] .menu-inner{transform:translateY(0)}.menu-nav a{transform:translateY(var(--menu-row-travel));transition:transform var(--menu-row-dur)var(--menu-ease)0s}:root[data-menu=open] .menu-nav a{transition-delay:calc(var(--i)*var(--menu-row-step) + var(--menu-row-base));transform:translateY(0)}.menu-icon-bar{transition:transform var(--menu-icon-phase)var(--menu-icon-in)0s,top var(--menu-icon-phase)var(--menu-icon-out)var(--menu-icon-phase)}:root[data-menu=open] .menu-icon-bar{transition:top var(--menu-icon-phase)var(--menu-icon-in)0s,transform var(--menu-icon-phase)var(--menu-icon-out)var(--menu-icon-phase)}}@media (prefers-reduced-motion:no-preference) and (max-width:760px){:root[data-menu=open] #page-shell{transform:translate3d(0,calc(-1*var(--menu-page-pull)),0)}}:root[data-menu-exit] #page-shell{transition:none}section{padding-block:clamp(3.5rem,8vw,6rem)}section+section{border-top:1px solid var(--rule)}#temoignages,.site-footer{background:var(--paper-1)}#realisations{background:var(--accent-brand)}@supports (color:color-mix(in lab, red, red)){#realisations{background:color-mix(in srgb,var(--accent-brand)4%,var(--paper-2))}}#realisations{transition:background-color .45s}@supports not (background:color-mix(in srgb, red 4%, white)){#realisations{background:var(--paper-2)}}.section-head{--measure:43.6rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.section-head h2{max-width:var(--measure);font-size:clamp(1.7rem,3.4vw,2.4rem)}.section-head .lead{color:var(--muted);max-width:var(--measure);margin-top:.9rem}.hero{padding-block:clamp(4rem,10vw,7.5rem)}.hero .wrap{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.hero h1{text-wrap:balance;max-width:16ch;font-size:clamp(2.3rem,5.6vw,4rem)}.hero-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:1rem;font-size:.75rem;font-weight:400;line-height:1.65;display:block}.hero .sub{color:var(--muted);max-width:52ch;margin-top:1.5rem;font-size:1.125rem}.hero-ctas{flex-wrap:wrap;gap:1rem;margin-top:2.25rem;display:flex}.hero-side{flex-direction:column;align-items:flex-start;gap:1.25rem;display:flex}.portrait{aspect-ratio:4/5;background:var(--paper-3);border:1px solid var(--rule);width:min(100%,220px);position:relative;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.portrait .monogram{background:var(--ink);color:var(--paper-0);letter-spacing:-.035em;padding:.55rem .85rem .45rem;font-size:2.6rem;font-weight:700;line-height:1;position:absolute;bottom:0;left:0}.badge-dispo{font-family:var(--font-mono);color:var(--ink);border:1px solid var(--rule);align-items:center;gap:.6rem;padding:.5rem .85rem;font-size:.8125rem;display:inline-flex}.badge-dispo .dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px;animation:2.2s ease-in-out infinite pulse}.badge-dispo-text{flex-direction:column;gap:.2rem;line-height:1.25;display:flex}.badge-dispo-label{color:var(--muted)}.badge-dispo-value{color:var(--ink);white-space:nowrap;font-weight:700}@keyframes pulse{50%{opacity:.5}}.hero-meta{color:var(--muted)}@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.hero-side{flex-flow:wrap;align-items:center}.portrait{display:none}}.project{border-top:1px solid var(--rule);grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(1.25rem,3vw,2.5rem);padding-block:clamp(2rem,4.5vw,3rem);display:grid}.projects-list>.project:last-of-type{border-bottom:1px solid var(--rule)}.project-side{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.swatch{border:1px solid var(--rule);width:2.4rem;height:2.4rem}.logo-box{background:var(--paper-1);border:1px solid var(--rule);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:100%;max-width:8rem;height:2.75rem;padding:.4rem .7rem;display:flex}.logo-box img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.project-type{font-family:var(--font-mono);color:var(--muted);font-size:.8125rem}.project h3{font-size:clamp(1.4rem,2.8vw,1.9rem)}.stack{font-family:var(--font-mono);color:var(--muted);margin-top:.45rem;font-size:.8125rem}.project dl{gap:.9rem;margin-top:1.4rem;display:grid}.project dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.72rem}.project dd{max-width:58ch;margin-top:.15rem}.case-link{margin-top:1.4rem;font-weight:600;display:inline-block}@media (max-width:820px){.project{grid-template-columns:1fr;gap:.85rem}.project-side{flex-direction:row;align-items:center}.logo-box{width:6rem}}.timeline{list-style:none}.timeline-entry{border-top:1px solid var(--rule);grid-template-columns:minmax(0,.75fr) minmax(0,2.25fr);gap:clamp(1.25rem,3vw,2.5rem);padding-block:clamp(1.75rem,4vw,2.75rem);display:grid}.timeline-entry:last-child{border-bottom:1px solid var(--rule)}.timeline-period{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--ink);font-size:.8125rem}.timeline-engagement{font-family:var(--font-mono);color:var(--muted);margin-top:.3rem;font-size:.8125rem}.timeline-what h3{font-size:clamp(1.25rem,2.4vw,1.6rem)}.timeline-role{color:var(--accent);margin-top:.2rem;font-size:.95rem;font-weight:600}.timeline-summary{max-width:58ch;margin-top:.85rem}.timeline-note{max-width:58ch;color:var(--muted);margin-top:.7rem;font-size:.95rem}.timeline-stack{flex-wrap:wrap;gap:.4rem;margin-top:1.1rem;list-style:none;display:flex}.timeline-stack li{font-family:var(--font-mono);color:var(--muted);border:1px solid var(--rule);background:var(--bg-soft);padding:.2rem .55rem;font-size:.75rem;line-height:1.5}.timeline-status{color:var(--muted);margin-top:1rem;font-size:.95rem}.timeline-status:before{content:"";background:var(--ok);vertical-align:.05em;border-radius:50%;width:.55em;height:.55em;margin-right:.5em;display:inline-block}.timeline-link{margin-top:1.1rem;font-size:.95rem;font-weight:600;display:inline-block}@media (max-width:820px){.timeline-entry{grid-template-columns:1fr;gap:.75rem}}.process-list{counter-reset:step;list-style:none}.process-list li{background-image:repeating-linear-gradient(to right,var(--rule)0 4px,transparent 4px 10px);background-position:0 0;background-repeat:no-repeat;background-size:100% 1px;grid-template-columns:minmax(0,.35fr) minmax(0,1fr) minmax(0,1.4fr);gap:clamp(1rem,3vw,2.5rem);padding-block:clamp(1.5rem,3.5vw,2.25rem);display:grid}.process-list li:last-child{background-image:repeating-linear-gradient(to right,var(--rule)0 4px,transparent 4px 10px),repeating-linear-gradient(to right,var(--rule)0 4px,transparent 4px 10px);background-position:0 0,0 100%;background-repeat:no-repeat,no-repeat;background-size:100% 1px,100% 1px}.step-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--accent);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;line-height:1}.process-list h3{font-size:1.2rem}.process-list .step-note{color:var(--muted)}@media (max-width:700px){.process-list li{grid-template-columns:minmax(0,3rem) minmax(0,1fr)}.process-list .step-note{grid-column:2}}.quotes{columns:2;column-gap:clamp(1.5rem,4vw,3rem)}.quotes figure{break-inside:avoid;border-top:1px solid var(--rule);padding-block:1.5rem 1.75rem}.quotes blockquote{max-width:55ch;font-size:1.05rem}.quotes blockquote:before{content:"« ";color:var(--accent);font-weight:700}.quotes blockquote:after{content:" »";color:var(--accent);font-weight:700}.quotes figcaption{align-items:baseline;gap:.9rem;margin-top:.85rem;display:flex}.quotes .who{font-weight:600}.quotes .relation{font-family:var(--font-mono);color:var(--muted);font-size:.78rem}@media (max-width:760px){.quotes{columns:1}}.about-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);display:grid}.about-grid p+p{margin-top:1rem}.about-aside{font-family:var(--font-mono);color:var(--muted);border-left:1px solid var(--rule);flex-direction:column;align-self:start;gap:.4rem;padding-left:1.25rem;font-size:.8125rem;display:flex}.about-aside h3{color:var(--ink);letter-spacing:normal;font-weight:600;line-height:1.65}@media (max-width:760px){.about-grid{grid-template-columns:1fr}}.cta-final{background:var(--accent);color:var(--paper-0);transition:background-color .45s}.cta-final .wrap{--measure:45.2rem;padding-block:clamp(4rem,9vw,6.5rem)}.cta-final h2{max-width:var(--measure);text-wrap:balance;font-size:clamp(1.9rem,4.5vw,3.1rem)}.cta-final .lead{color:#f6f3eaeb;max-width:var(--measure);margin-top:1rem;font-size:1.1rem}.cta-final-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.25rem;display:flex}.copy-email{color:var(--paper-0);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #f6f3eab8;align-items:center;gap:.6rem;padding:.7rem 1.1rem;font-size:.875rem;display:inline-flex}.copy-email:hover{border-color:var(--paper-0)}.copy-email .copy-icon{flex-shrink:0;width:.9rem;height:.9rem}.copy-email.copied{background:#f6f3ea24}.cta-final :focus-visible{outline-color:var(--paper-0)}.site-footer{border-top:1px solid var(--rule);color:var(--muted);padding-block:clamp(2rem,5vw,3rem);font-size:.9rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:2rem;display:flex}.site-footer nav ul{flex-wrap:wrap;gap:1.2rem;list-style:none;display:flex}.site-footer a{color:var(--ink);text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline}.site-footer .icon-link{align-items:center;gap:.6rem;display:inline-flex}.site-footer .copyright{margin-top:.75rem}.legal{--measure:43.6rem}.legal-head{margin-bottom:clamp(2rem,5vw,3.5rem)}.legal-head h1{max-width:var(--measure);font-size:clamp(1.9rem,3.6vw,2.6rem)}.legal-updated{color:var(--muted);margin-top:1rem;font-size:.9rem}.legal-content{max-width:var(--measure)}.legal-content h2{border-top:1px solid var(--rule);margin-top:clamp(2.75rem,6vw,4rem);padding-top:clamp(1.75rem,4vw,2.5rem);font-size:clamp(1.3rem,2.4vw,1.6rem)}.legal-content>p:first-child{margin-bottom:0}.legal-content p+p{margin-top:1rem}.legal-facts{gap:.85rem;margin-top:1.25rem;display:grid}.legal-facts>div{border-top:1px solid var(--rule);grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:.4rem 1rem;padding-top:.85rem;display:grid}.legal-facts dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem}.legal-facts address,.legal-host-address{font-style:normal}.legal-siret{font-variant-numeric:tabular-nums}.legal-host-address{margin-top:.6rem;line-height:1.7}@media (max-width:600px){.legal-facts>div{grid-template-columns:1fr}}.case-page[data-accent=moduloop],.realisation-row[data-accent=moduloop]{--accent-brand:#00aaab;--accent:#006c6d}.case-page[data-accent=hosteed],.realisation-row[data-accent=hosteed]{--accent-brand:#015993;--accent:#015993}.case-page[data-accent=quintyss],.realisation-row[data-accent=quintyss]{--accent-brand:#6f93f4;--accent:#01164e}.case-breadcrumb{padding-block:1.25rem}.breadcrumb-trail{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.8125rem;list-style:none;display:flex}.breadcrumb-trail a{color:var(--muted);text-decoration:none}.breadcrumb-trail a:hover{color:var(--accent)}.breadcrumb-trail li+li:before{content:"›";margin-right:.45rem}.breadcrumb-trail [aria-current=page]{color:var(--ink)}.case-hero{--measure:43.6rem;padding-block:clamp(2.5rem,6vw,4rem) clamp(3rem,7vw,5rem)}.hero-meta-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.hero-logo{background:var(--paper-1);border:1px solid var(--rule);border-radius:4px;justify-content:center;align-items:center;width:100%;max-width:8rem;height:2.75rem;padding:.4rem .7rem;display:flex}.hero-logo img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.hero-logo[data-shape=icon]{background:0 0;border:0;border-radius:22.5%;width:2.75rem;max-width:none;padding:0;overflow:hidden}.hero-logo[data-shape=icon] img{object-fit:cover;width:100%;max-width:none;height:100%;max-height:none}.hero-status{font-family:var(--font-mono);color:var(--muted);border:1px solid var(--rule);white-space:nowrap;margin-left:auto;padding:.35rem .7rem;font-size:.8125rem}.case-hero h1{max-width:var(--measure);text-wrap:balance;font-size:clamp(2.1rem,5vw,3.4rem)}.case-title-qualifier{letter-spacing:-.005em;color:var(--muted);margin-top:.6rem;font-size:max(1.05rem,.4em);font-weight:400;line-height:1.4;display:block}.hero-lead{color:var(--muted);max-width:var(--measure);margin-top:1.25rem;font-size:1.15rem}.m-stack{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;list-style:none;display:flex}.m-stack li{font-family:var(--font-mono);color:var(--ink);border:1px solid var(--rule);padding:.3rem .65rem;font-size:.75rem}.case-video{padding-top:clamp(2.5rem,5vw,3.5rem)}.case-video-layout{place-items:center;gap:clamp(1.5rem,4vw,2.75rem);display:grid}@media (min-width:760px){.case-video-layout{grid-template-columns:minmax(0,17.5rem) minmax(0,1fr);justify-items:start}}.case-video-player{justify-content:center;width:100%;min-width:0;display:flex}.case-video-media{object-fit:cover;background:var(--ink);width:100%;height:100%;display:block}.case-video-still{position:absolute;inset:0}.case-video-start{font:inherit;color:var(--paper-0);cursor:pointer;background:linear-gradient(to bottom,var(--ink),var(--ink));border:0;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:0;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.case-video-start{background:linear-gradient(to bottom,color-mix(in srgb,var(--ink)6%,transparent),color-mix(in srgb,var(--ink)30%,transparent))}}.case-video-start{transition:background-color .25s}.case-video-start:hover{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.case-video-start:hover{background-color:color-mix(in srgb,var(--ink)12%,transparent)}}.case-video-start:focus-visible{outline-offset:-5px}.case-video-start-mark{aspect-ratio:1;background:var(--accent);width:clamp(3rem,22%,3.75rem);color:var(--on-accent);box-shadow:0 0 0 5px var(--paper-0),0 14px 34px -14px var(--ink);border-radius:999px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.case-video-start-mark{box-shadow:0 0 0 5px color-mix(in srgb,var(--paper-0)26%,transparent),0 14px 34px -14px color-mix(in srgb,var(--ink)85%,transparent)}}.case-video-start-mark{transition:transform .25s}.case-video-start-mark svg{width:46%;height:46%}.case-video-start:hover .case-video-start-mark{transform:scale(1.07)}.case-video-start-text{background:var(--ink);border-radius:999px;justify-items:center;gap:.1rem;padding:.4rem .85rem .45rem;display:grid}@supports (color:color-mix(in lab, red, red)){.case-video-start-text{background:color-mix(in srgb,var(--ink)80%,transparent)}}.case-video-start-text{letter-spacing:-.01em;font-size:.875rem;font-weight:600}.case-video-start-text .mono{letter-spacing:.05em;opacity:.84;font-size:.625rem;font-weight:400}.case-video-text{max-width:34rem}.case-video-text h2{font-size:clamp(1.3rem,2.4vw,1.7rem)}.case-video-text p{color:var(--muted);margin-top:.85rem}.case-screens{padding-top:clamp(2.5rem,5vw,3.5rem)}.screens-slider{position:relative}.slider-frame{border:1px solid var(--rule);background:var(--paper-1);overflow:hidden}.slider-chrome{border-bottom:1px solid var(--rule);align-items:center;gap:.4rem;padding:.55rem .7rem;display:flex}.slider-chrome span{background:var(--paper-3);border-radius:50%;width:.5rem;height:.5rem}.slider-viewport{aspect-ratio:16/9;background:var(--paper-2);position:relative;overflow:hidden}.slider-track{will-change:transform;height:100%;list-style:none;transition:transform .7s cubic-bezier(.4,0,.2,1);display:flex}.slider-slide{flex:0 0 100%;width:100%;height:100%}.slider-slide img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.slider-arrow{border:1px solid var(--rule);background:var(--paper-0);place-items:center;width:2.75rem;height:2.75rem;display:grid;position:absolute;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.slider-arrow{background:color-mix(in srgb,var(--paper-0)88%,transparent)}}.slider-arrow{color:var(--ink);cursor:pointer;transition:background-color .3s,border-color .3s,color .3s}.slider-arrow svg{width:1.15rem;height:1.15rem}.slider-arrow:hover{background:var(--paper-0);border-color:var(--accent);color:var(--accent)}.slider-arrow-prev{left:.75rem}.slider-arrow-next{right:.75rem}@supports not (background:color-mix(in srgb, red 88%, transparent)){.slider-arrow{background:var(--paper-0)}}.slider-caption{color:var(--muted);max-width:70ch;margin-top:.9rem;font-size:.9375rem;display:grid}.slider-caption>p{visibility:hidden;grid-area:1/1;max-width:none}.slider-caption>p[data-current=true]{visibility:visible}.slider-controls{flex-wrap:wrap;align-items:center;gap:1rem;min-height:2.1rem;margin-top:.9rem;display:flex}.slider-dots{flex-wrap:wrap;gap:.5rem;display:flex}.slider-dot{cursor:pointer;background:0 0;border:0;place-items:center;width:1.5rem;height:1.5rem;padding:0;display:grid}.slider-dot span{background:var(--control-idle);border-radius:50%;width:.5rem;height:.5rem;transition:background-color .3s,transform .3s}.slider-dot:hover span{background:var(--muted)}.slider-dot[aria-current=true] span{background:var(--accent);transform:scale(1.5)}.slider-toggle{border:1px solid var(--rule);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:0 0;flex:none;align-items:center;gap:.45rem;margin-left:auto;padding:.4rem .7rem;font-size:.6875rem;line-height:1;transition:color .3s,border-color .3s;display:inline-flex}.slider-toggle svg{flex:none;width:.7rem;height:.7rem}.slider-toggle:hover{color:var(--accent);border-color:var(--accent)}.slider-status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screens-slider[data-variant=photo]{max-width:26rem;margin-top:1.5rem}.screens-slider[data-variant=photo] .slider-viewport{aspect-ratio:1}.screens-slider[data-variant=photo] .slider-slide img{object-position:center}.case-frames-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));align-items:start;gap:clamp(1.5rem,4vw,2.5rem);list-style:none;display:grid}.case-frames-list[data-frame=browser]{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr))}.case-frame-figure{min-width:0}.case-frame-figure figcaption{color:var(--muted);margin-top:.75rem;font-size:.875rem;line-height:1.6}.mobile-views{margin-top:clamp(2rem,4vw,3rem)}.mobile-views-title{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-weight:400;line-height:1.12}.mobile-views-list{flex-wrap:wrap;gap:clamp(1rem,3vw,2rem);margin-top:1.1rem;list-style:none;display:flex}.mobile-frame{width:clamp(9rem,42vw,16.25rem)}.mobile-frame img{border:1px solid var(--rule);background:var(--paper-1);width:100%;height:auto;display:block}.mobile-frame figcaption{color:var(--muted);margin-top:.6rem;font-size:.875rem}@media (max-width:559px){.mobile-views-list>li{flex:100%}.mobile-frame{width:100%;max-width:17rem}}@media (max-width:640px){.slider-arrow{width:2.25rem;height:2.25rem}.slider-arrow-prev{left:.4rem}.slider-arrow-next{right:.4rem}}@media (prefers-reduced-motion:reduce){.slider-track{transition:none}.slider-toggle{display:none}}.case-content{padding-top:clamp(3rem,7vw,5rem)}.case-grid{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.case-sidebar{position:sticky;top:6rem}.sidebar-block{border:1px solid var(--rule);background:var(--paper-1);padding:clamp(1.25rem,3vw,1.75rem)}.sidebar-title{color:var(--muted);text-wrap:inherit;text-transform:uppercase;margin-bottom:1.1rem;font-weight:400;line-height:1.65}.sidebar-block dl{gap:1rem;display:grid}.sidebar-block dl>div+div{border-top:1px solid var(--rule);padding-top:1rem}.sidebar-block dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem}.sidebar-block dd{margin-top:.3rem}.sidebar-block .m-stack{margin-top:.4rem}.sidebar-links{gap:.35rem;margin-top:.3rem;display:grid}.live-link{color:var(--muted);text-underline-offset:.25em;overflow-wrap:anywhere;font-size:.85rem;font-weight:600;text-decoration:underline}.live-link:hover{color:var(--accent)}.live-link-item{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.live-link-note{color:var(--muted);margin-top:.2rem;font-size:.8125rem;display:block}.live-link-item .live-link-note{margin-top:0}.case-narrative section+section{margin-top:clamp(2rem,4vw,3rem)}.case-narrative h2{font-size:clamp(1.3rem,2.4vw,1.7rem)}.case-narrative p+p{margin-top:1rem}.case-narrative p{color:var(--muted);margin-top:.85rem}.case-figure{border:1px solid var(--rule);background:var(--paper-1);margin-top:1.6rem;padding:clamp(.75rem,3vw,1.5rem)}.fig-svg{width:100%;max-width:26rem;height:auto;margin-inline:auto;display:block}.case-figure figcaption{border-top:1px solid var(--rule);color:var(--muted);margin-top:1rem;padding-top:.85rem;font-size:.86rem;line-height:1.6}.fig-svg text{font-family:var(--font-sans)}.fig-box rect{fill:var(--paper-0);stroke:var(--rule);stroke-width:1px}.fig-label text{fill:var(--ink);font-size:15px}.fig-step{fill:var(--ink);font-size:14px}.fig-tick text,.fig-tick,.fig-note text,.fig-note{fill:var(--muted);font-size:13px}.fig-aim{fill:var(--accent);font-size:13px;font-weight:600}.fig-arrow line{stroke:var(--muted);stroke-width:1.4px}.fig-arrowhead{fill:var(--muted);stroke:none}.fig-loop path{fill:none;stroke:var(--accent);stroke-width:1.6px}.fig-loop path.fig-loop-head{fill:var(--accent);stroke:none}.fig-axis{stroke:var(--rule);stroke-width:1.5px}.fig-guide line{stroke:var(--rule);stroke-width:1px;stroke-dasharray:3 5}.fig-curve{fill:none;stroke:var(--accent);stroke-width:2px}.fig-span line{stroke:var(--ink);stroke-width:2.4px}.fig-point{fill:var(--accent);stroke:none}.fig-target{stroke:var(--accent);stroke-width:1.8px}.fig-drop{stroke:var(--accent);stroke-width:1.4px;stroke-dasharray:4 4}@media (max-width:880px){.case-grid{grid-template-columns:1fr}.case-sidebar{order:-1;position:static}}.related-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin-top:1.75rem;display:grid}.related-card{border:1px solid var(--rule);color:var(--ink);padding:clamp(1.25rem,3vw,1.75rem);text-decoration:none;display:block}.related-card:hover{border-color:var(--accent)}.related-card h3{margin-top:1rem;font-size:1.15rem}.related-card .mono{color:var(--muted);margin-top:.35rem}.related-link{color:var(--accent);margin-top:1rem;font-weight:600;display:inline-block}.case-index{background:var(--paper-1)}.case-index-head{--measure:41.6rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.case-index-head h1{max-width:var(--measure);font-size:clamp(1.9rem,3.6vw,2.6rem)}.case-index-head .lead{color:var(--muted);max-width:var(--measure);margin-top:1rem}.realisations-filter{margin-bottom:clamp(1.75rem,4vw,2.5rem)}.realisations-filter ul{flex-wrap:wrap;gap:.6rem;list-style:none;display:flex}.realisations-filter a{border:1px solid var(--rule);background:var(--paper-0);color:var(--muted);border-radius:999px;align-items:baseline;gap:.5rem;padding:.5rem .95rem;font-size:.9375rem;text-decoration:none;display:inline-flex}.realisations-filter a:hover{border-color:var(--accent);color:var(--ink)}.realisations-filter a[data-active=true]{background:var(--ink);border-color:var(--ink);color:var(--paper-0)}.realisations-filter-count{opacity:.6}.realisations-list{border-top:1px solid var(--rule);list-style:none}.realisation-row{border-bottom:1px solid var(--rule);grid-template-columns:11rem minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem);padding-block:clamp(2rem,4vw,2.9rem);display:grid}.realisation-period{color:var(--muted)}.realisation-mark{justify-content:center;align-items:center;width:6rem;height:6rem;margin-top:.85rem;display:flex;overflow:hidden}.realisation-mark[data-shape=icon]{border-radius:22.5%}.realisation-mark[data-shape=icon] img{object-fit:cover;width:100%;height:100%}.realisation-mark[data-shape=wordmark]{background:var(--paper-1);border:1px solid var(--rule);border-radius:10px;padding:.5rem}.realisation-mark[data-shape=wordmark] img{object-fit:contain;width:100%;height:100%}.realisation-client{color:var(--accent);margin-top:.7rem;font-weight:600}.realisation-engagement{color:var(--muted);margin-top:.2rem}.realisation-body{grid-template-columns:minmax(0,1fr);display:grid}.realisation-body-media{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:clamp(1.5rem,3vw,2.5rem)}.realisation-text h2{font-size:clamp(1.25rem,2.3vw,1.55rem)}.realisation-text h2 a{color:inherit;text-decoration:none}.realisation-text h2 a:hover{color:var(--accent);text-decoration:underline}.realisation-qualifier{color:var(--muted);font-weight:400}.realisation-lead{color:var(--muted);max-width:62ch;margin-top:.85rem}.realisation-row .stack{margin-top:1.15rem;display:block}.realisation-links{flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:1.15rem;display:flex}.realisation-links .related-link{margin-top:0}.realisation-shot[data-frame=phone]{width:11rem}.realisation-shot[data-frame=browser]{width:20rem}.realisation-no-shot{width:20rem;color:var(--muted);background:var(--paper-1);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:10px;padding:1.1rem 1.2rem;font-size:.9375rem}@media (max-width:900px){.realisation-row{grid-template-columns:minmax(0,1fr);gap:1rem}.realisation-meta{flex-wrap:wrap;align-items:center;gap:.25rem .9rem;display:flex}.realisation-meta p{margin-top:0}.realisation-mark{width:3.5rem;height:3.5rem;margin-top:0}.realisation-mark[data-shape=wordmark]{width:6.5rem;padding:.35rem .5rem}.realisation-body-media{grid-template-columns:minmax(0,1fr)}.realisation-shot[data-frame=phone]{width:100%;max-width:15rem}.realisation-shot[data-frame=browser],.realisation-no-shot{width:100%;max-width:26rem}}.perso-teaser-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:clamp(1.25rem,3vw,2rem);list-style:none;display:grid}.perso-teaser-list li{border-top:1px solid var(--rule);padding-top:1.1rem}.perso-teaser-list h3{font-size:1.15rem}.perso-teaser-list h3 a{color:inherit;text-decoration:none}.perso-teaser-list h3 a:hover{color:var(--accent);text-decoration:underline}.perso-teaser-list .mono{color:var(--muted);margin-top:.35rem;display:block}.perso-teaser-list p+p{color:var(--muted);margin-top:.75rem}.error-page{--measure:36.95rem;padding-block:clamp(4rem,10vw,7rem)}.error-page h1{max-width:var(--measure);font-size:clamp(2rem,4.5vw,3rem)}.error-page .lead{color:var(--muted);max-width:var(--measure);margin-top:1.25rem;font-size:1.125rem}.error-actions{flex-wrap:wrap;gap:1rem;margin-top:2.25rem;display:flex}.error-digest{color:var(--muted);margin-top:2rem}.parcours{background:var(--paper-1)}.parcours-head{--measure:41.6rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.parcours-head h1{max-width:var(--measure);font-size:clamp(1.9rem,3.6vw,2.6rem)}.parcours-head .lead{color:var(--muted);max-width:var(--measure);margin-top:1rem}.parcours-head,.parcours-teaser-layout{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:clamp(1.5rem,4vw,3rem);display:grid}.epitech-mark{justify-self:end;width:clamp(112px,11vw,160px);height:auto;margin-top:.4rem}.parcours-list{list-style:none}.parcours-entry{border-top:1px solid var(--rule);grid-template-columns:minmax(0,.75fr) minmax(0,2.25fr);gap:clamp(1.25rem,3vw,2.5rem);padding-block:clamp(1.75rem,4vw,2.75rem);display:grid}.parcours-entry:last-child{border-bottom:1px solid var(--rule)}.parcours-period{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--ink);font-size:.8125rem}.parcours-context{font-family:var(--font-mono);color:var(--muted);margin-top:.3rem;font-size:.8125rem}.parcours-what{--measure:38.95rem}.parcours-what h2{max-width:var(--measure);font-size:clamp(1.25rem,2.4vw,1.6rem)}.parcours-what p{max-width:var(--measure);color:var(--muted);margin-top:.85rem}.parcours-what p:first-of-type{color:var(--ink)}.parcours-link{margin-top:1.1rem;font-size:.95rem;font-weight:600;display:inline-block}.parcours-teaser p{max-width:62ch;color:var(--muted)}.parcours-teaser p+p{margin-top:1rem}@media (max-width:820px){.parcours-entry{grid-template-columns:1fr;gap:.75rem}.parcours-head,.parcours-teaser-layout{grid-template-columns:minmax(0,1fr)}.epitech-mark{justify-self:start;margin-top:1.75rem}}.phone-frame{--phone-bezel:clamp(5px,1.6vw,9px);--phone-radius:clamp(1.4rem,5vw,2.4rem);width:100%;max-width:17.5rem;padding:var(--phone-bezel);border-radius:var(--phone-radius);background:var(--ink);box-shadow:inset 0 0 0 1px var(--paper-3),0 22px 44px -32px var(--ink)}@supports (color:color-mix(in lab, red, red)){.phone-frame{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--paper-3)28%,transparent),0 22px 44px -32px color-mix(in srgb,var(--ink)70%,transparent)}}.phone-screen{aspect-ratio:var(--phone-ratio,390/844);border-radius:calc(var(--phone-radius) - var(--phone-bezel));background:var(--paper-1);position:relative;overflow:hidden}.phone-screen img{object-fit:cover;object-position:top center;width:100%;max-width:100%;height:100%;display:block}.phone-island{aspect-ratio:125/37;pointer-events:none;background:#0b0a08;border-radius:999px;width:31.5%;position:absolute;top:1.35%;left:50%;transform:translate(-50%)}.browser-frame{border:1px solid var(--rule);background:var(--paper-1);border-radius:.35rem;width:100%;max-width:100%;overflow:hidden}.browser-chrome{border-bottom:1px solid var(--rule);align-items:center;gap:clamp(.3rem,1vw,.4rem);padding:clamp(.45rem,1.4vw,.55rem) clamp(.55rem,1.8vw,.7rem);display:flex}.browser-chrome span{background:var(--paper-3);border-radius:50%;flex:none;width:clamp(.4rem,1.3vw,.5rem);height:clamp(.4rem,1.3vw,.5rem)}.browser-viewport{aspect-ratio:var(--browser-ratio,16/10);background:var(--paper-2);overflow:hidden}.browser-viewport img{object-fit:cover;object-position:top center;width:100%;max-width:100%;height:100%;display:block}@supports not (color:color-mix(in srgb, red 50%, transparent)){.phone-frame{box-shadow:inset 0 0 0 1px var(--muted)}}.scroll-progress{pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0}.scroll-progress>span{background:var(--accent);transform-origin:0;height:100%;display:block}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){@keyframes scrub-rise{0%{transform:translateY(28%)}to{transform:translateY(0)}}@keyframes scrub-open{0%{clip-path:inset(0 0 100%);transform:translateY(12%)}to{clip-path:inset(0);transform:translateY(0)}}@keyframes scrub-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.scroll-progress>span{animation-name:scrub-grow;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll()}.section-head>.eyebrow,.section-head>h2,.case-index-head>.eyebrow,.case-index-head>h1,.parcours-head-text>.eyebrow,.parcours-head-text>h1,.legal-head>.eyebrow,.legal-head>h1,.legal-content h2,.cta-final h2,.case-related>.wrap>h2,.case-narrative>section>h2,.parcours-what>h2,.timeline-what>h3,.process-list>li>h3,.perso-teaser-list>li>h3,.realisation-text>h2,.related-card>h3,.project h3,.about-aside>h3{animation-name:scrub-rise;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry}.browser-frame,.phone-frame,.mobile-frame,.case-figure{animation-name:scrub-open;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry entry 90%}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
