/* Pliegue: official palette and typography. Fonts use installed licensed copies. */
@font-face{font-family:PliegueCambria;src:local('Cambria Bold');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:PliegueCalibri;src:local('Calibri');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:PliegueCalibri;src:local('Calibri Bold');font-style:normal;font-weight:700;font-display:swap}
:root{--red:#c10000;--deep:#7a0000;--ink:#1a1a1a;--cream:#f4f1ec;--gray:#6b6b6b;--white:#fff;--line:#ddd;--serif:PliegueCambria,Cambria,Georgia,serif;--sans:PliegueCalibri,Calibri,Arial,sans-serif;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;color:var(--ink);background:var(--cream);font:20px/1.45 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}img,video{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(56px,6.9vw,112px)}h2{font-size:clamp(40px,4.4vw,70px)}h3{font-size:clamp(28px,2.5vw,40px)}p{max-width:62ch}ul{padding-left:1.2em}::selection{background:var(--red);color:var(--white)}:focus-visible{outline:3px solid currentColor;outline-offset:6px}button:focus-visible,a:focus-visible{position:relative;z-index:5}.wrap{width:min(100%,1560px);margin:auto;padding-inline:var(--gutter)}.section{padding-block:100px}.eyebrow{font:700 13px/1.3 var(--sans);letter-spacing:.13em;text-transform:uppercase}.red{color:var(--red)}.muted{color:var(--gray)}.small{font-size:16px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:46px}.section-head h2{max-width:16ch}.section-head p{max-width:37ch;font-size:20px}.section-head .eyebrow{margin-bottom:20px}.skip-link{position:fixed;top:12px;left:12px;background:var(--ink);color:white;padding:12px 20px;z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{height:96px;background:var(--cream);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(26,26,26,.15)}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:block;padding-block:16px;flex-shrink:0}.brand img{width:160px;height:auto}.nav{display:flex;align-items:center;gap:32px;font-size:17px}.nav a{text-decoration:none;position:relative}.nav a:not(.nav-contact)::after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}.nav-contact{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--ink);padding-bottom:5px;font-weight:700}.arrow{font-family:Arial,sans-serif;font-weight:400}.menu-toggle{display:none;background:none;border:1px solid var(--ink);padding:9px 14px;font-size:16px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--red);color:var(--white);padding:17px 24px;text-decoration:none;font-size:18px;font-weight:700;border:1px solid var(--red);line-height:1.3;min-height:54px;transition:background .2s}.button:hover{background:var(--deep);border-color:var(--deep)}.button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button.outline:hover{background:var(--ink);color:var(--white)}.button.light{background:var(--cream);border-color:var(--cream);color:var(--ink)}.button.light:hover{background:white}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:18px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-block:8px}.text-link:hover{color:var(--red)}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px}
/* The fold is an independent 1 : 0.6 triangle, never a fragment of the logo. */
.fold{position:absolute;display:block;aspect-ratio:1/.6;background:var(--red);clip-path:polygon(0 0,100% 0,0 100%);pointer-events:none}.hero{padding-top:58px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.hero-copy{padding-block:12px 62px;position:relative;z-index:1}.hero-copy .eyebrow{margin-bottom:28px}.hero h1{max-width:9ch}.hero h1 span{color:var(--red);display:block}.hero-intro{font-size:22px;max-width:38ch;margin-top:28px}.hero-art{min-width:0;position:relative;align-self:stretch;display:flex;align-items:center;padding:44px 0 66px}.hero-art::before{content:'';position:absolute;inset:30px 0 0 15%;background:var(--ink)}.hero-art>.fold{width:67%;right:0;bottom:0;transform:rotate(180deg)}.hero-photo{position:relative;width:100%;z-index:1}.hero-photo img{aspect-ratio:1.35;object-fit:cover;object-position:48% 50%;width:100%}.hero-photo figcaption{background:var(--cream);padding:12px 20px;font-size:14px;max-width:90%;border-left:2px solid var(--red)}.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:28px;border-top:1px solid var(--ink);font-size:14px;letter-spacing:.03em}.hero-foot a{text-decoration:none}.hero-foot a:hover{color:var(--red)}
.projects{background:var(--white)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 32px}.work-card{display:block;text-decoration:none;min-width:0}.work-card:first-child{grid-column:1/-1}.work-image{position:relative;overflow:hidden;background:var(--cream);aspect-ratio:1.42;isolation:isolate}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.work-card:hover .work-image>img{transform:scale(1.025)}.work-info{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-top:20px}.work-info h3{font-size:34px}.work-info p{font-size:16px;color:var(--gray);margin-top:6px}.work-number{font-size:13px;letter-spacing:.1em;display:block;margin-bottom:12px}.work-arrow{display:flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;border:1px solid var(--ink);font-family:Arial,sans-serif;font-size:23px;transition:background .2s,color .2s}.work-card:hover .work-arrow{background:var(--ink);color:var(--white)}.mey-composition{background:#eee5ec;aspect-ratio:2.14;display:grid;grid-template-columns:1.4fr .65fr;gap:38px;padding:54px 7%;align-items:center}.mey-composition .manual-cover{box-shadow:0 12px 28px #00000018;transform:rotate(-4deg);width:100%;height:auto;object-fit:contain}.mey-composition .mey-post{box-shadow:0 12px 28px #00000015;transform:rotate(5deg);width:100%;height:auto;object-fit:contain;max-height:400px}.magnifica-composition{background:#e9eef2;padding:40px 28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.magnifica-composition img{height:auto;width:100%;object-fit:contain;box-shadow:0 10px 20px #00000012}.magnifica-composition img:first-child{transform:translateY(-12px)}.magnifica-composition img:last-child{transform:translateY(12px)}.pliegue-composition{display:flex;align-items:center;padding:35px;background:var(--ink);position:relative}.pliegue-composition .fold{width:65%;right:0;top:0;transform:rotate(180deg);background:var(--deep)}.pliegue-composition>img{width:100%;height:auto;object-fit:contain;position:relative;z-index:1;box-shadow:0 12px 24px #00000025}
.services{background:var(--ink);color:var(--white);position:relative;overflow:hidden}.services .section-head>p{color:var(--cream)}.service-row{border-top:1px solid #ffffff40;display:grid;grid-template-columns:70px 1fr 1.1fr;gap:30px;padding:34px 0}.service-row:last-of-type{border-bottom:1px solid #ffffff40}.service-number{font-size:16px;padding-top:6px;color:var(--cream)}.service-row h3{font-size:36px;max-width:15ch}.service-row p{color:var(--cream);font-size:20px}.service-row .tags{margin-top:20px;font-size:14px;letter-spacing:.04em;color:var(--cream)}.services .text-link:hover{color:var(--white)}.service-foot{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:35px}.service-foot p{font-size:16px;max-width:50ch;color:var(--cream)}
.manual-section{position:relative}.manuals-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.manual-card{text-decoration:none;display:block}.manual-card figure{overflow:hidden;background:var(--white);padding:28px;position:relative}.manual-card figure img{width:100%;box-shadow:0 8px 20px #00000012;transition:transform .35s}.manual-card:hover figure img{transform:translateY(-4px)}.manual-card .work-info{padding:22px 0}.manual-card h3{font-size:30px}.manual-card p{font-size:16px;color:var(--gray);margin-top:7px}.manual-note{font-size:16px;max-width:65ch;color:var(--gray);margin-top:24px}
.process{background:var(--white)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.step{border-top:1px solid var(--ink);padding-top:20px}.step span{font-size:14px;color:var(--red)}.step h3{font-size:29px;margin:28px 0 18px}.step p{font-size:19px;color:var(--gray)}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about .eyebrow{margin-bottom:24px}.about h2{max-width:12ch}.about p{margin-top:26px;font-size:22px;max-width:37ch}.about-visual{position:relative}.about-visual img{aspect-ratio:1.17;object-fit:cover;object-position:25% center}.about-visual figcaption{font-size:13px;color:var(--gray);margin-top:10px}.faq{padding-top:0}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.faq-heading h2{max-width:10ch;font-size:48px}.faq-heading .eyebrow{margin-bottom:25px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:24px 40px 24px 0;font-weight:700;font-size:22px;position:relative}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:5px;top:24px;font-weight:400}details[open]>summary::after{content:'−'}details>p{padding:0 32px 26px 0;color:var(--gray);font-size:20px}details>p a{color:var(--ink)}
.contact{background:var(--red);color:var(--white);position:relative;overflow:hidden;padding:80px 0}.contact .wrap{position:relative;z-index:1}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end}.contact h2{font-size:clamp(64px,7.8vw,124px);max-width:9ch;margin-top:24px}.contact p{font-size:23px;max-width:34ch}.contact .fold{width:40%;right:-12%;bottom:0;transform:rotate(180deg);background:var(--deep)}.site-footer{background:var(--ink);color:var(--cream);padding:40px 0}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-logo{padding:22px 0}.footer-logo img{width:170px}.footer-links{display:flex;gap:26px;flex-wrap:wrap;font-size:17px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #ffffff30;padding-top:25px;margin-top:24px;font-size:14px}.footer-bottom p{color:var(--cream)}
/* Project pages */
.case-intro{padding:44px 0 60px}.back{display:inline-flex;gap:12px;font-size:16px;text-decoration:none;margin-bottom:56px}.back:hover{color:var(--red)}.case-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.case-heading .eyebrow{margin-bottom:22px}.case-heading h1{font-size:clamp(60px,7vw,112px);max-width:11ch}.case-heading p{font-size:23px;max-width:37ch}.case-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--ink);margin-top:44px;padding-top:22px}.case-meta dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}.case-meta dd{margin:0;font-size:17px}.case-visual{overflow:hidden}.case-visual .mey-composition{aspect-ratio:2.1;max-height:760px}.case-visual .pliegue-composition{padding:60px 18%;aspect-ratio:2.05}.case-visual .magnifica-composition{grid-template-columns:repeat(3,1fr);padding:54px 14%;aspect-ratio:2.05;gap:30px}.case-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.case-story h2{max-width:12ch}.case-story p{font-size:23px}.case-story p+p{margin-top:22px}.case-story .eyebrow{margin-bottom:24px}.case-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.case-gallery.three{grid-template-columns:repeat(3,1fr)}.case-gallery .wide{grid-column:1/-1}.zoom-image{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit;position:relative}.zoom-image img{width:100%;height:auto}.zoom-image .zoom-mark{position:absolute;right:12px;bottom:12px;width:34px;height:34px;display:grid;place-items:center;background:var(--white);color:var(--ink);font:20px Arial,sans-serif;opacity:0;transition:opacity .2s}.zoom-image:hover .zoom-mark,.zoom-image:focus-visible .zoom-mark{opacity:1}.gallery-caption{font-size:15px;color:var(--gray);margin-top:12px}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.posts-grid img{width:100%;height:auto}.video-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;background:var(--ink);color:white;padding:60px 8%}.video-panel video{width:100%;max-height:650px;background:var(--ink)}.video-panel h2{max-width:10ch}.video-panel p{font-size:22px;color:var(--cream);margin-top:24px}.story-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:680px;margin:auto}.case-next{padding:60px 0;border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:30px}.case-next .eyebrow{margin-bottom:16px}.case-next a{font:700 clamp(30px,4vw,60px)/1.1 var(--serif);text-decoration:none}.case-next a:hover{color:var(--red)}.band-white{background:var(--white)}
/* Complete, progressively enhanced manual reader */
.reader-heading{padding:40px 0 35px}.reader-heading .back{margin-bottom:28px}.reader-heading h1{font-size:clamp(44px,5vw,76px)}.reader-heading .section-head{margin:0;align-items:center}.reader-heading p{font-size:18px;margin-top:14px}.reader-toolbar{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--ink);flex-wrap:wrap}.reader-controls{display:flex;gap:14px;align-items:center}.icon-button{border:1px solid var(--ink);background:var(--cream);color:var(--ink);min-width:46px;min-height:46px;padding:8px 14px;font:20px var(--sans)}.icon-button:hover:not(:disabled){background:var(--ink);color:var(--white)}.icon-button:disabled{opacity:.35;cursor:default}.page-select{border:1px solid var(--ink);background:var(--white);color:var(--ink);padding:10px;min-height:46px;max-width:200px;font-size:17px}.reader-stage{background:var(--ink);padding:24px;min-height:250px;display:flex;align-items:center;justify-content:center}.reader-stage button{max-width:1400px}.reader-stage img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.reader-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;font-size:16px}.reader-transcript{margin-bottom:40px}.reader-transcript summary{font-size:18px}.reader-transcript p{white-space:pre-line;font-size:18px;max-width:90ch}.reader-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;padding:24px 0 50px}.reader-thumb{background:none;border:1px solid transparent;padding:4px;color:var(--ink);text-align:left}.reader-thumb img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--white)}.reader-thumb span{font-size:14px;display:block;margin-top:6px}.reader-thumb[aria-current=true]{border-color:var(--red);color:var(--red)}.reader-thumb:hover{border-color:var(--ink)}[hidden]{display:none!important}.lightbox{padding:60px 20px 22px;border:0;background:var(--ink);color:white;width:min(1480px,96vw);max-width:96vw;max-height:96dvh}.lightbox::backdrop{background:#000c}.lightbox img{max-height:calc(96dvh - 140px);max-width:100%;margin:auto;object-fit:contain;width:auto}.lightbox .close{position:absolute;top:12px;right:18px;background:none;border:1px solid #ffffff70;padding:8px 16px;color:white;font-size:16px}.lightbox p{margin:16px auto 0;text-align:center;font-size:16px;max-width:85ch}.lightbox .close:focus-visible{outline-color:white}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .65s both}.hero-art{animation:arrive .8s .1s both}.reveal-ready{opacity:0;transform:translateY(15px);transition:opacity .6s,transform .6s}.reveal-ready.revealed{opacity:1;transform:none}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
@media(min-width:1700px){.hero{padding-top:80px}.hero-copy{padding-bottom:90px}}
@media(max-width:1100px){.hero-grid{gap:30px}.hero-intro{font-size:21px}.hero-photo img{aspect-ratio:1}.nav{gap:22px}.service-row{grid-template-columns:40px 1fr 1.15fr;gap:20px}.section{padding-block:80px}.about,.faq-grid,.case-story{gap:45px}.mey-composition{padding:40px 5%;gap:25px}.case-visual .magnifica-composition{padding-inline:9%}.video-panel{gap:40px}.reader-thumbs{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){html{scroll-padding-top:90px}body{font-size:19px}.site-header{height:82px}.brand img{width:138px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:81px;left:0;right:0;padding:26px var(--gutter) 40px;background:var(--cream);border-bottom:1px solid var(--ink);box-shadow:0 24px 30px #00000015;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav>a{font-size:23px;padding:17px 0;border-bottom:1px solid var(--line)}.nav .nav-contact{margin-top:15px}.hero{padding-top:30px}.hero-grid{grid-template-columns:1fr;gap:5px}.hero-copy{padding-bottom:18px}.hero-copy .eyebrow{font-size:12px;margin-bottom:20px}.hero h1{font-size:clamp(61px,12.5vw,92px);max-width:10ch}.hero-intro{font-size:21px;margin-top:22px;max-width:40ch}.hero-art{padding:20px 0 38px;max-width:600px;width:100%}.hero-art::before{top:10px;left:20%}.hero-photo img{aspect-ratio:1.7;object-position:50% 50%}.hero-photo figcaption{font-size:13px;max-width:90%;padding:9px 12px}.hero-foot{margin-top:25px;padding-block:20px;font-size:12px}.hero-foot>span:nth-child(2){display:none}.actions{gap:20px;margin-top:25px}.button{font-size:17px;padding:15px 20px;gap:20px}.text-link{font-size:17px}.section{padding-block:60px}.section-head{display:block;margin-bottom:32px}.section-head h2{font-size:44px;max-width:15ch}.section-head>p{margin-top:22px;font-size:19px;max-width:42ch}.section-head .eyebrow{margin-bottom:16px}.work-grid{grid-template-columns:1fr;gap:40px}.work-card:first-child{grid-column:auto}.work-info h3{font-size:30px}.work-info p{font-size:16px}.mey-composition{aspect-ratio:1.3;gap:17px;padding:30px 6%;grid-template-columns:1.25fr .7fr}.work-info{gap:15px}.work-arrow{width:40px;height:40px}.magnifica-composition{padding:32px 8%}.service-row{grid-template-columns:32px 1fr;padding:28px 0;gap:16px}.service-row h3{font-size:32px;max-width:none}.service-row>div{grid-column:2}.service-row p{font-size:19px}.service-foot{display:block}.service-foot a{margin-top:22px}.manuals-grid{grid-template-columns:1fr;gap:32px}.manual-card figure{padding:20px}.manual-card .work-info{padding-bottom:0}.steps{grid-template-columns:1fr 1fr;gap:32px 24px}.step h3{font-size:27px;margin:20px 0 14px}.step p{font-size:18px}.about{grid-template-columns:1fr;gap:35px}.about p{font-size:21px}.about-visual img{aspect-ratio:1.4}.faq{padding-top:0}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-heading h2{font-size:44px;max-width:13ch}.faq-heading .eyebrow{margin-bottom:15px}summary{font-size:21px}details>p{font-size:19px}.contact{padding:60px 0}.contact-layout{grid-template-columns:1fr;gap:30px}.contact h2{font-size:72px;max-width:9ch}.contact p{font-size:21px}.contact .fold{width:70%;right:-25%}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:25px}.footer-logo img{width:155px}.footer-links{gap:18px;font-size:16px}.footer-bottom{gap:12px;margin-top:30px}.case-intro{padding:25px 0 35px}.back{margin-bottom:35px}.case-heading{grid-template-columns:1fr;gap:25px}.case-heading h1{font-size:65px}.case-heading p{font-size:21px}.case-meta{gap:18px;grid-template-columns:1fr;margin-top:30px}.case-meta>div{display:grid;grid-template-columns:90px 1fr;gap:15px}.case-meta dt{margin:3px 0 0}.case-visual .mey-composition{aspect-ratio:1.35}.case-visual .pliegue-composition{aspect-ratio:1.5;padding:35px 7%}.case-visual .magnifica-composition{aspect-ratio:1.35;padding:25px 6%;gap:14px;grid-template-columns:1fr 1fr}.case-visual .magnifica-composition>img:last-child{display:none}.case-story{grid-template-columns:1fr;gap:25px}.case-story h2{font-size:44px;max-width:13ch}.case-story p{font-size:21px}.case-gallery,.case-gallery.three{grid-template-columns:1fr;gap:25px}.posts-grid{grid-template-columns:1fr 1fr;gap:18px}.posts-grid>figure:last-child:nth-child(odd){grid-column:1/-1;max-width:70%;margin:auto}.video-panel{grid-template-columns:1fr;gap:35px;padding:35px 24px}.video-panel video{max-height:520px}.video-panel h2{font-size:44px;max-width:12ch}.video-panel p{font-size:20px}.case-next{padding:40px 0}.case-next a{font-size:35px}.reader-heading{padding:28px 0}.reader-heading .section-head .button{margin-top:24px}.reader-heading h1{font-size:45px}.reader-toolbar{gap:16px}.reader-controls{gap:8px}.reader-toolbar .text-link{font-size:16px}.page-select{max-width:165px;font-size:16px}.reader-stage{padding:8px;min-height:0;margin-inline:calc(-1 * var(--gutter))}.reader-bottom{font-size:14px;gap:12px}.reader-bottom>span:last-child{max-width:20ch;text-align:right}.reader-thumbs{grid-template-columns:repeat(3,1fr);gap:12px}.lightbox{padding:62px 8px 18px}.lightbox img{max-height:calc(95dvh - 155px)}}
@media(max-width:380px){.hero h1{font-size:57px}.hero-intro{font-size:20px}.hero .actions{gap:12px}.hero .button{padding:14px 16px}.hero .text-link{font-size:16px;gap:12px}.steps{grid-template-columns:1fr}.posts-grid{grid-template-columns:1fr}.posts-grid>figure:last-child:nth-child(odd){max-width:none}.contact h2{font-size:64px}.case-heading h1{font-size:58px}.reader-controls{gap:6px}.page-select{max-width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}
@media(min-width:761px){.hero h1{max-width:none;font-size:clamp(58px,6.4vw,104px)}.hero h1 span{white-space:nowrap}.hero-photo img{aspect-ratio:auto;object-fit:contain}.hero-copy{padding-bottom:45px}.hero-art{padding-block:40px 58px}}
@media(max-width:760px){body:not(.js-enabled) .site-header{height:auto;position:relative}body:not(.js-enabled) .header-inner{flex-wrap:wrap;padding-block:12px}body:not(.js-enabled) .nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;box-shadow:none;padding:0;border:0;gap:15px}body:not(.js-enabled) .nav a{font-size:16px;padding:5px 0}body:not(.js-enabled) .nav .nav-contact{margin:0}}
.section-head .eyebrow,.case-heading .eyebrow,.case-story .eyebrow,.about .eyebrow,.video-panel .eyebrow{font-size:13px;line-height:1.3;letter-spacing:.13em}
.services .eyebrow{color:var(--cream)}
.hero-photo img{aspect-ratio:auto;height:auto;object-fit:contain}
.case-heading>*{min-width:0}.case-heading h1.long-title{font-size:clamp(46px,6vw,96px)}
@media(max-width:760px){.case-heading h1.long-title{font-size:clamp(40px,12vw,65px)}}
.lightbox-stage{max-height:calc(96dvh - 150px);overflow:auto;overscroll-behavior:contain}.lightbox.is-zoomed .lightbox-stage img{width:1600px;max-width:none;max-height:none;margin:0}.lightbox .magnify{position:absolute;top:12px;left:18px;background:none;border:1px solid #ffffff70;padding:8px 16px;color:white;font-size:16px}
@media(max-width:380px){.reader-controls{display:grid;width:100%;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.reader-controls label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.reader-controls .icon-button{min-width:44px;padding:8px}.reader-controls .page-select{max-width:none;width:100%;padding:10px 5px}}
@media print{.site-header,.site-footer,.contact,.menu-toggle,.reader-toolbar,.reader-thumbs,.reader-bottom,.reader-transcript,.actions,.case-next{display:none!important}body{background:white;color:black}a{text-decoration:none}.section{padding-block:35px}.reader-stage{background:white;padding:0}.reveal-ready{opacity:1;transform:none}}
/* Expressive motion built around the fold, with the official logo intact. */
.hero-art::before{display:none}.hero-art{padding:12px 0 42px}.brand-stage{display:flex;position:relative;isolation:isolate;align-items:center;justify-content:center;width:100%;aspect-ratio:1.12;background:var(--red);overflow:hidden;text-decoration:none}.brand-plane{position:absolute;width:110%;aspect-ratio:1/.6;clip-path:polygon(0 0,100% 0,0 100%);pointer-events:none;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.plane-one{background:var(--deep);top:0;left:0;transform:translate(-16%,-15%)}.plane-two{background:var(--ink);bottom:0;right:0;transform:rotate(180deg) translate(-25%,-20%)}.plane-three{background:var(--deep);bottom:0;left:0;transform:rotate(180deg) translate(44%,-57%)}.hero-brand{position:relative;width:78%;height:auto;z-index:1}.brand-stage-link{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;color:white;font-size:15px;z-index:2}.brand-stage-link span{transition:transform .4s}.brand-stage:is(:hover,:focus-visible) .plane-one{transform:translate(-5%,-5%)}.brand-stage:is(:hover,:focus-visible) .plane-two{transform:rotate(180deg) translate(-8%,-8%)}.brand-stage:is(:hover,:focus-visible) .plane-three{transform:rotate(180deg) translate(28%,-40%)}.brand-stage:is(:hover,:focus-visible) .brand-stage-link span{transform:translate(4px,-4px)}
.work-card>.work-info{padding:0 0 24px}.work-card .work-image img{transition:transform .85s cubic-bezier(.2,.7,.2,1)}.work-card:is(:hover,:focus-visible) .manual-cover{transform:rotate(-1deg) translateX(2%) scale(1.025)}.work-card:is(:hover,:focus-visible) .mey-post{transform:rotate(1deg) translateX(-4%) scale(1.04)}.work-card:is(:hover,:focus-visible) .magnifica-composition img:first-child{transform:translateY(0) rotate(-2deg) scale(1.03)}.work-card:is(:hover,:focus-visible) .magnifica-composition img:last-child{transform:translateY(0) rotate(2deg) scale(1.03)}.work-card:is(:hover,:focus-visible) .pliegue-composition img{transform:scale(1.045)}.work-arrow{transition:background .3s,color .3s,transform .4s}.work-card:is(:hover,:focus-visible) .work-arrow,.manual-card:is(:hover,:focus-visible) .work-arrow{background:var(--ink);color:white;transform:rotate(-6deg)}.work-info h3{transition:color .3s}.work-card:is(:hover,:focus-visible) h3{color:var(--red)}
.button,.icon-button,.menu-toggle{transition:background .3s,color .3s,transform .25s,box-shadow .3s}.button:hover{transform:translateY(-3px);box-shadow:0 5px 0 var(--ink)}.button:active,.icon-button:active,.menu-toggle:active{transform:translateY(1px) scale(.98);box-shadow:none}.arrow{display:inline-block;transition:transform .35s}.button:is(:hover,:focus-visible) .arrow,.text-link:is(:hover,:focus-visible) .arrow,.nav-contact:hover .arrow{transform:translate(4px,-4px)}.text-link{transition:color .3s,gap .35s}.text-link:hover{gap:34px}.nav a[aria-current=location]::after{transform:scaleX(1)}.site-header::after{content:'';position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--red);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
.service-row{position:relative;transition:padding .4s,background .4s}.service-row::before,.step::before{content:'';position:absolute;height:3px;background:var(--red);top:-1px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .65s}.service-row:hover::before,.step:hover::before{transform:scaleX(1)}.service-row:hover{padding-left:12px;background:#ffffff05}.service-number{transition:transform .4s}.service-row:hover .service-number{transform:translateX(5px)}.step{position:relative}.step h3{transition:transform .4s,color .4s}.step:hover h3{transform:translateY(-4px);color:var(--red)}.manual-card:is(:hover,:focus-visible) figure img{transform:translateY(-7px) rotate(-1.5deg) scale(1.02)}.manual-card figure img{transition:transform .6s}.zoom-image{overflow:hidden}.zoom-image img{transition:transform .65s}.zoom-image:is(:hover,:focus-visible) img{transform:scale(1.025)}.zoom-image .zoom-mark{transition:opacity .3s,transform .4s;transform:translate(-5px,5px)}.zoom-image:is(:hover,:focus-visible) .zoom-mark{transform:none}.reader-stage .zoom-image img{transform:none}.case-next a{display:inline-block;transition:color .3s,transform .4s}.case-next a:hover{transform:translateX(10px)}summary{transition:color .3s,padding-left .3s}summary:hover{color:var(--red);padding-left:8px}.footer-links a{transition:opacity .3s}.footer-links:has(a:hover) a:not(:hover){opacity:.55}
@media(prefers-reduced-motion:no-preference){
.brand-plane{animation:unfold 1.2s cubic-bezier(.2,.7,.2,1) both}.plane-two{animation-delay:.12s}.plane-three{animation-delay:.24s}.hero-brand{animation:brand-arrive 1s .35s both}.motion-enter{transition:opacity .75s cubic-bezier(.2,.7,.2,1),translate .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-enter.is-waiting{opacity:0;translate:0 42px}.motion-enter.is-visible{opacity:1;translate:0 0}.lightbox[open]{animation:dialog-enter .3s both}.lightbox[open]::backdrop{animation:backdrop-enter .3s both}
@keyframes unfold{from{clip-path:polygon(0 0,0 0,0 0)}to{clip-path:polygon(0 0,100% 0,0 100%)}}@keyframes brand-arrive{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}@keyframes dialog-enter{from{opacity:0;translate:0 18px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
}
@media(max-width:760px){.brand-stage{aspect-ratio:1.55}.hero-art{padding:18px 0 12px}.brand-stage-link{bottom:18px;left:20px;right:20px;font-size:13px}.hero-brand{width:73%}.work-card>.work-info{padding-bottom:20px}.motion-enter{transition-delay:0ms}}
@media(prefers-reduced-motion:reduce){.motion-enter.is-waiting{opacity:1;translate:none}.button:hover,.step:hover h3,.case-next a:hover{transform:none}}
/* Shared project and brandbook choreography. */
.back{position:relative;transition:color .3s,translate .35s}.back:hover{translate:-6px 0}.back::after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s}.back:is(:hover,:focus-visible)::after{transform:scaleX(1);transform-origin:left}
.case-meta>div{position:relative}.case-meta dt{transition:color .3s}.case-meta>div:hover dt{color:var(--red)}.case-meta dd{transition:translate .35s}.case-meta>div:hover dd{translate:0 -3px}
.case-visual .work-image>img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.case-visual:hover .mey-composition .manual-cover{transform:rotate(-1deg) translateX(2%) scale(1.025)}.case-visual:hover .mey-composition .mey-post{transform:rotate(1deg) translateX(-3%) scale(1.035)}.case-visual:hover .magnifica-composition>img:first-child{transform:translateY(0) rotate(-2deg)}.case-visual:hover .magnifica-composition>img:nth-child(2){transform:translateY(-10px) scale(1.025)}.case-visual:hover .magnifica-composition>img:last-child{transform:translateY(0) rotate(2deg)}.case-visual:hover .pliegue-composition>img{transform:scale(1.035)}.case-visual .fold{transition:translate .8s}.case-visual:hover .fold{translate:5% 5%}
.case-gallery .zoom-image,.posts-grid .zoom-image,.story-pair .zoom-image{transition:box-shadow .4s,translate .4s}.case-gallery .zoom-image:is(:hover,:focus-visible),.posts-grid .zoom-image:is(:hover,:focus-visible),.story-pair .zoom-image:is(:hover,:focus-visible){translate:0 -5px;box-shadow:0 12px 26px #00000018}.zoom-image .zoom-mark{width:42px;height:42px;transition:opacity .3s,transform .4s,background .3s,color .3s}.zoom-image:is(:hover,:focus-visible) .zoom-mark{background:var(--ink);color:var(--white)}
.video-panel{position:relative}.video-panel video{outline:1px solid #ffffff30;outline-offset:8px;transition:outline-color .4s,outline-offset .4s}.video-panel video:is(:hover,:focus-visible){outline-color:var(--cream);outline-offset:12px}.case-next{position:relative}.case-next::before{content:'';position:absolute;left:0;top:-1px;height:3px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s}.case-next:has(a:hover)::before,.case-next:focus-within::before{transform:scaleX(1)}
.reader-toolbar{position:relative}.page-select{transition:border-color .3s,box-shadow .3s}.page-select:is(:hover,:focus-visible){border-color:var(--red);box-shadow:0 3px 0 var(--red)}.reader-thumb{transition:translate .3s,border-color .3s,background .3s}.reader-thumb:hover{translate:0 -4px;background:var(--white)}.reader-thumb[aria-current=true]{border-width:2px;background:var(--white)}.lightbox .close,.lightbox .magnify{transition:background .25s,transform .25s}.lightbox .close:hover,.lightbox .magnify:hover{background:var(--red);transform:translateY(-2px)}.lightbox .magnify[aria-pressed=true]{background:var(--red)}
@media(prefers-reduced-motion:no-preference){
.case-intro .back,.reader-heading .back{animation:project-arrive .6s both}.case-heading .eyebrow{animation:project-arrive .65s .08s both}.case-heading h1{animation:project-arrive .8s .16s both}.case-heading>p{animation:project-arrive .8s .27s both}.case-meta>div{animation:project-arrive .75s .35s both}.case-meta>div:nth-child(2){animation-delay:.44s}.case-meta>div:nth-child(3){animation-delay:.53s}.reader-heading h1{animation:project-arrive .8s .12s both}.reader-heading .section-head p,.reader-heading .button{animation:project-arrive .8s .22s both}
.case-visual .work-image{animation:project-curtain 1.1s .2s both}.case-visual.is-visible .work-image{animation:project-curtain 1s both}.case-visual.is-waiting .work-image{animation:none}.case-gallery>figure.motion-enter,.posts-grid>figure.motion-enter{transition-duration:.9s}.case-gallery>figure.is-waiting:nth-child(odd),.posts-grid>figure.is-waiting:nth-child(odd){translate:-24px 35px}.case-gallery>figure.is-waiting:nth-child(even),.posts-grid>figure.is-waiting:nth-child(even){translate:24px 35px}
@keyframes project-arrive{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}@keyframes project-curtain{from{clip-path:inset(0 0 12% 0);opacity:.35}to{clip-path:inset(0);opacity:1}}
}
@media(prefers-reduced-motion:reduce){.case-gallery>figure.is-waiting,.posts-grid>figure.is-waiting{translate:none}.case-gallery .zoom-image:hover,.posts-grid .zoom-image:hover,.story-pair .zoom-image:hover,.reader-thumb:hover,.back:hover{translate:none}}



.direction-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}.back>.direction-icon{align-self:center}.zoom-mark .direction-icon{width:20px;height:20px}.icon-button .direction-icon{vertical-align:middle}

/* Chef Calem */
.calem-composition{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:32px}
.calem-composition>img{width:auto;height:100%;max-width:100%;object-fit:contain}
.case-visual .calem-composition{aspect-ratio:auto;padding:40px var(--gutter)}
.case-visual .calem-composition .zoom-image{width:min(100%,620px)}
.work-card:has(.calem-composition){grid-column:1/-1}
.work-card .calem-composition{aspect-ratio:2.14}
@media(max-width:760px){.work-card:has(.calem-composition){grid-column:auto}.work-card .calem-composition{aspect-ratio:1.2}.calem-composition{padding:20px}}

.calem-social-gallery{max-width:860px;margin-inline:auto;gap:40px}.calem-social-gallery .zoom-image{border:1px solid var(--line);overflow:hidden;border-radius:18px}.calem-social-gallery img{display:block;width:100%;height:auto}@media(max-width:760px){.calem-social-gallery{max-width:400px;gap:32px}}
/* Lightbox: fit images without clipping and keep a light loading surface. */
.lightbox{background:#f4f1ec;color:#171717;overflow:hidden}
.lightbox-stage{height:calc(96dvh - 170px);max-height:none;overflow:auto;display:grid;align-items:center;justify-items:center}
.lightbox-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(96dvh - 170px);margin:0;object-fit:contain}
.lightbox .close,.lightbox .magnify{color:#171717;border-color:#777;background:#fff}
.lightbox .close:hover,.lightbox .magnify:hover,.lightbox .magnify[aria-pressed=true]{color:#fff}
.lightbox.is-zoomed .lightbox-stage{display:block}
.lightbox.is-zoomed .lightbox-stage img{width:1600px;height:auto;max-width:none;max-height:none}
.lightbox[aria-busy=true] .lightbox-stage::before{content:'Cargando imagen…';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:12px 20px;background:#fff;color:#171717}
@media(max-width:760px){.lightbox-stage{height:calc(95dvh - 190px)}.lightbox-stage img{max-height:calc(95dvh - 190px)}}
