/* RECTO portfolio: mobile-first, existing identity preserved. */
.portfolio-site{background:#fff;color:#0C0E12}.portfolio-site main{display:block}.portfolio-site .wrap{max-width:1320px;width:100%;padding-inline:5vw;margin-inline:auto}.portfolio-site section{padding:72px 0}.portfolio-site .bar{height:78px}.portfolio-site header{background:#fff;backdrop-filter:none}.portfolio-site .bar .logo svg{height:34px;width:auto}.portfolio-site .links{gap:22px;font-size:13px}.portfolio-site .bar>.btn{font-size:12px;padding:14px 18px}.portfolio-site .eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 20px}.portfolio-site h1,.portfolio-site h2,.portfolio-site h3{font-family:Montserrat,Inter,sans-serif;font-style:normal;letter-spacing:-.045em}.portfolio-site h2{font-size:clamp(34px,4vw,58px);line-height:1.08;margin:0}.portfolio-site .btn-fluo{background:#CCFF00;color:#0C0E12;border:0;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border-radius:0;padding:18px 24px;min-height:48px}.portfolio-site a:focus-visible,.portfolio-site button:focus-visible{outline:3px solid #009FE3;outline-offset:4px}.portfolio-site [hidden]{display:none!important}
.portfolio-site .portfolio-hero{display:grid;grid-template-columns:1fr 1fr;padding:0;min-height:620px}.hero-copy{position:relative;isolation:isolate;overflow:hidden;padding:75px 5vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#0C0E12;color:#fff}.hero-copy>h1,.hero-copy>p,.hero-copy>a{position:relative;z-index:2}.hero-copy h1{font-size:clamp(38px,4.4vw,68px);line-height:1.04;margin:0 0 15px;text-wrap:balance}.hero-copy h1 span{color:#009FE3}.hero-copy .hero-translation{font-size:18px;margin:0 0 24px;color:#fff}.hero-copy .hero-products{font-size:14px;line-height:1.9;color:#ddd;margin:0 0 28px}.hero-copy .machine-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.2}.hero-copy .motion-toggle{position:absolute;bottom:14px;right:16px;z-index:3;font-size:10px;background:#0C0E12;color:#fff;border:1px solid #777;padding:7px}.hero-production{margin:0;min-width:0;position:relative;background:#eee;display:flex;flex-direction:column}.hero-production>img{display:block;width:100%;height:100%;min-height:0;max-height:650px;object-fit:cover;flex:1}.hero-production figcaption{position:absolute;bottom:0;left:0;right:0;padding:50px 30px 25px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8));display:flex;flex-direction:column;gap:7px}.hero-production figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.hero-production figcaption b{font-size:22px}.hero-production figcaption a{font-size:12px;color:#fff;text-underline-offset:4px}
.portfolio-site .portfolio-section{padding-top:75px;padding-bottom:75px}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.text-link{font-size:13px;text-decoration:none;border-bottom:1px solid #0C0E12;padding-bottom:6px}.work-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.work-filters button{font:600 14px Inter,sans-serif;min-height:44px;padding:10px 22px;background:#fff;color:#0C0E12;border:1px solid #ddd;cursor:pointer;transition:background .18s}.work-filters button[aria-pressed=true]{background:#CCFF00;border-color:#CCFF00}.work-count{color:#666;font-size:12px;min-height:18px;margin:10px 0 20px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.work-card{min-width:0}.work-open{border:0;background:none;width:100%;text-align:left;padding:0;color:#0C0E12;cursor:pointer}.work-image{position:relative;overflow:hidden;background:#f3f3f3;aspect-ratio:1.18}.work-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.work-open:hover img{transform:scale(1.025)}.work-image>span{position:absolute;right:15px;bottom:15px;background:#CCFF00;color:#0C0E12;width:38px;height:38px;display:grid;place-items:center;font-size:25px}.work-open h3{font-size:23px;margin:16px 0 6px}.work-open p{font:14px/1.6 Inter,sans-serif;margin:0;color:#606060}.paper-link{display:block;font-size:13px;margin-top:30px;text-underline-offset:5px}.portfolio-reviews{border-top:1px solid #ddd;display:grid;grid-template-columns:1fr 1fr;gap:60px}.rating{display:flex;flex-direction:column;gap:7px;color:#0C0E12;text-decoration:none;margin-top:22px}.rating b{font:700 52px Montserrat,sans-serif}.rating b span{font-size:24px;color:#777}.rating>span{font-size:13px;text-decoration:underline}.review-quotes blockquote{margin:0;padding:0 0 24px}.review-quotes blockquote+blockquote{padding-top:24px;border-top:1px solid #ddd}.review-quotes blockquote p{font:500 23px/1.45 Montserrat,sans-serif;margin:0 0 12px}.review-quotes cite,.review-quotes small{font:11px/1.6 Inter,sans-serif;color:#666}.portfolio-site #contact{background:#f4f4f4}.portfolio-site #contact .section-no{display:none}.portfolio-site #contact h2{font-size:clamp(32px,4vw,52px)}.portfolio-site #contact .contact-intro{font-size:16px}.portfolio-footer{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding-block:35px;font-size:12px}.portfolio-footer .logo svg{height:32px;width:auto}.portfolio-footer p{margin:0;text-align:right;color:#666}.footer-social,.footer-legal{display:flex;gap:20px;flex-wrap:wrap}.portfolio-footer a{color:inherit;text-decoration:none}.footer-social a{padding:10px 12px;border:1px solid #ddd}.footer-social .instagram:hover,.footer-social .instagram:focus-visible{background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);color:#fff}.footer-social .facebook:hover,.footer-social .facebook:focus-visible{background:#1877f2;color:#fff}.footer-legal{justify-content:flex-end}.page-breadcrumb{padding-top:25px;font-size:12px;color:#666}.portfolio-site .need-grid{margin-top:30px}.portfolio-site #legal{padding-top:35px}.portfolio-site .atelier-section h1,.portfolio-site .catalogue-section h1,.portfolio-site .shop-section h1,.portfolio-site #savoir h1{font-size:clamp(38px,5vw,64px);line-height:1.08}.portfolio-site .skip{position:fixed;left:12px;top:-100px;z-index:100;background:#fff;color:#0C0E12;padding:14px}.portfolio-site .skip:focus{top:5px}
#work-dialog{padding:0;border:0;max-width:900px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;background:#fff;color:#0C0E12}#work-dialog::backdrop{background:rgba(0,0,0,.8)}#work-detail-image{width:100%;max-height:55dvh;object-fit:contain;background:#f1f1f1;display:block}.work-close{position:sticky;top:0;z-index:2;display:block;margin-left:auto;background:#0C0E12;color:#fff;min-height:44px;padding:10px 18px;border:0;cursor:pointer}.work-detail-copy{padding:25px}.work-detail-copy h2{font-size:28px}.work-detail-copy>p{line-height:1.6}.work-detail-copy .btn{font-size:13px}body:has(#work-dialog[open]){overflow:hidden}
@media(max-width:1100px){.portfolio-site .links{gap:12px;font-size:11px}.portfolio-site .bar{gap:14px}.portfolio-site .bar .logo svg{height:28px}.portfolio-site .bar>.btn{padding:12px;font-size:11px}}
@media(max-width:720px){.portfolio-site section{padding:42px 0}.portfolio-site .wrap{padding-inline:20px}.portfolio-site .bar{height:66px}.portfolio-site .bar .logo svg{height:30px}.portfolio-site .bar>.btn{display:none}.portfolio-site .burger{display:block;min-width:44px;min-height:44px}.portfolio-site nav.links{display:none;position:absolute;inset:100% 0 auto!important;background:#fff;padding:12px 22px;max-height:calc(100dvh - 110px);overflow:auto}.portfolio-site nav.links.open{display:flex}.portfolio-site nav.links a{font-size:16px;padding:13px 0}.portfolio-site .portfolio-hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:32px 22px 40px}.hero-copy .eyebrow{font-size:9px;margin-bottom:17px}.hero-copy h1{font-size:clamp(32px,8vw,42px);line-height:1.08;margin-bottom:10px}.hero-copy .hero-translation{font-size:15px;margin-bottom:15px}.hero-copy .hero-products{font-size:12px;line-height:1.75;margin-bottom:20px}.hero-copy .btn-fluo{width:100%;font-size:14px;padding:15px 18px}.hero-production{height:270px}.hero-production>img{height:270px;max-height:270px;flex:none}.hero-production figcaption{padding:45px 22px 20px}.hero-production figcaption b{font-size:18px}.hero-production figcaption a{font-size:11px}.portfolio-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:24px}.portfolio-site .portfolio-section{padding-top:42px;padding-bottom:42px}.work-filters{gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.work-filters button{padding:10px 13px;font-size:12px;flex:none}.work-grid{gap:26px;grid-template-columns:1fr}.work-image{aspect-ratio:1.3}.work-open h3{font-size:21px;margin-top:12px}.work-open p{font-size:13px}.portfolio-reviews{grid-template-columns:1fr;gap:28px}.portfolio-site .portfolio-reviews h2{font-size:32px}.rating{flex-direction:row;align-items:center;gap:20px;margin-top:15px}.rating b{font-size:40px}.review-quotes blockquote p{font-size:20px}.portfolio-footer{grid-template-columns:1fr;gap:18px}.portfolio-footer p{text-align:left;font-size:11px}.footer-legal{justify-content:flex-start;font-size:10px;gap:15px}.page-breadcrumb{padding-top:20px}.work-detail-copy{padding:20px}.work-detail-copy h2{font-size:24px}.work-detail-copy .btn{width:100%;font-size:12px}.portfolio-site #contact .wrap{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.work-image img{transition:none}}

.hero-copy .motion-toggle{top:auto;min-height:30px;height:auto}.hero-copy{padding-bottom:65px}.portfolio-site input,.portfolio-site select,.portfolio-site textarea{font-size:16px}@media(max-width:720px){.portfolio-site header#hd{position:relative;top:0}.hero-copy{padding-bottom:58px}.hero-copy .motion-toggle{bottom:10px}.hero-copy h1 span{white-space:nowrap;font-size:.95em}html{scroll-padding-top:60px}}

.hero-copy .eyebrow,.hero-copy .motion-toggle,.hero-production figcaption span,.hero-production figcaption a,.footer-legal,.review-quotes cite,.review-quotes small{font-size:12px}@media(max-width:360px){.hero-copy h1{font-size:29px}.hero-copy h1 span{white-space:normal}.hero-copy .eyebrow{font-size:11px}.work-filters button{padding-inline:11px}}
