:root{color-scheme:dark;--bg:#161f2a;--panel:#202d3d;--line:#354454;--text:#f5f7fb;--muted:#adbfcc;--yellow:#e7c64e;--navy:#112637;--gold:#e2c278}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,'PingFang SC','Microsoft YaHei','Noto Sans SC',Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}svg{width:22px;height:22px;stroke-width:1.6;flex-shrink:0}.skip-link{position:fixed;top:-100px;z-index:100;background:var(--yellow);color:var(--navy);padding:12px}.skip-link:focus{top:10px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 5vw;position:sticky;top:0;z-index:30;background:#161f2af5;backdrop-filter:blur(12px);border-bottom:1px solid #ffffff09}.brand{font-weight:900;font-size:32px;letter-spacing:-2px;white-space:nowrap}.brand span{color:var(--yellow)}nav{display:flex;gap:28px;font-size:14px;color:var(--muted)}nav a:hover,nav a[aria-current]{color:var(--text)}nav a[aria-current]{text-decoration:underline;text-underline-offset:10px;text-decoration-color:var(--yellow)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;border:1px solid transparent;border-radius:10px;font-weight:750;font-size:16px;transition:background .2s,transform .2s}.primary{background:var(--yellow);color:#142130}.primary:hover{background:#f2d976;transform:translateY(-2px)}.secondary{background:#2a3a49;color:white;border-color:#536775}main{max-width:1680px;margin:auto;padding:0 5vw}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:64px 0 38px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:var(--yellow);font-weight:850;margin:0 0 16px;line-height:1.5}h1{font-size:clamp(38px,4.3vw,68px);line-height:1.04;letter-spacing:-3px;margin:0}h1 span{color:#9caebc}p{line-height:1.65}.intro-copy{font-size:16px;color:var(--muted);max-width:340px;margin:0 0 4px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.section-line h2{font-size:18px;margin:0;letter-spacing:-.3px}.section-line>span{font-size:14px;color:var(--muted)}.families{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.family{position:relative;text-align:left;border:1px solid var(--line);border-radius:14px;background:#1b2837;color:var(--text);padding:22px 16px;min-height:172px;transition:background .25s,border-color .25s,transform .25s}.family>svg{display:block;width:32px;height:32px;margin-bottom:22px;color:var(--muted)}.family strong{display:block;font-size:16px;line-height:1.3;margin-bottom:8px}.family>span{display:block;font-size:14px;color:var(--muted);line-height:1.45}.family>b{position:absolute;right:15px;top:17px;font-size:12px;font-weight:400;color:#91a4b6}.family:hover{transform:translateY(-3px);border-color:#8596a7}.family.active{border-color:var(--yellow);background:#323429}.family.active>svg,.family.active>b{color:var(--yellow)}.studio{padding:48px 0}.studio-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.studio-heading .eyebrow{margin-bottom:8px}.studio h2{font-size:clamp(26px,3vw,40px);letter-spacing:-1.2px;margin:0}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--yellow);font-size:16px;white-space:nowrap}.studio-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:20px}.workbench{border:1px solid #465365;border-radius:20px;background:#111c27;overflow:hidden;min-width:0}.bench-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 22px;border-bottom:1px solid var(--line);background:#243344}.bench-top>span{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:1px;font-weight:700;color:#c9d7df}.bench-top>span svg{color:var(--yellow)}.transport{display:flex;gap:8px}.transport button{background:#172432;color:#e9eff4;border:1px solid #516173;border-radius:8px;width:36px;height:36px;display:grid;place-items:center}.transport button svg{width:18px}.construction-scene{position:relative;height:365px;perspective:1000px;overflow:hidden;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px),radial-gradient(ellipse at 50% 70%,#29414b70,transparent 60%);background-size:24px 24px,24px 24px,auto}.scene-note{position:absolute;top:18px;left:22px;font-size:12px;letter-spacing:1px;color:#8fa5b9}.model-position{position:absolute;left:50%;top:62%;transform-style:preserve-3d}.box-model{position:relative;width:180px;height:140px;transform-style:preserve-3d;transform:translate(-50%,-50%) scale(.68);will-change:transform}.panel{position:absolute;transform-style:preserve-3d;background:#233a46;border:1.5px solid #a0bdc9;box-sizing:border-box}.panel:after{content:'';position:absolute;inset:5px;border:1px dashed #8ba7b55c;pointer-events:none}.base{inset:0}.wall.rear{left:0;top:-60px;width:180px;height:60px;transform-origin:bottom center}.wall.front{left:0;top:140px;width:180px;height:60px;transform-origin:top center}.wall.left{left:-60px;top:0;width:60px;height:140px;transform-origin:right center}.wall.right{left:180px;top:0;width:60px;height:140px;transform-origin:left center}.lid{left:-1.5px;bottom:100%;width:180px;height:140px;transform-origin:bottom center}.artwork{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:var(--navy);color:var(--gold);clip-path:inset(0 100% 0 0);font-size:10px;letter-spacing:1px;font-family:Georgia,serif}.artwork:after{content:'';position:absolute;inset:9px;border:1px solid #dfbf7460}.box-brand{font-size:20px;letter-spacing:3px;transform:rotate(180deg)}.box-brand>b{display:block;font-size:32px}.box-brand small{display:block;font:7px Arial;letter-spacing:2px;margin-top:8px}.base small{font:6px Arial}.wall.left .artwork>span,.wall.right .artwork>span{font-size:24px}.printer{position:absolute;z-index:10;top:35%;left:50%;transform:translate(-50%,-50%);padding:14px 28px;background:#263e4c;border:1px solid #78919e;border-radius:15px;box-shadow:0 16px 45px #0009;display:flex;align-items:center;flex-direction:column;opacity:0;pointer-events:none}.printer>svg{width:78px;height:78px;color:#dde7e9;stroke-width:1.3}.printer>span{font-size:10px;letter-spacing:2px;color:#cad9de;margin:6px 0}.ink-colors{display:flex;gap:5px}.ink-colors b{width:8px;height:8px;border-radius:50%;background:#31bbd6}.ink-colors b:nth-child(2){background:#d165ba}.ink-colors b:nth-child(3){background:var(--yellow)}.ink-colors b:nth-child(4){background:#11202b}.scene-caption{position:absolute;bottom:19px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:#c4d4df}.scene-tag{font-size:11px;letter-spacing:1.2px;color:var(--yellow);border:1px solid #78813b;padding:5px 8px;border-radius:5px;white-space:nowrap}.timeline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.timeline button{text-align:left;background:#1b2938;color:#c0ced9;border:0;border-right:1px solid var(--line);padding:18px 18px 20px;display:grid;grid-template-columns:25px 1fr;column-gap:10px;row-gap:5px}.timeline button:last-child{border-right:0}.timeline button>span{font-size:12px;grid-column:1/-1;color:#8fa4b7}.timeline svg{grid-row:2/4;margin-top:1px}.timeline strong{font-size:17px}.timeline small{font-size:14px;line-height:1.4}.timeline button.current{background:#30372e;color:#f1dc89}.timeline button.current>span{color:var(--yellow)}.animation-track{height:3px;background:#3d4d59}.animation-track i{display:block;height:100%;width:0;background:var(--yellow)}.sample-panel{border-radius:20px;border:1px solid var(--line);overflow:hidden;background:var(--panel);display:flex;flex-direction:column}.sample-panel figure{position:relative;margin:0;min-height:220px;flex:1}.sample-panel img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.sample-panel figcaption{position:absolute;left:16px;bottom:14px;font-size:10px;letter-spacing:1px;background:#14222cee;border:1px solid #56606970;padding:8px 10px;border-radius:5px;max-width:calc(100% - 32px)}.sample-copy{padding:24px}.sample-copy .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:10px}.sample-copy h3{font-size:25px;letter-spacing:-.7px;line-height:1.15;margin:0 0 12px}.sample-copy p{font-size:16px;color:var(--muted);margin:0 0 20px}.sample-copy .button{width:100%}.demo-note{font-size:13px;color:#a8bac8;margin:15px 0 0}.contact-section{border-top:1px solid var(--line);padding:52px 0 75px;display:grid;grid-template-columns:1fr 1.5fr;gap:65px}.contact-intro h2{font-size:clamp(32px,3.4vw,48px);line-height:1.08;letter-spacing:-1.8px;margin:0 0 20px}.contact-intro>p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:380px}.selected-family{display:flex;align-items:center;gap:14px;margin-top:30px}.selected-family>svg{color:var(--yellow);width:32px;height:32px}.selected-family span{display:block;font-size:14px;color:var(--muted);margin-bottom:5px}.selected-family strong{font-size:18px}form{padding:28px;border:1px solid var(--line);border-radius:18px;background:#1c2a39}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:14px;font-weight:700;display:flex;flex-direction:column;gap:9px;min-width:0}.wide{grid-column:1/-1}input,select,textarea{border:1px solid #526476;border-radius:8px;padding:13px 12px;background:#142231;color:var(--text);width:100%;font-size:16px}input::placeholder,textarea::placeholder{color:#8c9fb0}textarea{resize:vertical}.form-note{font-size:13px;color:#b1c3d1;display:flex;gap:10px;line-height:1.5;margin:22px 0}.form-note svg{width:18px;margin-top:2px}.request-result{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.request-result h3{margin:0}.request-result p{font-size:14px;color:var(--muted)}.request-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 Arial;color:#d1e0e7;padding:15px;background:#142231;border-radius:8px;max-height:280px;overflow:auto}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:30px 5vw;color:var(--muted);font-size:14px}footer>a:last-child{display:flex;align-items:center;gap:8px}
.draw-board{position:absolute;inset:34px 8px 42px;pointer-events:none;z-index:5}.drawing-svg{width:100%;height:100%;display:block}.sketch-line{stroke-dasharray:1;stroke-dashoffset:1}.sketch-label{font:italic 19px Georgia,serif}.sample-panel img[src="/assets/img/perso-pastry-box.jpg"]{object-fit:contain;background:#14202a}
.construction-scene:before{content:'';position:absolute;inset:0;background:#edf1ef;opacity:var(--paper-opacity,0);pointer-events:none}.model-position{z-index:4}.box-model{zoom:1!important}.scene-note,.scene-caption{z-index:12}.paper-stage .scene-note,.paper-stage .scene-caption{color:#36515e}.paper-stage .scene-tag{color:#344a52;border-color:#7a9099;background:#ffffffa6}
.box-model .panel{background:#f5f0e5;border-color:#8d9b9d}.box-model:after{content:'';position:absolute;left:-60px;top:var(--print-y,-200px);width:300px;height:3px;background:#e5c34d;box-shadow:0 0 12px #e5c34d99;opacity:var(--print-active,0);transform:translateZ(3px);pointer-events:none}.construction-scene .printer{left:18%;top:46%;transform:translate(-50%,-50%) scale(.7)}
.box-model{opacity:0}.box-model .artwork{clip-path:inset(0 0 100% 0)}
.format-diagram{position:absolute;inset:34px 8px 42px;width:calc(100% - 16px);height:calc(100% - 76px);z-index:4;overflow:visible;pointer-events:none}
/* These outer faces are viewed from the reverse of the flat net after folding.
   Flip the lettering vertically, not 180 degrees in-plane (which mirrors it). */
.lid .box-brand,.wall.front>.artwork>span{transform:scaleY(-1)}
@media(min-width:1500px){.construction-scene{height:415px}.box-model{zoom:1.1}}
@media(max-width:1100px){.families{grid-template-columns:repeat(3,1fr)}.family{min-height:148px}.family>svg{margin-bottom:15px}.intro{gap:25px}.intro-copy{max-width:270px}.studio-layout{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr)}.timeline button{padding:16px 10px}.contact-section{gap:30px}}
@media(max-width:800px){.site-header nav{display:none}.intro{display:block;padding-top:42px}.intro-copy{max-width:none;margin-top:20px}.studio-heading{align-items:flex-start;flex-direction:column}.studio-layout{grid-template-columns:1fr}.sample-panel{display:grid;grid-template-columns:1fr 1fr}.sample-panel figure{min-height:260px}.contact-section{grid-template-columns:1fr;gap:24px}.contact-intro>p:not(.eyebrow){max-width:none}.selected-family{margin-top:18px}footer p{display:none}}
@media(max-width:500px){main{padding:0 20px}.site-header{padding:18px 20px}.brand{font-size:28px}.header-cta{font-size:14px;padding:11px 12px;gap:6px}.header-cta svg{width:18px}h1{font-size:39px;letter-spacing:-1.8px}.section-line{display:block}.section-line>span{display:block;margin-top:7px}.families{grid-template-columns:repeat(2,1fr);gap:9px}.family{padding:17px 14px}.family strong{font-size:15px}.family>span{font-size:14px}.studio{padding-top:35px}.construction-scene{height:330px}.model-position{top:61%}.box-model{zoom:.85}.bench-top{padding:12px}.bench-top>span{font-size:10px;letter-spacing:.6px}.scene-note{left:15px;font-size:10px}.scene-caption{left:15px;right:15px;bottom:17px;font-size:13px}.scene-tag{font-size:9px}.timeline button{display:block;min-width:0;padding:14px 10px}.timeline button>span{display:block;margin-bottom:8px}.timeline svg{display:none}.timeline strong{display:block;font-size:16px;margin-bottom:5px}.timeline small{font-size:13px}.sample-panel{display:flex}.sample-panel figure{min-height:260px}.sample-copy{padding:22px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}form{padding:20px}.contact-section{padding:36px 0 45px}footer{padding:25px 20px}.text-link{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.button:hover,.family:hover{transform:none}}

.lang-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#00000030}
.lang-switch a,.lang-switch button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:900;text-decoration:none}
.lang-switch a:hover{color:var(--yellow)}
.lang-switch button{cursor:default}
.lang-switch button.active{background:var(--yellow);color:#142130}
@media(max-width:900px){.lang-switch{display:none}}

.brand{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;white-space:normal}
.brand img{height:34px;width:auto;display:block}
.site-header .brand img{height:34px}
footer .brand img{height:30px}
.brand-slogan{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
