@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-standard-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-standard-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-standard-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --t{syntax: "<number>"; inherits: true; initial-value: 0;}:root{--ink: #111110;--ink-2: #2b2a27;--muted: #6b6a65;--rule: rgba(17,17,16,.14);--bench: #e4e3df;--paper: #fbfaf7;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "Archivo Variable", "Archivo", system-ui, sans-serif;--ease-out: cubic-bezier(.2,.8,.2,1);--ease-spring: cubic-bezier(.3,1.35,.5,1);--gutter: clamp(16px, 3vw, 44px);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bench);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.d-open{overflow:hidden}a{color:inherit}img{display:block;max-width:100%}button,input,textarea{font:inherit;color:inherit}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}[hidden]{display:none!important}#main{height:0;outline:none}.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--paper);padding:10px 14px;border-radius:10px}.skip:focus{top:12px}.k{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--muted);font-weight:400}.k a{color:inherit}.logo{display:block;height:1em;width:auto;overflow:visible}.logo-sq{transition:transform .5s var(--ease-spring)}.mark:hover .logo-sq,.app-back:hover .logo-sq{transform:rotate(22deg) translateY(-8px)}.sq{display:inline-block;width:.7em;height:.7em;background:currentColor;rotate:-14deg;flex:none}.glass{position:relative;isolation:isolate;background:#ffffff29;-webkit-backdrop-filter:blur(16px) saturate(1.7) brightness(1.04);backdrop-filter:blur(16px) saturate(1.7) brightness(1.04);box-shadow:inset 0 1px #ffffffd9,inset 0 -1px #ffffff40,inset 0 0 0 1px #ffffff52,inset 0 -18px 30px -24px #0000002e,0 1px 1px #0000000f,0 18px 40px -18px #00000047}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(120% 60% at 18% -10%,rgba(255,255,255,.55),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.18),transparent 40%);mix-blend-mode:screen}.bar{position:fixed;z-index:40;top:14px;left:var(--gutter);right:var(--gutter);height:60px;border-radius:22px;padding:0 10px 0 18px;display:flex;align-items:center;justify-content:space-between;transition:transform .5s var(--ease-out),opacity .3s,color .35s,background-color .35s}.mark{display:flex;align-items:center;text-decoration:none;font-size:21px;padding:6px 0}.bar nav{display:flex;gap:4px;align-items:center}.bar nav a,.menu-btn{text-decoration:none;font-size:15px;padding:10px 14px;border-radius:14px;border:0;background:none;cursor:pointer;transition:background .2s}.bar nav a:hover,.menu-btn:hover{background:#fff6}.bar nav a.cta{background:var(--ink);color:var(--paper)}.bar nav a.cta:hover{background:var(--ink-2)}.menu-btn{display:none}body.d-open .bar{transform:translateY(-120%);opacity:0}.bar.on-dark{color:var(--paper);background:#1e1e1c47;box-shadow:inset 0 1px #ffffff40,inset 0 0 0 1px #ffffff1f,0 18px 40px -18px #00000080}.bar.on-dark nav a:hover,.bar.on-dark .menu-btn:hover{background:#ffffff1f}.bar.on-dark nav a.cta{background:var(--paper);color:var(--ink)}.menu{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:18px 18px 14px;border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 24px 50px -20px #00000059,0 0 0 1px var(--rule);animation:menu-in .35s var(--ease-out)}.menu .k{margin:6px 0 4px}.menu .k+a{border-top:1px solid var(--rule)}.menu a{display:flex;gap:14px;align-items:baseline;padding:13px 2px;font-size:19px;text-decoration:none;border-bottom:1px solid var(--rule)}.menu a span{font-family:var(--mono);font-size:12px;color:var(--muted);width:20px}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}.bench{position:relative;height:100svh;min-height:700px;overflow:hidden}.bench-surface,.contact-surface{position:absolute;inset:0}.bench-surface:before,.contact-surface:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.bench-surface:after{content:"";position:absolute;inset:-20%;background:linear-gradient(112deg,transparent 0 30%,rgba(255,255,255,.6) 30% 44%,transparent 44% 47%,rgba(255,255,255,.52) 47% 61%,transparent 61%),radial-gradient(80% 70% at 18% 8%,rgba(255,255,255,.4),transparent 60%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.06));filter:blur(40px)}.bench-intro{position:relative;z-index:3;padding:calc(96px + 3vh) var(--gutter) 0;max-width:min(760px,52vw)}h1{font-stretch:70%;font-weight:650;font-size:clamp(40px,5.2vw,84px);line-height:.93;letter-spacing:-.018em;text-wrap:balance}.sub{margin-top:18px;font-family:var(--mono);font-size:13px;color:var(--muted)}.bench-note{position:absolute;z-index:3;right:var(--gutter);bottom:20px;font-family:var(--mono);font-size:11px;color:var(--muted)}.swipe-hint{display:none}.tray{position:absolute;inset:0;z-index:2;pointer-events:none}.obj{position:absolute;transform:rotate(calc(var(--r) * 1deg));pointer-events:auto}.obj-link{display:block;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}.obj .lift{display:block;transition:transform .45s var(--ease-spring)}.obj:hover .lift,.obj-link:focus-visible .lift{transform:translateY(-12px) scale(1.015)}.obj-link:active .lift{transform:translateY(-4px) scale(.99);transition-duration:.12s}.obj-link:focus-visible{outline:none}.obj-link:focus-visible .label b{text-decoration:underline;text-underline-offset:4px}.obj.flying{visibility:hidden}.obj [data-hero-src]{--sh: 1;transition:box-shadow .45s var(--ease-out),filter .45s var(--ease-out)}.obj:hover [data-hero-src],.obj-link:focus-visible [data-hero-src]{--sh: 1.9}.label{position:absolute;left:0;top:calc(100% + 18px);white-space:nowrap;font-family:var(--mono);font-size:12px;line-height:1.45;transform:rotate(calc(var(--r) * -1deg));transform-origin:left top}.label b{font-weight:500}.label span{display:block;color:var(--muted)}.plaque{display:block;width:clamp(190px,17vw,290px);aspect-ratio:1;border-radius:7%;background:var(--face) center / 104% no-repeat,#111;position:relative;box-shadow:0 1px #2c2c2c,0 2px #1e1e1e,0 3px #131313,0 calc(12px * var(--sh)) calc(18px * var(--sh)) -6px #00000057,0 calc(34px * var(--sh)) calc(60px * var(--sh)) -22px #0000005c}.plaque.white{position:absolute;left:-13%;top:-12%;rotate:9deg;background-color:#f4f3ef;box-shadow:0 1px #d9d7d1,0 2px #cfccc5,0 3px #c5c2bb,0 calc(10px * var(--sh, 1)) calc(18px * var(--sh, 1)) -6px #00000042,0 calc(30px * var(--sh, 1)) calc(56px * var(--sh, 1)) -22px #0000004d}.obj:hover .plaque.white,.obj-link:focus-visible .plaque.white{--sh: 1.6}.plaque:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,rgba(255,255,255,.17),transparent 38%,transparent 72%,rgba(255,255,255,.05))}.phone{display:block;width:clamp(160px,13.5vw,232px);border-radius:17%/8%;padding:3.4%;background:#121212;box-shadow:inset 0 0 0 1.5px #3a3a3a,0 calc(14px * var(--sh)) calc(24px * var(--sh)) -8px #0000006b,0 calc(40px * var(--sh)) calc(80px * var(--sh)) -30px #00000061}.phone img{width:100%;border-radius:14%/6.6%}.tag{display:flex;flex-direction:column;width:clamp(168px,14.5vw,222px);aspect-ratio:222 / 326;background:var(--paper);position:relative;clip-path:polygon(22% 0,78% 0,100% 12%,100% 100%,0 100%,0 12%);padding:26% 9% 8%;font-family:var(--mono);font-size:clamp(10px,.8vw,11.5px);line-height:1.5;filter:drop-shadow(0 calc(10px * var(--sh, 1)) calc(12px * var(--sh, 1)) rgba(0,0,0,.18)) drop-shadow(0 calc(26px * var(--sh, 1)) calc(36px * var(--sh, 1)) rgba(0,0,0,.12))}.tag:before{content:"";position:absolute;left:50%;top:6.5%;width:7.5%;aspect-ratio:1;translate:-50% 0;border-radius:50%;background:var(--bench);box-shadow:inset 0 0 0 3px #d8d5ce}.tag-k{text-transform:uppercase;letter-spacing:.06em}.tag-no{font-family:var(--sans);font-stretch:70%;font-weight:650;font-size:2.9em;line-height:1;margin:.25em 0 .45em}.tag-t{border-bottom:1px solid #dad7d0;padding-bottom:.8em}.tag-stamp{align-self:flex-start;margin-top:1em;border:1.5px solid var(--ink);padding:.25em .6em;font-weight:500;text-transform:uppercase;letter-spacing:.06em;transform:rotate(-4deg)}.tag-f{margin-top:auto;color:var(--muted);font-size:.9em}.fold{display:block;position:relative;width:clamp(118px,10.5vw,162px)}.fold img{width:100%;box-shadow:0 calc(10px * var(--sh)) calc(16px * var(--sh)) -6px #00000042,0 calc(26px * var(--sh)) calc(46px * var(--sh)) -18px #00000042}.fold .back{position:absolute;left:5%;top:1.5%;filter:brightness(.88)}.fold .front{position:relative}.fold:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 14%);pointer-events:none}.cards{display:block;position:relative;width:clamp(220px,20vw,320px);aspect-ratio:1376 / 1000}.cards img{position:absolute;width:94%;border-radius:3px;box-shadow:0 1px #00000040,0 calc(10px * var(--sh)) calc(16px * var(--sh)) -6px #0000004d,0 calc(28px * var(--sh)) calc(48px * var(--sh)) -20px #00000042}.cards .c1{right:0;top:0;transform:rotate(13deg)}.cards .c2{left:0;bottom:0}.o-nfc{left:8vw;top:47%}.o-tournea{left:31vw;top:41%}.o-bijou{left:54vw;top:50%}.o-may{left:66vw;top:13%}.o-ky{left:73vw;top:56%}.services,.loop,.amine{background:var(--paper);position:relative}.services{padding:120px var(--gutter) 80px;border-top:1px solid var(--rule)}.sec-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:64px}h2{font-stretch:72%;font-weight:640;font-size:clamp(34px,4vw,64px);line-height:.96;letter-spacing:-.015em;text-wrap:balance}.svc{border-top:1.5px solid var(--ink)}.svc li{display:grid;grid-template-columns:1fr 2fr 3fr 2fr;gap:28px;align-items:baseline;padding:30px 0 34px;border-bottom:1px solid var(--rule)}.svc .n{font-family:var(--mono);font-size:13px;color:var(--muted)}.svc h3{font-stretch:78%;font-weight:620;font-size:clamp(26px,2.4vw,38px);line-height:1;letter-spacing:-.01em}.svc h3 a{text-decoration:none}.svc h3 a:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}.svc p{font-size:17px;line-height:1.55;color:var(--ink-2);max-width:56ch}.more{justify-self:end;font-size:15px;text-decoration:none;display:inline-flex;gap:10px;align-items:center;border-bottom:1.5px solid var(--ink);padding-bottom:3px}.more:after{content:"→";transition:transform .3s var(--ease-spring)}.more:hover:after{transform:translate(4px)}.loop{padding:110px var(--gutter) 120px;background:var(--ink);color:var(--paper)}.loop .k{color:#a8a6a0}.loop-text{font-stretch:70%;font-size:clamp(34px,4.6vw,76px);max-width:22ch;margin-top:22px}.loop-steps{display:flex;gap:12px;margin-top:56px;flex-wrap:wrap}.loop-steps a{display:inline-flex;gap:14px;align-items:baseline;text-decoration:none;font-size:18px;padding:14px 20px;border:1px solid rgba(255,255,255,.28);border-radius:16px;transition:background .2s,border-color .2s}.loop-steps a:hover{background:#ffffff14;border-color:#fff9}.loop-steps a:focus-visible{outline-color:var(--paper)}.loop-steps span{font-family:var(--mono);font-size:12px;color:#a8a6a0}.amine{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:120px var(--gutter)}.amine-mark{padding-top:10px;font-size:clamp(40px,4.4vw,68px)}.amine h2{margin:16px 0 28px}.amine p{font-size:18px;line-height:1.6;max-width:60ch;color:var(--ink-2)}.amine p+p{margin-top:16px}.amine .lead{font-size:clamp(21px,1.7vw,26px);line-height:1.4;color:var(--ink)}.contact{position:relative;padding:120px var(--gutter);overflow:hidden}.contact-surface:after{content:"";position:absolute;inset:-20%;background:linear-gradient(104deg,transparent 0 40%,rgba(255,255,255,.55) 40% 52%,transparent 52% 55%,rgba(255,255,255,.45) 55% 67%,transparent 67%);filter:blur(40px)}.contact-in{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}.contact h2{margin-top:16px}.direct{margin-top:36px;font-size:clamp(22px,2vw,30px);line-height:1.5;font-stretch:85%}.direct a{text-decoration:none;border-bottom:1px solid var(--rule)}.direct a:hover{border-color:var(--ink)}.composer{border-radius:28px;padding:26px}.composer label{display:block}.composer textarea{display:block;width:100%;margin-top:12px;resize:vertical;min-height:170px;font:17px/1.55 var(--sans);color:var(--ink);background:#ffffff8c;border:1px solid rgba(17,17,16,.12);border-radius:16px;padding:16px 18px}.composer textarea:focus{outline:2px solid var(--ink);outline-offset:2px}.send{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:14px;font-size:15px;text-decoration:none;cursor:pointer;border:1px solid rgba(17,17,16,.2);background:#ffffff80;transition:transform .2s var(--ease-spring),background .2s,opacity .2s}.btn:hover{background:#ffffffd9}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary:hover:not(:disabled){background:var(--ink-2)}.btn.ghost{background:transparent}.fine{margin-top:14px;font-family:var(--mono);font-size:11.5px;color:var(--muted);line-height:1.5}.foot{background:var(--paper);border-top:1px solid var(--rule);padding:64px var(--gutter) 26px}.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.foot-logo{font-size:clamp(34px,4vw,56px)}.foot-cols{display:flex;gap:64px;flex-wrap:wrap}.foot-cols div{display:flex;flex-direction:column;gap:8px}.foot-cols .k{margin-bottom:6px}.foot-cols a{text-decoration:none;font-size:15px}.foot-cols a:hover{text-decoration:underline;text-underline-offset:4px}.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:12px;color:var(--muted)}.dossier{position:fixed;inset:0;z-index:60}.dossier:before{content:"";position:absolute;inset:0;background:#e4e3dfb8;-webkit-backdrop-filter:blur(10px) grayscale(.2);backdrop-filter:blur(10px) grayscale(.2);opacity:0;transition:opacity .45s var(--ease-out)}.dossier.on:before{opacity:1}.d-stage{position:absolute;inset:0 480px 0 0;display:grid;place-items:center;perspective:1800px}.d-panel{position:absolute;top:16px;right:16px;bottom:16px;width:448px;border-radius:30px;background:#fbfaf79e;overflow:auto;overscroll-behavior:contain;padding:30px 30px 26px;display:flex;flex-direction:column;opacity:0;transform:translate(28px);transition:opacity .45s var(--ease-out),transform .6s var(--ease-out)}.dossier.on .d-panel{opacity:1;transform:none;transition-delay:.18s}.d-close{position:absolute;top:20px;left:20px;width:50px;height:50px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .3s .25s,transform .3s var(--ease-spring)}.d-close svg{width:22px;height:22px}.d-close:hover{transform:rotate(90deg)}.dossier.on .d-close{opacity:1}.dossier.closing .p3d,.dossier.closing .flip{transform:none!important;transition:none!important}.dossier.closing .leaflet{--t: 0 !important;transition:none!important}.dossier.closing .tap-phone{display:none}.d-head h2{font-size:44px;margin-top:10px}.sig{display:inline-flex;gap:10px;align-items:center;margin-top:12px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.sig .sq{font-size:11px;color:var(--ink)}.dossier.on .sig .sq{animation:drop .6s .6s both var(--ease-spring)}@keyframes stamp{0%{opacity:0;transform:scale(1.7) rotate(-16deg)}60%{opacity:1;transform:scale(.93) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(-4deg)}}.d-lead{font-size:17px;line-height:1.55;margin-top:18px;color:var(--ink-2)}.d-facts{margin-top:22px;border-top:1px solid var(--rule)}.d-facts li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule);font-size:14.5px}.d-facts li span:first-child{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:2px;flex:none}.d-facts li span:last-child{text-align:right}.d-sec{margin-top:26px}.d-sec>.k{display:block;margin-bottom:10px}.d-note{margin-top:14px;font-family:var(--mono);font-size:11.5px;line-height:1.55;color:var(--muted)}.d-nav{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;gap:10px}.d-nav button{background:none;border:0;cursor:pointer;font-family:var(--mono);font-size:12px;color:var(--muted);padding:8px 0}.d-nav button:hover{color:var(--ink)}.seg{display:inline-flex;padding:4px;border-radius:14px;background:#1111100f;gap:2px;flex-wrap:wrap}.seg button{border:0;background:none;cursor:pointer;padding:9px 14px;border-radius:10px;font-size:14px;display:inline-flex;gap:8px;align-items:center;min-height:40px}.seg button[aria-pressed=true]{background:var(--paper);box-shadow:0 1px 2px #0000001f,0 0 0 1px #0000000d}.seg .sw{width:12px;height:12px;border-radius:3px;border:1px solid var(--ink)}.seg .sw.b{background:var(--ink)}.seg .sw.m{background:linear-gradient(135deg,var(--paper) 50%,var(--ink) 50%)}.qty{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:14px;background:#1111100f}.qty button{width:40px;height:40px;border:0;border-radius:10px;background:var(--paper);cursor:pointer;font-size:18px;box-shadow:0 1px 2px #0000001f}.qty button:active{transform:scale(.94)}.qty output{min-width:44px;text-align:center;font-size:18px;font-variant-numeric:tabular-nums}.row2{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.row2.start{justify-content:flex-start}.price-row{margin-top:18px}.price{font-stretch:72%;font-weight:640;font-size:40px;line-height:1;font-variant-numeric:tabular-nums;display:inline-block;animation:tick .35s var(--ease-out)}@keyframes tick{0%{transform:translateY(40%);opacity:0}to{transform:none;opacity:1}}.price-note{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:6px}.d-panel textarea,.nfc-order textarea{display:block;width:100%;min-height:150px;resize:vertical;font:15px/1.5 var(--sans);padding:14px;border-radius:14px;border:1px solid rgba(17,17,16,.14);background:#fff9;color:var(--ink)}.d-panel .send .btn,.nfc-order .send .btn{flex:1 1 auto}.steps{border-top:1px solid var(--rule)}.steps button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:14px;width:100%;padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px}.steps button span{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:2px}.steps button[aria-current=true]{font-weight:600}.steps button[aria-current=true] span{color:var(--ink)}.steps button:focus-visible{outline:2px solid var(--ink)}.hero{position:relative;perspective:1400px}.d-stage .hint,.d-stage .stage-ctrl{opacity:0;transition:opacity .4s var(--ease-out)}.dossier.on .d-stage .hint,.dossier.on .d-stage .stage-ctrl{opacity:1;transition-delay:.6s}.p3d{width:min(44vh,400px,70vw);aspect-ratio:1;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .9s var(--ease-out);cursor:grab;touch-action:none}.p3d.dragging{transition:none;cursor:grabbing}.p3d .f,.p3d .core{position:absolute;inset:0;border-radius:7%;backface-visibility:hidden}.p3d .front{background:var(--face) center / 104% no-repeat,#111;transform:translateZ(3.5px)}.p3d .front:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(calc(125deg + var(--glint, 0deg)),rgba(255,255,255,.22),transparent 40%,transparent 70%,rgba(255,255,255,.06))}.p3d .back{background:url(/assets/nfc-dos-plan.png) center / 104% no-repeat,#f4f4f4;transform:rotateY(180deg) translateZ(3.5px)}.p3d .core{backface-visibility:visible;background:var(--edge, #1a1a1a)}.p3d-shadow{position:absolute;left:50%;top:100%;width:90%;height:16%;translate:-50% 0;margin-top:26px;background:radial-gradient(closest-side,rgba(0,0,0,.28),transparent);filter:blur(8px);transform:scaleX(var(--shx, 1));pointer-events:none}.stage-ctrl{position:absolute;left:50%;bottom:28px;translate:-50% 0;display:flex;gap:8px}.stage-ctrl .btn{background:#fff9;white-space:nowrap}.hint{position:absolute;left:50%;top:26px;translate:-50% 0;font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}.tap-phone{position:absolute;width:34%;aspect-ratio:9/19;right:-40%;top:10%;border-radius:16%/8%;background:#151515;box-shadow:inset 0 0 0 2px #3a3a3a,0 30px 50px -20px #00000080;opacity:0;transform:translateZ(80px) rotate(8deg);transition:all .9s var(--ease-out);pointer-events:none}.tap-phone:after{content:"Page d'avis\aouverte";white-space:pre;position:absolute;inset:8%;border-radius:12%/6%;background:#fafaf8;font:500 11px/1.3 var(--mono);display:grid;place-items:center;text-align:center;color:var(--ink);opacity:0;transition:opacity .3s .7s}.tapping .tap-phone{opacity:1;right:8%;top:18%}.tapping .tap-phone:after{opacity:1}.tphone{width:min(33vh,300px);border-radius:15%/7%;padding:3.2%;background:#121212;box-shadow:inset 0 0 0 1.5px #3a3a3a,0 30px 60px -24px #00000080}.tphone .screen{position:relative;aspect-ratio:780/1688;border-radius:12%/5.6%;overflow:hidden;background:#f5f4ef;touch-action:pan-y}.tphone .screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .5s var(--ease-out);-webkit-user-select:none;user-select:none}.tphone .screen img:not(.on){opacity:0;transform:translate(8%)}.tag.big{width:min(30vh,290px);font-size:13px;filter:drop-shadow(0 18px 20px rgba(0,0,0,.18)) drop-shadow(0 40px 60px rgba(0,0,0,.14))}.tag.big .tag-stamp{animation:stamp .5s var(--ease-out) both}.log{font-family:var(--mono);font-size:12px;line-height:1.5}.log li{padding:8px 0;border-bottom:1px solid var(--rule);display:flex;gap:12px}.log li span{color:var(--muted);flex:none}.log li.new{animation:tick .4s var(--ease-out)}.pipe{display:flex;gap:4px;margin:4px 0 14px}.pipe i{flex:1;height:4px;border-radius:2px;background:#1111101f;transition:background .4s}.pipe i.on{background:var(--ink)}.ky-view{animation:rise .32s var(--ease-out)}@keyframes rise{0%{opacity:0;transform:translateY(-12px)}}.flip{position:relative;transform-style:preserve-3d;transition:transform .9s var(--ease-out);cursor:pointer}.flip.turned{transform:rotateY(180deg)}.flip .f{position:absolute;inset:0;backface-visibility:hidden;box-shadow:0 1px #0003,0 26px 50px -20px #0006}.flip .f img{width:100%;height:100%;object-fit:cover}.flip .b{transform:rotateY(180deg)}.flip.card{width:min(52vh,520px,72vw);aspect-ratio:1376/924}.flip.card .f{border-radius:8px;overflow:hidden}.flip.flyer{width:min(40vh,360px,60vw);aspect-ratio:1748/2436}.logos{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:14px}.logos figure{aspect-ratio:4/3;display:grid;place-items:center;padding:18%;border-radius:6px;box-shadow:0 16px 30px -18px #00000059}.logos figure img{max-height:100%}.logos .k{margin-top:6px}.leaflet{--pw: min(26vh, calc((100vw - 620px) / 4.3), 230px);position:relative;width:calc(var(--pw) * 4);height:calc(var(--pw) * 2.1);transform-style:preserve-3d;transform:translate(calc((1 - var(--t)) * var(--pw) * -1.5)) rotateX(8deg);transition:--t 1.2s var(--ease-out)}.leaflet .h{position:absolute;top:0;width:var(--pw);height:100%;transform-style:preserve-3d;transform-origin:right center}.leaflet>.h{right:0}.leaflet .h .h{right:100%}.leaflet .h.l3{transform:rotateY(calc((1 - var(--t)) * -178deg)) translateZ(-.6px)}.leaflet .h.l2{transform:rotateY(calc((1 - var(--t)) * 178deg)) translateZ(.6px)}.leaflet .h.l1{transform:rotateY(calc((1 - var(--t)) * -178deg)) translateZ(-.6px)}.leaflet .pg{position:absolute;inset:0;backface-visibility:hidden;background-size:cover;background-position:center}.leaflet .pg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,calc((1 - var(--t)) * .25 + .04)),transparent 30%)}.leaflet .pg.bk{transform:rotateY(180deg);background:#e8e2d4}.leaflet-shadow{position:absolute;left:0;right:0;bottom:-40px;height:40px;background:radial-gradient(closest-side,rgba(0,0,0,.25),transparent);filter:blur(6px)}.scrub-l{display:block;margin-top:16px}.scrub{width:100%;accent-color:var(--ink);margin-top:6px}.svc-page{background:var(--paper);padding:150px var(--gutter) 0}.svc-hero{max-width:1100px}.svc-hero h1{margin-top:22px;font-size:clamp(44px,6.4vw,104px)}.svc-lead{margin-top:28px;font-size:clamp(19px,1.6vw,24px);line-height:1.45;max-width:58ch;color:var(--ink-2)}.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:100px;padding-top:30px;border-top:1.5px solid var(--ink)}.ticks{margin-top:18px}.ticks li{position:relative;padding:14px 0 14px 30px;border-bottom:1px solid var(--rule);font-size:17px;line-height:1.5}.ticks li:before{content:"";position:absolute;left:2px;top:22px;width:9px;height:9px;background:var(--ink);rotate:-14deg}.svc-process{margin-top:100px}.svc-process ol{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.svc-process li{padding:22px 20px 24px;border-radius:20px;background:var(--bench)}.svc-process li span{font-family:var(--mono);font-size:12px;color:var(--muted)}.svc-process li b{display:block;margin-top:30px;font-stretch:78%;font-weight:620;font-size:26px}.svc-process li p{margin-top:8px;font-size:15px;line-height:1.5;color:var(--ink-2)}.svc-proofs{margin-top:100px}.svc-proofs ul{margin-top:14px;border-top:1px solid var(--rule)}.proof{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-stretch:85%;font-size:clamp(22px,2.2vw,32px);transition:padding .3s var(--ease-out)}.proof:hover{padding-left:10px}.svc-proofs>p{margin-top:20px}.svc-contact{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start;margin:110px calc(var(--gutter) * -1) 0;padding:100px var(--gutter);background:var(--bench)}.svc-contact h2{margin-top:16px}.svc-next{margin:60px calc(var(--gutter) * -1) 0;border-top:1px solid var(--rule)}.svc-contact+.svc-next{margin-top:0;border-top:0}.svc-next a{display:flex;flex-direction:column;gap:10px;padding:50px var(--gutter);text-decoration:none;font-stretch:72%;font-weight:640;font-size:clamp(30px,3.6vw,56px);letter-spacing:-.01em}.svc-next a:hover{background:var(--bench)}.nfc-block{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;margin-top:70px;align-items:stretch}.nfc-stage{position:relative;display:grid;place-items:center;min-height:600px;border-radius:30px;background:var(--bench);overflow:hidden}.nfc-stage .hint{top:22px}.nfc-order .d-sec:first-child{margin-top:0}.rates{width:100%;margin-top:30px;border-collapse:collapse;font-size:15px}.rates caption{text-align:left;padding-bottom:10px}.rates th,.rates td{padding:11px 0;border-bottom:1px solid var(--rule);text-align:left;font-weight:400}.rates tr:first-child th,.rates tr:first-child td{border-top:1px solid var(--rule)}.rates td{font-variant-numeric:tabular-nums}.rates td:last-child{text-align:right;font-family:var(--mono);font-size:12px;color:var(--muted)}.text-page{background:var(--paper);padding:150px var(--gutter) 110px;min-height:70svh}.text-page h1{margin-top:20px;font-size:clamp(40px,5vw,76px);max-width:16ch}.text-page section{max-width:68ch;margin-top:54px}.text-page h2{font-size:clamp(24px,2.2vw,32px)}.text-page section p{margin-top:14px;font-size:17px;line-height:1.6;color:var(--ink-2)}.text-page mark{background:#f1e9a8;padding:0 4px}.text-page.nf p{margin-top:40px}.app{min-height:100svh;background:var(--paper);display:flex;flex-direction:column}.app-head{display:flex;align-items:center;gap:24px;padding:18px var(--gutter);border-bottom:1px solid var(--rule)}.app-back{font-size:19px;text-decoration:none}.app-title{display:flex;gap:12px;align-items:baseline;margin-right:auto;padding-left:24px;border-left:1px solid var(--rule)}.app-title b{font-stretch:72%;font-weight:650;font-size:26px}.app-title span{font-family:var(--mono);font-size:12px;color:var(--muted)}.app-head .btn{min-height:40px}.app-banner{padding:10px var(--gutter);background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:12px}.app-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:22px var(--gutter) 16px}.app-search{flex:1 1 280px;max-width:420px;min-height:46px;padding:0 16px;border-radius:14px;border:1px solid rgba(17,17,16,.16);background:#fff;font-size:15px}.app-filters{display:flex;gap:6px;flex-wrap:wrap}.app-filters button{display:inline-flex;gap:8px;align-items:center;min-height:40px;padding:0 14px;border-radius:12px;border:1px solid rgba(17,17,16,.14);background:none;cursor:pointer;font-size:14px}.app-filters button span{font-family:var(--mono);font-size:11px;color:var(--muted)}.app-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.app-filters button[aria-pressed=true] span{color:#bdbbb5}.app-body{flex:1;display:grid;grid-template-columns:1fr;padding:0 var(--gutter) 30px;align-items:start}.app-body.has-sel{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:28px}.app-list{border-top:1.5px solid var(--ink)}.app-row{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:76px minmax(0,2.4fr) minmax(0,1fr) 96px 110px;gap:14px;align-items:center;padding:14px 10px;border-bottom:1px solid var(--rule);transition:background .15s}.app-row:hover{background:#11111009}.app-row.on{background:var(--bench)}.app-row:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.app-row .no,.app-row .du{font-family:var(--mono);font-size:12px;color:var(--muted)}.app-row .it b{display:block;font-weight:560;font-size:15.5px}.app-row .it em{display:block;font-style:normal;font-size:13.5px;color:var(--muted);margin-top:2px}.app-row .cl{font-size:14px}.st{justify-self:start;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:6px;border:1px solid var(--ink);white-space:nowrap}.st.s1{background:#11111014;border-color:transparent}.st.s2{background:#11111033;border-color:transparent}.st.s3{background:var(--ink);color:var(--paper)}.st.s4{border-color:var(--rule);color:var(--muted)}.app-empty{padding:30px 10px;font-family:var(--mono);font-size:13px;color:var(--muted)}.app-detail{position:sticky;top:20px;padding:26px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px var(--rule),0 24px 50px -30px #0000004d;animation:tick .3s var(--ease-out)}.app-detail h2{margin-top:8px;font-size:34px}.app-close{display:none;background:none;border:0;cursor:pointer;font-family:var(--mono);font-size:12px;padding:4px 0 14px}.app-note{display:flex;gap:8px}.app-note input{flex:1;min-width:0;min-height:48px;padding:0 14px;border-radius:14px;border:1px solid rgba(17,17,16,.16)}.app-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:28px var(--gutter);border-top:1px solid var(--rule);background:var(--bench)}.app-foot p{font-stretch:85%;font-size:clamp(20px,2vw,28px)}.toast{position:fixed;left:50%;bottom:24px;z-index:90;translate:-50% 0;border-radius:18px;padding:12px 18px 12px 14px;display:flex;gap:12px;align-items:center;font-size:14.5px;opacity:0;transform:translateY(20px) scale(.96);pointer-events:none;transition:opacity .3s,transform .45s var(--ease-spring);background:#fbfaf799}.toast.on{opacity:1;transform:none}.toast-in{display:inline-flex;gap:12px;align-items:center}.toast .sq{font-size:14px}.toast.on .sq{animation:drop .5s var(--ease-spring)}@keyframes drop{0%{transform:translateY(-10px) rotate(-60deg);opacity:0}to{transform:none;opacity:1}}@media(max-width:900px){.bar{top:10px;height:54px;border-radius:18px;padding:0 6px 0 14px}.mark{font-size:19px}.bar nav a:not(.cta){display:none}.menu-btn{display:inline-flex}.bench{height:auto;min-height:0;padding-bottom:26px}.bench-intro{max-width:none;padding-top:96px}h1{font-size:clamp(38px,11vw,54px)}.tray{position:relative;inset:auto;margin-top:18px;display:flex;gap:34px;align-items:center;pointer-events:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:40px var(--gutter) 70px;scrollbar-width:none}.tray::-webkit-scrollbar{display:none}.obj{position:relative;left:auto;top:auto;flex:none;scroll-snap-align:center;transform:rotate(calc(var(--r0, 0) * 1deg))}.obj .label{transform:rotate(calc(var(--r0, 0) * -1deg))}.o-nfc{--r0: -4;margin-left:30px}.o-tournea{--r0: 3}.o-bijou{--r0: -3}.o-may{--r0: 4}.o-ky{--r0: -3;margin-right:20px}.plaque{width:64vw;max-width:300px}.phone{width:46vw;max-width:220px}.tag{width:50vw;max-width:230px;font-size:11px}.fold{width:36vw;max-width:170px}.cards{width:70vw;max-width:320px}.bench-note{position:static;padding:0 var(--gutter)}.swipe-hint{display:block;padding:6px var(--gutter) 0;font-family:var(--mono);font-size:12px;color:var(--ink)}.sec-head,.svc li,.amine,.contact-in,.svc-contact,.svc-cols,.nfc-block{grid-template-columns:1fr;gap:14px}.services,.loop,.amine,.contact{padding-top:80px;padding-bottom:80px}.more{justify-self:start;margin-top:6px}.amine-mark{font-size:44px}.foot-cols{gap:40px}.d-stage{right:0;bottom:auto;height:47svh}.d-stage .hint{display:none}.d-panel{top:48svh;left:8px;right:8px;bottom:8px;width:auto;border-radius:26px;padding:24px 20px 20px;transform:translateY(40px)}.d-head h2{font-size:34px}.d-close{top:12px;left:12px}.d-stage .p3d{width:min(27svh,58vw);margin-top:-6svh}.stage-ctrl .btn{min-height:42px;padding:0 14px;font-size:14px}.d-stage .hero{margin-top:-5svh}.tphone{width:min(19svh,42vw)}.tag.big{width:min(20svh,40vw);font-size:9px}.flip.card{width:78vw}.flip.flyer{width:min(28svh,50vw)}.leaflet{--pw: min(20vw, 17svh)}.d-stage .logos{grid-template-columns:repeat(2,38vw);gap:8px}.stage-ctrl{bottom:12px}.svc-page,.text-page{padding-top:110px}.svc-cols,.svc-process,.svc-proofs{margin-top:64px}.svc-process ol{grid-template-columns:1fr 1fr}.svc-contact{margin-top:70px;padding:70px var(--gutter);gap:30px}.nfc-block{margin-top:44px;gap:30px}.nfc-stage{min-height:440px}.nfc-stage .p3d{width:min(62vw,300px)}.app-head{gap:14px;flex-wrap:wrap}.app-title{padding-left:14px}.app-title span{display:none}.app-body.has-sel{grid-template-columns:1fr}.app-body.has-sel .app-list{display:none}.app-close{display:block}.app-detail{position:static;padding:20px}.app-row{grid-template-columns:1fr auto;grid-template-areas:"it st" "no du";gap:6px 12px;padding:14px 4px}.app-row .it{grid-area:it}.app-row .st{grid-area:st;justify-self:end}.app-row .no{grid-area:no}.app-row .du{grid-area:du;justify-self:end}.app-row .cl{display:none}}@media(max-width:520px){.svc-process ol{grid-template-columns:1fr}.svc-process li b{margin-top:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
