:root{--paper:#faf8f3;--ink:#302b25;--muted:#756b60;--line:#ddd6cb;--sand:#ece7de;--accent:#7b6344}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}em{font-family:Newsreader,Georgia,serif;font-weight:400}button{font:inherit;color:inherit}p{line-height:1.65}.wrap{width:min(1440px,calc(100% - 88px));margin:auto}.preview{display:flex;justify-content:space-between;padding:8px 44px;background:var(--sand);color:var(--muted);font-size:9px}.preview>a{text-decoration:underline}header{height:106px;display:flex;justify-content:space-between;align-items:center}.brand{width:240px}nav{display:flex;gap:34px;font-size:12px;align-items:center}nav sup{font-size:8px}nav a:last-child{border-bottom:1px solid var(--ink);padding:10px 0}nav span{margin-left:25px}.intro{border-top:1px solid var(--line);padding-top:20px}.intro-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em}h1{font-size:clamp(65px,10.8vw,163px);font-weight:500;letter-spacing:-.075em;line-height:1.03;margin:26px 0 20px}h1 em{color:var(--accent);letter-spacing:-.06em}.intro-bottom{display:flex;justify-content:space-between;align-items:end;padding-bottom:35px}.intro-bottom p{font-size:13px;color:var(--muted)}.intro-bottom a{font-size:11px;border-bottom:1px solid var(--ink);padding:10px 0;min-width:150px;display:flex;justify-content:space-between}.feature-art{position:relative;display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:20px;background:#092a25;padding:30px 50px;overflow:hidden}.feature-panel{display:flex;align-items:center;justify-content:center;min-width:0}.feature-panel img{width:100%;height:clamp(260px,31vw,470px);object-fit:contain;transition:transform .65s}.feature-art:hover .centerpiece img{transform:translateY(-5px)}.feature-panel.detail{padding:27px 0}.feature-panel.card{padding:40px 0}.feature-cta{position:absolute;bottom:24px;right:25px;background:var(--paper);border-radius:50px;padding:14px 19px;display:flex;gap:35px;font-size:11px}.feature-cta b{font-size:16px;font-weight:400}.feature-caption{display:flex;justify-content:space-between;align-items:start;gap:30px;padding:20px 0;border-bottom:1px solid var(--line)}.feature-caption>span{font-size:8px;letter-spacing:.1em;padding-top:5px}.feature-caption h2{font-size:19px;font-weight:500;margin-right:auto;letter-spacing:-.025em}.feature-caption small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:7px}.position{padding:100px 0 90px;display:grid;grid-template-columns:1fr 2fr;gap:28px}.eyebrow{font-size:9px;letter-spacing:.12em}.position>p{font-size:clamp(25px,3.1vw,45px);letter-spacing:-.035em;line-height:1.2}.position>div{grid-column:2;font-size:12px;color:var(--muted);line-height:1.7}.section-top{border-top:1px solid var(--line);padding:28px 0 38px;display:flex;justify-content:space-between;align-items:center;gap:20px}.section-top h2{font-size:21px;font-weight:500;letter-spacing:-.035em}.section-top h2>span{font-size:11px;vertical-align:top;margin-left:5px}.filters{display:flex;gap:22px}.filters button{border:0;background:none;padding:6px 0;font-size:11px;color:var(--muted);cursor:pointer}.filters button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 32px;align-items:start}.project:nth-child(even){margin-top:100px}.art{background:var(--sand);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:1.25}.art>img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.art.portrait{aspect-ratio:1.05;background:#0c302a;padding:22px}.art.portrait>img{max-height:100%;width:auto}.p-risplendi .art{background:#e4e9d8}.p-revolution-fit .art{background:#171717}.p-alexandra .art{background:#e9e4dc}.p-oroterra .art{background:#f4eee5}.project:hover .art>img{transform:scale(1.015)}.project-arrow{position:absolute;bottom:18px;right:18px;background:var(--paper);border-radius:50%;display:grid;place-items:center;width:40px;height:40px;font-size:18px}.project-meta{display:flex;align-items:start;gap:18px;padding-top:20px}.index{font-size:9px;color:var(--muted);padding-top:6px}.project-meta h3{font-size:23px;font-weight:500;letter-spacing:-.04em}.project-meta p{font-size:11px;color:var(--muted);margin-top:7px}.category{font-size:8px;margin-left:auto;padding-top:8px;text-align:right;max-width:100px;line-height:1.5}.archive{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:25px 0;margin:50px 0 90px;font-size:12px}.profile{background:var(--sand);padding:80px 0}.profile-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.profile-image{padding-right:70px}.profile-image img{width:100%;max-width:300px;filter:saturate(.7)}.profile-copy h2{font-size:clamp(30px,3.7vw,54px);font-weight:500;letter-spacing:-.04em;line-height:1.15;margin:25px 0}.profile-copy>p{font-size:14px;color:var(--muted);max-width:520px}.profile-copy>a{display:inline-block;font-size:12px;border-bottom:1px solid var(--ink);padding:10px 0;margin-top:20px}.services{margin-top:45px}details{border-top:1px solid #d0c7ba}summary{display:flex;gap:20px;align-items:center;list-style:none;cursor:pointer;padding:20px 0;font-size:17px}summary::-webkit-details-marker{display:none}summary>small{font-size:9px;color:var(--muted)}summary>span{margin-left:auto}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:12px;color:var(--muted);padding:0 30px 23px}.contact{padding:80px 0}.contact-title{display:block;position:relative;font-size:clamp(58px,8.5vw,130px);font-weight:500;line-height:1.07;letter-spacing:-.06em;margin:28px 0 35px}.contact-title em{color:var(--accent)}.contact-title>span{position:absolute;top:0;right:0}.contact-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;font-size:13px}footer{display:flex;gap:30px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:28px 0;font-size:10px;color:var(--muted)}footer img{width:190px}footer>div{display:flex;gap:22px}.skip{position:absolute;top:-100px;z-index:5}.skip:focus{top:0;padding:15px;background:white}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.project-grid.filtered .project{margin-top:0}
@keyframes entrance{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}.intro h1{animation:entrance .7s both}.feature-panel{animation:entrance .8s both}.feature-panel:nth-child(2){animation-delay:.1s}.feature-panel:nth-child(3){animation-delay:.2s}
@media(max-width:900px){.wrap{width:calc(100% - 44px)}.preview{padding:8px 22px}.brand{width:210px}.feature-art{padding:20px;gap:12px}.feature-caption>span:last-child{display:none}.position{grid-template-columns:1fr 2fr;padding:65px 0}.profile-grid{gap:40px}.profile-image{padding:0}.category{display:none}.project-meta h3{font-size:22px}footer img{display:none}}
@media(max-width:600px){header{height:88px}.brand{width:170px}nav{gap:17px;font-size:10px}nav>a:nth-child(2),nav sup{display:none}nav span{margin-left:8px}.intro-top{font-size:8px}.intro-top>span:last-child{display:none}h1{font-size:65px;line-height:.98;margin:26px 0;letter-spacing:-.065em}h1 em{display:block;font-size:1.15em}.intro-bottom p{font-size:11px}.intro-bottom a{font-size:10px;min-width:118px}.feature-art{grid-template-columns:1fr 1.1fr;padding:20px 15px 65px;gap:10px}.feature-panel.detail{display:none}.feature-panel img{height:260px;max-height:none}.feature-panel.card{padding:0}.feature-cta{bottom:15px;right:15px;padding:12px 15px;font-size:10px;gap:24px}.feature-caption{gap:20px;padding:17px 0}.feature-caption>span{font-size:7px;max-width:70px;line-height:1.6}.feature-caption h2{font-size:18px}.position{display:block;padding:55px 0}.position>p{font-size:29px;margin:20px 0}.position>div{font-size:11px}.section-top{display:block;padding:25px 0}.section-top h2{font-size:23px}.filters{margin-top:20px;gap:24px}.project-grid{display:block}.project{display:block;margin:0 0 35px!important}.art,.art.portrait{aspect-ratio:1.12}.art.portrait{padding:14px}.project-meta{gap:12px;padding-top:16px}.project-meta h3{font-size:23px}.project-meta p{font-size:11px}.category{display:none}.archive{margin:15px 0 45px}.profile{padding:45px 0}.profile-grid{grid-template-columns:1fr;gap:28px}.profile-image img{width:120px}.profile-copy h2{font-size:34px}.profile-copy>p{font-size:13px}.contact{padding:50px 0}.contact-title{font-size:57px}.contact-title>span{font-size:36px}.contact-bottom{font-size:11px}footer{flex-wrap:wrap;gap:20px;padding:25px 0}footer>div{gap:20px}.feature-panel img{object-fit:contain}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(max-width:600px){nav>a[href="#profilo"]{display:none}nav>a[href="servizi.html"]{display:none}}
.profile-links{display:flex;gap:25px;margin-top:20px}.profile-links a{font-size:12px;border-bottom:1px solid var(--ink);padding:10px 0}.services>.eyebrow{display:block;margin-bottom:20px}.services details p a{display:block;width:fit-content;margin-top:12px;color:var(--ink);border-bottom:1px solid var(--line)}.profile-image{position:relative}.profile-image img{border-radius:140px 140px 4px 4px;filter:saturate(.8);transition:filter .6s,transform .6s}.profile-image:hover img{filter:saturate(1);transform:translateY(-4px)}.contact-invite{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 35px}.contact-invite p{font-size:13px;color:var(--muted)}.contact-invite button{border:1px solid var(--ink);border-radius:40px;background:transparent;padding:17px 24px;font:500 12px Manrope,Arial,sans-serif;cursor:pointer;transition:background .2s,color .2s}.contact-invite button:hover{background:var(--ink);color:var(--paper)}.project-arrow{transition:transform .35s,background .35s,color .35s}.project:hover .project-arrow{transform:rotate(45deg);background:var(--ink);color:var(--paper)}.reveal-ready.is-seen{animation:section-reveal .75s cubic-bezier(.2,.6,.3,1) both}@keyframes section-reveal{from{opacity:.65;transform:translateY(22px)}to{opacity:1;transform:none}}@media(max-width:600px){.contact-invite{align-items:start;flex-direction:column}.profile-image img{width:160px}.services summary{font-size:16px;gap:12px}}@media(prefers-reduced-motion:reduce){.reveal-ready.is-seen{animation:none}.profile-image:hover img,.project:hover .project-arrow{transform:none}}
.profile-copy>.profile-proof{font-size:10px;letter-spacing:.04em;border-top:1px solid #d0c7ba;padding-top:17px;margin-top:22px;color:var(--ink)}
.small-work{padding:0 0 90px}.small-work-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.small-work h2{font-size:clamp(34px,4vw,57px);font-weight:500;line-height:1.1;letter-spacing:-.04em;margin-top:20px}.small-work-heading>p{font-size:12px;color:var(--muted)}.small-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.small-project-image{border:0;padding:18px;width:100%;aspect-ratio:1.15;background:var(--sand);position:relative;cursor:zoom-in;display:flex;align-items:center;justify-content:center}.small-project-image img{width:100%;height:100%;object-fit:contain;transition:transform .4s}.small-project-image:hover img{transform:scale(1.025)}.small-project-image>span{position:absolute;right:12px;bottom:12px;background:var(--paper);width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.small-project-caption{padding:20px 0}.small-project-caption>span{font-size:8px;letter-spacing:.09em;color:var(--muted)}.small-project h3{font-size:23px;font-weight:500;letter-spacing:-.03em;margin:8px 0}.small-project p{font-size:12px;color:var(--muted)}.client-feedback{padding:85px 0 30px}.feedback-heading h2{font-size:clamp(30px,3.7vw,51px);font-weight:500;letter-spacing:-.04em;margin:18px 0 35px}.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.feedback-grid figure{margin:0;padding:28px 0;border-top:1px solid var(--line)}.feedback-grid blockquote{margin:0}.feedback-grid blockquote p{font:400 clamp(21px,2vw,29px)/1.45 Newsreader,Georgia,serif;letter-spacing:-.01em}.feedback-grid figcaption{display:flex;align-items:center;gap:14px;margin-top:28px;font-size:11px}.feedback-grid figcaption strong{font-weight:600}.feedback-grid figcaption span{color:var(--muted)}.archive-lightbox{width:min(1100px,95vw);max-height:94dvh;background:var(--paper);border:1px solid var(--line);padding:20px;color:var(--ink)}.archive-lightbox::backdrop{background:#201b16bb}.archive-lightbox>button{display:block;margin:0 0 15px auto;background:none;border:0;padding:10px;cursor:pointer}.archive-lightbox img{width:100%;height:72dvh;object-fit:contain}.archive-lightbox>p{font-size:12px;margin-top:15px}@media(max-width:700px){.small-work{padding-bottom:45px}.small-work-heading{display:block}.small-work-heading>p{margin-top:20px}.small-work-grid{grid-template-columns:1fr;gap:15px}.small-project-image{aspect-ratio:1.3}.client-feedback{padding-top:45px}.feedback-grid{grid-template-columns:1fr;gap:5px}.archive-lightbox img{height:65dvh}}
.small-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plumitas-logo{background:#302b2e}.p-vecchia-roma .art{background:#f2e9e5;padding:20px}.p-la-fonte-del-benessere .art{background:#e4e6d9}@media(max-width:700px){.small-work-grid{grid-template-columns:1fr}}
/* Card audit: preserve artwork proportions and keep labels clear at every width. */
.art{aspect-ratio:4/3}.art>img{width:100%;height:100%;object-fit:contain}.art.portrait{aspect-ratio:4/3;padding:16px}.p-oruga-beach .art{background:#eee9df;padding:clamp(30px,5vw,75px)}.p-oruga-beach .art>img{max-width:375px;height:auto}.p-vecchia-roma .art{background:#f2e8df;padding:18px}.p-vecchia-roma .art>img{width:auto;max-width:100%;height:100%;object-fit:contain}.p-revolution-fit .art{background:#050505}.project-meta>div{min-width:0}.project-meta h3{font-size:clamp(20px,2vw,27px);line-height:1.2}.project-meta p{line-height:1.6}.category{max-width:110px;flex-shrink:0}.small-project-image{aspect-ratio:4/3}.small-project-image img{object-fit:contain}.project-grid{gap:60px 32px}.project:nth-child(even){margin-top:60px}@media(max-width:700px){.project-grid{display:grid;grid-template-columns:1fr;gap:30px}.project{margin:0!important}.art,.art.portrait{aspect-ratio:4/3}.p-oruga-beach .art{padding:35px}.project-meta{padding-top:15px}.project-meta h3{font-size:24px}.project-meta p{font-size:12px}.small-project-image{aspect-ratio:4/3}.filters{gap:16px;flex-wrap:wrap}.intro-bottom{gap:15px}.contact-title{font-size:clamp(45px,10vw,65px)}.contact-bottom{gap:18px;flex-wrap:wrap}.profile-grid{min-width:0}footer{padding-bottom:90px}}@media(min-width:701px) and (max-width:900px){.project-meta{gap:10px}.project-meta h3{font-size:21px}}
.rail-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0 0;font-size:12px;color:var(--muted)}.rail-controls>div{display:flex;gap:8px}.rail-controls button{width:44px;height:44px;border:0;border-radius:50%;background:var(--sand);cursor:pointer;font-size:19px}.rail-controls button:disabled{opacity:.3;cursor:default}.project-rail-controls{display:none}.small-work{padding-top:30px!important;padding-bottom:55px!important}.small-work-heading{margin-bottom:22px!important}.small-work-heading h2{font-size:clamp(28px,3.3vw,42px)!important}.small-work-grid{display:flex!important;gap:18px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:10px}.small-project{flex:0 0 250px;min-width:0;scroll-snap-align:start}.small-project-image{aspect-ratio:4/3!important}.small-project-caption{padding-top:13px!important}.small-project-caption h3{font-size:19px!important}.small-project-caption p{font-size:12px!important;max-width:240px}.small-project-caption>span{font-size:9px!important}
@media(max-width:700px){.work .section-top{display:block;padding-bottom:20px}.work .filters{margin-top:20px;gap:22px}.work .project-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:8px}.work .project-grid::-webkit-scrollbar{display:none}.work .project{flex:0 0 86%;min-width:0;scroll-snap-align:start;opacity:1!important;transform:none!important}.work .art,.work .art.portrait{aspect-ratio:4/3}.work .project-meta{gap:10px}.work .project-meta h3{font-size:22px}.work .project-meta p{font-size:12px;line-height:1.55}.project-rail-controls{display:flex}.archive{margin:22px 0 35px;padding:18px 0}.small-work-heading{display:block!important}.small-work-heading p{margin-top:14px!important;font-size:12px}.small-project{flex-basis:200px}.small-project-image{height:150px!important;aspect-ratio:4/3!important}.small-project-caption p{display:none}.small-work{padding-top:10px!important;padding-bottom:35px!important}.small-work-grid{gap:14px!important}.position{padding:50px 0 45px}.profile{padding:48px 0}.client-feedback{padding-top:45px!important;padding-bottom:45px!important}}
/* Clear distinction between selected case studies and supporting work. */
.project-meta>.index{display:none}.p-vecchia-roma .art{padding:0;background:#5b452d}.p-vecchia-roma .art>img{width:100%;height:100%;object-fit:contain}.small-work{border-top:1px solid var(--line);padding-top:25px!important;padding-bottom:38px!important}.small-work-heading{margin-bottom:18px!important}.small-work-heading .eyebrow{font-size:8px}.small-work-heading h2{font-size:24px!important;margin-top:9px}.small-project{flex-basis:180px}.small-project-image{height:135px!important;padding:10px;aspect-ratio:4/3!important}.small-project-caption{padding:9px 0 0!important}.small-project-caption h3{font-size:15px!important;margin:5px 0 0;line-height:1.3}.small-project-caption>span{font-size:8px!important}.small-project-caption p{display:none}.small-work .rail-controls{margin-top:8px;font-size:10px}.small-work .rail-controls button{background:transparent}.small-work .rail-controls>span{color:var(--muted)}@media(max-width:700px){.small-project{flex-basis:154px}.small-project-image{height:116px!important}.small-work-heading h2{font-size:22px!important}.small-work{padding-top:20px!important;padding-bottom:28px!important}.small-work-grid{gap:12px!important}.small-project-caption h3{font-size:14px!important}}

/* Original portrait: full rectangular image, no decorative crop. */
.profile{background:#f6f5ee}.profile-grid{grid-template-columns:1fr 1.15fr;gap:70px;align-items:start}.profile-image{padding:0}.profile-image img{width:100%;max-width:520px;border-radius:0;filter:none;mix-blend-mode:multiply}.profile-image:hover img{filter:none;transform:none}@media(max-width:700px){.profile-grid{grid-template-columns:1fr;gap:32px}.profile-image img{width:100%;max-width:380px;margin:auto}.profile-copy h2{margin-top:18px}.filters button{min-height:44px}.profile-links a,.contact-bottom a{min-height:44px;display:inline-flex;align-items:center}}

/* Compact editorial rails, with fewer competing controls. */
.work .section-top h2>span,header nav sup,.project-arrow,.small-project-image>span{display:none}.work #count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.work{padding-bottom:34px}.project-grid:focus-visible,.small-work-grid:focus-visible,.feedback-grid:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.client-feedback{padding-top:35px!important;padding-bottom:25px!important}.feedback-heading .eyebrow{display:none}.feedback-heading h2{font-size:24px;margin:0 0 18px}.feedback-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px}.feedback-grid figure{flex:0 0 min(420px,75%);min-width:0;scroll-snap-align:start;padding:18px 0 0}.feedback-grid blockquote p{font:400 16px/1.6 Manrope,Arial,sans-serif;letter-spacing:0}.feedback-grid figcaption{margin-top:16px;font-size:11px}.small-work-grid{scrollbar-width:thin}
@media(max-width:700px){.work .project-grid{gap:12px;scrollbar-width:thin}.work .project-grid::-webkit-scrollbar{display:block;height:3px}.work .project{flex:0 0 calc((100% - 12px)/2)}.work .project-meta{padding-top:11px;gap:0}.work .project-meta h3{font-size:16px;line-height:1.3;letter-spacing:-.025em}.work .project-meta p{display:none}.work .art,.work .art.portrait{aspect-ratio:4/3}.work .art.portrait{padding:6px}.work .p-oruga-beach .art{padding:16px}.work .section-top{padding-bottom:15px}.work .filters{margin-top:12px;gap:18px}.feedback-heading h2{font-size:22px}.feedback-grid{gap:18px}.feedback-grid figure{flex-basis:88%;padding-top:14px}.feedback-grid blockquote p{font-size:14px;line-height:1.6}.feedback-grid figcaption{margin-top:14px}.client-feedback{padding-top:30px!important;padding-bottom:20px!important}}
.feedback-grid{max-width:760px}.project-grid::-webkit-scrollbar-button,.small-work-grid::-webkit-scrollbar-button,.feedback-grid::-webkit-scrollbar-button{display:none}

/* Main projects have twice the visual width of supporting work on mobile. */
@media(max-width:700px){.work .project{flex-basis:94%}.work .project-meta h3{font-size:23px}.work .project-meta{padding-top:14px}.small-project{flex-basis:44%}.small-project-image{height:auto!important;aspect-ratio:4/3!important}.small-project-caption h3{font-size:13px!important}}

.service-paths{display:flex;flex-wrap:wrap;gap:12px 30px;padding-bottom:42px}.service-paths a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid var(--line)}@media(max-width:700px){.service-paths{gap:0 18px;padding-bottom:25px}.intro-bottom p{max-width:230px}.intro-top{letter-spacing:.06em}}

.brief-launch{position:fixed;right:24px;bottom:24px;z-index:20;border:1px solid #79674e;background:#302b25;color:#faf8f3;border-radius:40px;padding:17px 22px;font:500 12px Manrope,Arial,sans-serif;cursor:pointer;box-shadow:0 6px 28px #302b2526;transition:transform .2s,background .2s}.brief-launch:hover{transform:translateY(-3px);background:#574936}.brief-dialog{box-sizing:border-box;width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 40px);margin:auto;padding:28px;border:1px solid #d9d0c3;border-radius:18px;background:#faf8f3;color:#302b25;box-shadow:0 24px 100px #0004;font:14px Manrope,Arial,sans-serif;overscroll-behavior:contain}.brief-dialog::backdrop{background:#24201880;backdrop-filter:blur(7px)}.brief-dialog *{box-sizing:border-box}.brief-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;letter-spacing:.09em}.brief-close,.brief-back,.brief-reset{border:0;background:none;font:inherit;cursor:pointer;color:inherit;padding:9px 0}.brief-top .brief-close{font-size:12px;letter-spacing:0}.brief-progress{font-size:10px;color:#756b60;margin:25px 0 10px}.brief-meter{height:2px;background:#e5dfd5;margin-bottom:24px}.brief-meter span{display:block;background:#7b6344;height:100%;transition:width .3s}.brief-dialog h2{font-size:34px;line-height:1.12;font-weight:500;letter-spacing:-.04em;margin:0 0 12px}.brief-dialog h2:focus{outline:none}.brief-hint{font-size:13px;line-height:1.6;color:#756b60;margin:0 0 22px}.brief-choices{border:0;padding:0;margin:0;display:grid;gap:8px}.brief-choice{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d9d0c3;border-radius:8px;cursor:pointer;font-size:13px;transition:background .2s}.brief-choice:has(input:checked){background:#ece7de;border-color:#7b6344}.brief-choice input{accent-color:#7b6344;width:17px;height:17px;flex-shrink:0}.brief-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px;flex-wrap:wrap}.brief-next{display:inline-block;background:#302b25;color:#faf8f3;border:0;padding:15px 18px;border-radius:7px;font:500 12px Manrope,Arial,sans-serif;text-decoration:none;cursor:pointer;margin-left:auto}.brief-back,.brief-reset{font-size:12px}.brief-note{font-size:10px;line-height:1.6;color:#756b60;border-top:1px solid #ddd6cb;padding-top:18px;margin:22px 0 0}.brief-field{display:block;font-size:12px;margin-bottom:18px}.brief-field input,.brief-field textarea{display:block;width:100%;border:1px solid #c6bbad;background:#fffdf9;border-radius:7px;margin-top:8px;padding:12px;color:#302b25;font:14px Manrope,Arial,sans-serif}.brief-field textarea{resize:vertical}.brief-summary{display:grid;grid-template-columns:82px 1fr;gap:12px;font-size:12px;line-height:1.6;margin:0}.brief-summary dt{color:#756b60}.brief-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.brief-dialog [hidden]{display:none!important}.brief-dialog :focus-visible,.brief-launch:focus-visible{outline:2px solid #7b6344;outline-offset:4px}.brief-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body.brief-open{overflow:hidden}.brief-dialog[open]{animation:brief-in .25s ease-out}@keyframes brief-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:600px){.brief-launch{right:14px;bottom:14px;padding:14px 17px;font-size:11px}.brief-dialog{padding:22px;max-height:calc(100dvh - 24px)}.brief-dialog h2{font-size:29px}body>footer{padding-bottom:90px!important}}@media(prefers-reduced-motion:reduce){.brief-dialog,.brief-launch,.brief-meter span,.brief-choice{animation:none!important;transition:none!important}}
.brief-launch{border:0;background:rgba(255,253,249,.94);color:#302b25;border-radius:999px;padding:15px 21px;box-shadow:0 3px 18px #302b251a;backdrop-filter:blur(14px);font-size:13px}.brief-launch:hover{background:#fffdf9;transform:translateY(-2px)}.contact-invite [data-open-brief]{border:0!important;background:#fffdf9!important;color:#302b25!important;border-radius:999px!important;padding:15px 23px!important;box-shadow:0 3px 18px #302b2512}.brief-dialog{border:0}.brief-note{font-size:11px}@media(max-width:600px){.brief-launch{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:14px 19px;font-size:13px}}

.mobile-menu-toggle{display:none}.mobile-site-menu:not([open]){display:none}.site-menu-open{overflow:hidden}.mobile-site-menu{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:24px;background:#faf8f3;color:#302b25;border:0;box-sizing:border-box;z-index:10000;font-family:Manrope,Arial,sans-serif}.mobile-site-menu::backdrop{background:#faf8f3}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.09em}.mobile-menu-close{background:none;border:0;min-height:48px;padding:10px;font:inherit;cursor:pointer;color:inherit}.mobile-site-menu nav{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:55px 0 35px}.mobile-site-menu nav a,.mobile-site-menu nav a:nth-child(2){display:flex!important;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd6cb;padding:20px 0;font-size:clamp(28px,8vw,42px);font-weight:500;text-decoration:none;color:inherit;min-height:64px}.mobile-site-menu nav a span{margin:0;font-size:24px}.mobile-menu-call{display:inline-flex;align-items:center;min-height:48px;font-size:16px;text-decoration:none;color:inherit}.mobile-site-menu :focus-visible,.mobile-menu-toggle:focus-visible{outline:2px solid #7b6344;outline-offset:4px}
@media(max-width:700px){header.wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:12px}header.wrap>nav,header.wrap>a:not(:first-child){display:none!important}header.wrap>a:first-child{max-width:calc(100% - 92px)}header.wrap>a:first-child img{max-width:100%;height:auto}header .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;border:0;background:none;color:inherit;padding:8px 0 8px 8px;min-width:76px;min-height:48px;font:500 12px Manrope,Arial,sans-serif;cursor:pointer}.menu-lines{display:flex;flex-direction:column;gap:6px;width:23px}.menu-lines i{height:1px;width:23px;background:currentColor;display:block}}

/* Final shared presentation and interaction refinements. */
.intro h1{font-size:clamp(64px,8vw,116px);line-height:1.04;letter-spacing:-.055em}.intro-bottom p{font-size:15px;max-width:540px}.intro-bottom a,header nav,.service-paths a{font-size:13px}.intro-top,.eyebrow,.label{font-size:11px}.position{padding:52px 0 36px;gap:18px}.position>div{font-size:14px}.project-meta p{font-size:14px;line-height:1.5}.category{font-size:11px;max-width:140px}.feature-caption>span{font-size:10px}.feature-caption small{font-size:12px}.profile-copy>p{font-size:16px}.profile-copy .profile-proof{font-size:14px;line-height:1.65}.services details>p{font-size:14px}.contact-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.direct-whatsapp,.contact-actions [data-open-brief]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:999px;padding:14px 20px;font:inherit;cursor:pointer}.direct-whatsapp{background:#302b25;color:#faf8f3}.contact-actions [data-open-brief]{background:#eee9df;color:#302b25}.brief-launch{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.project-view-toggle{display:none}.service-examples{max-width:none!important}.service-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-example-grid>a{text-decoration:none}.service-example-grid img{width:100%;height:clamp(200px,25vw,340px);object-fit:contain;background:#eee9df}.service-example-grid h3{font-size:22px;font-weight:500;margin:16px 0 8px}.service-example-grid p{font-size:14px}.image-dialog{box-sizing:border-box;width:min(96vw,1500px);max-width:96vw;max-height:96dvh;padding:64px 0 0;overflow:hidden;margin:auto}.image-tools{position:absolute;top:12px;left:12px;right:105px;display:flex;align-items:center;gap:12px;font:12px Manrope,Arial,sans-serif}.image-tools button,.image-tools a{display:inline-flex;align-items:center;min-height:40px;padding:8px 10px;background:transparent;color:#302b25;border:1px solid #ddd6cb;text-decoration:none;cursor:pointer}.image-dialog>.close,.image-dialog>button{position:absolute;top:12px;right:12px;min-height:40px;padding:8px 12px}.image-viewport{max-height:calc(96dvh - 64px);overflow:auto;overscroll-behavior:contain}.image-viewport img{display:block;width:100%;height:auto;max-height:calc(96dvh - 72px);object-fit:contain;margin:0;max-width:none}.image-viewport.is-zoomed img{width:max(180%,1100px);height:auto;max-height:none;object-fit:initial}.image-dialog>p{display:none}.brief-launch:focus-visible,.project-view-toggle:focus-visible,.contact-actions button:focus-visible,.image-tools a:focus-visible{outline:2px solid #7b6344;outline-offset:4px}
@media(max-width:700px){.intro h1{font-size:clamp(58px,16vw,80px);margin:24px 0}.intro h1 em{display:inline;font-size:1em}.intro-bottom{display:block}.intro-bottom p{font-size:15px;max-width:none}.intro-bottom a{margin-top:15px;max-width:170px}.position{padding:30px 0 22px}.position>p{font-size:26px;margin:14px 0}.position>div{font-size:13px}.service-paths{padding-bottom:18px}.work .project-meta p{display:block;font-size:13px;line-height:1.45;margin-top:7px}.project-view-toggle{display:block;background:none;border:0;border-bottom:1px solid #756b60;padding:10px 0;margin:0 0 18px;min-height:44px;font-size:13px;cursor:pointer}.work .project-grid.show-all-projects{display:grid;grid-template-columns:1fr 1fr;overflow:visible;gap:24px 14px}.work .show-all-projects .project{margin-top:0}.work .show-all-projects .project-meta h3{font-size:18px}.work .show-all-projects .project-meta p{font-size:12px}.profile{padding:34px 0}.profile-image img{max-width:240px}.profile-grid{gap:24px}.profile-copy h2{font-size:32px}.profile-copy>p{font-size:15px}.services{margin-top:25px}.contact-actions{gap:12px}.contact-invite{display:block}.contact-actions button,.direct-whatsapp{font-size:14px}.service-example-grid{gap:26px;grid-template-columns:1fr}.service-example-grid img{height:240px}.image-dialog{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.image-viewport{max-height:calc(100dvh - 64px)}.image-viewport img{max-height:calc(100dvh - 70px)}.image-tools{gap:5px}.image-tools button,.image-tools a{font-size:11px;padding:8px}.brief-launch{padding:12px 17px;font-size:12px}.feature-caption>span{font-size:9px}.feature-caption small{font-size:12px}}
@media(max-width:700px){.brief-launch{left:16px;right:auto}}

/* Readability and a shorter introduction on phones. */
.image-tools button,.image-tools a,.image-dialog>.close{min-height:44px}.small-project-caption{line-height:1.5}.small-project-caption:after{content:"Caso studio ↗";display:block;font-size:12px;margin-top:6px;color:#756b60}.small-project:has(button) .small-project-caption:after{content:"Ingrandisci +"}@media(max-width:700px){.feature-panel img{height:200px}.feature-caption>span{font-size:11px}.position{padding:20px 0 12px}.position>p{font-size:24px;margin:8px 0}.position>div{font-size:14px}.service-paths{padding-bottom:8px}.intro{padding-bottom:24px}.filters button{min-height:44px}.small-project-caption h3{font-size:14px}.work .show-all-projects .project-meta p{font-size:13px}}

/* 29 September 2026: editorial hierarchy, readable artwork and native controls. */
:root { --muted: #6a6054; --motion-ease: cubic-bezier(.2,.7,.3,1); }
html { scroll-padding-block: 32px 96px; }
body { overflow-wrap: break-word; }
:where(a,button,summary,input,textarea):focus-visible {
  outline: 2px solid var(--accent, #7b6344);
  outline-offset: 5px;
}
:where(a,button,summary,input,textarea,[tabindex]) { scroll-margin-block: 32px 100px; }
:where(h1,h2,h3) { text-wrap: balance; }
:where(p,blockquote) { text-wrap: pretty; }
:where(.hero-layout,.project,.headline,.brief>div,.profile-copy) { min-width: 0; }
header.wrap { height: 96px; }
header .brand { width: 210px; }
header nav a { min-height: 44px; display: inline-flex; align-items: center; }
.hero-layout { border-top: 1px solid var(--line); padding-top: 24px; }
.hero-layout>.wrap { width: 100%; margin: 0; }
.hero-layout .intro { border: 0; padding: 12px 0 28px; }
.hero-layout .intro-top { display: block; font-size: 11px; letter-spacing: .09em; }
.hero-layout .intro-top>span:last-child { display: none; }
.hero-layout .intro h1 {
  font-size: clamp(62px, 8vw, 108px);
  line-height: 1.05;
  letter-spacing: -.065em;
  margin: 28px 0;
  animation: none;
}
.hero-layout .intro h1 em { display: inline; font-size: 1em; }
.hero-layout .intro-bottom { display: block; padding: 0; }
.hero-layout .intro-bottom p { font-size: 16px; max-width: 38ch; color: var(--muted); }
.hero-layout .intro-bottom a {
  margin-top: 24px; width: 178px; min-height: 44px; font-size: 14px;
}
.hero-layout .feature-art {
  height: 480px;
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: 1fr 1fr;
  padding: 0; gap: 0; background: #092a25;
}
.hero-layout .feature-panel { min-height: 0; overflow: hidden; padding: 0; animation: none; }
.hero-layout .feature-panel.centerpiece { grid-area: 1 / 1 / 3 / 2; }
.hero-layout .feature-panel.detail { display: flex; grid-area: 1 / 2 / 2 / 3; }
.hero-layout .feature-panel.card { grid-area: 2 / 2 / 3 / 3; }
.hero-layout .feature-panel img { width: 100%; height: 100%; max-height: none; object-fit: cover; }
.hero-layout .feature-panel.centerpiece img { object-fit: contain; }
.hero-layout .feature-art:hover .centerpiece img { transform: none; }
.hero-layout .feature-cta {
  min-height: 44px; bottom: 16px; right: 16px; padding: 13px 17px;
  font-size: 12px; gap: 24px; border: 1px solid #ddd6cb;
}
.hero-layout .feature-caption { gap: 18px; padding: 16px 0; }
.hero-layout .feature-caption>span { display: none; }
.hero-layout .feature-caption h2 { font-size: 18px; }
.hero-layout .feature-caption small { color: var(--muted); font-size: 12px; }
.profile-copy>p+p:not(.profile-proof) { margin-top: 16px; }
.position { padding: 52px 0 22px; }
.position>p { font-size: clamp(27px, 3.2vw, 44px); }
.service-paths { padding-bottom: 42px; gap: 8px 28px; }
.service-paths a { font-size: 13px; min-height: 44px; }
.work .section-top { padding: 24px 0 28px; align-items: center; }
.work .section-top h2 { font-size: clamp(26px, 3vw, 38px); }
.filters { gap: 10px; flex-wrap: wrap; }
.filters button {
  padding: 10px 14px; min-height: 44px; border: 1px solid transparent;
  border-radius: 30px; font-size: 13px; color: var(--muted);
}
.filters button[aria-pressed=true] { background: var(--sand); border-color: var(--line); }
.work .project-grid { gap: 48px 28px; }
.work .project { margin: 0; }
.work .project[hidden],.project-rail-status[hidden] { display: none!important; }
.work .art,.work .art.portrait { border-radius: 3px; padding: 0; height: auto; aspect-ratio: 4 / 3; background: #eee9df; }
.work .art>img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.work .project-meta { padding-top: 17px; gap: 20px; }
.work .project-meta h3 { font-size: clamp(24px, 2.5vw, 32px); font-weight: 500; }
.work .project-meta p { font-size: 14px; color: var(--muted); max-width: 40ch; }
.work .category { display: none; }
/* Cover families share one stage. Portrait work is paired; logos stay whole. */
.work .p-moretti .art { padding: 0; background: #f8f8f6; }
.work .p-moretti .art>img { object-fit: cover; object-position: 50% 0; }
.work .p-noemi .art-duo { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-rows: minmax(0,1fr); gap: 0; background: #12352d; }
.work .p-noemi .art-duo>img { min-width: 0; min-height: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 55%; }
.work .p-oroterra .art { background: #f3efe7; }
.work .p-oroterra .art>img { width: 100%; height: 100%; max-width: none; object-fit: contain; }
.work .p-oruga-beach .art { padding: 0; background: #eee9df; }
.work .p-oruga-beach .art>img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.work .p-revolution-fit .art { background: #08090a; }
.work .p-revolution-fit .art>img { object-fit: contain; }
.work .p-la-clave .art { overflow: hidden; }
.oro-logo-hero .zoom,.oro-logo-hero img { background: #f3efe7; }
.oro-logo-hero img { height: min(60vw,650px); max-height: 650px; width: 100%; object-fit: contain; }
.revolution-gallery .wide .zoom { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; background: #fff; }
.revolution-gallery .wide img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.revolution-gallery .wide:first-child .zoom { background: #000; }
.project-rail-status {
  color: var(--muted); font-size: 12px; margin: 12px 0 0;
  display: none; align-items: center; gap: 8px;
}
.project-rail-status::before { content: ''; width: 25px; border-top: 1px solid currentColor; }
.small-work-heading h2 { font-size: 23px!important; }
.small-work-heading .eyebrow { font-size: 10px; color: var(--muted); }
.small-project-caption>span { font-size: 9px!important; color: var(--muted); }
.small-project-caption h3 { font-size: 16px!important; }
.small-project-caption:after { color: var(--muted); }
.small-project-image { overflow: hidden; border-radius: 3px; padding: 0!important; height: auto!important; aspect-ratio: 4 / 3; }
.small-project-image img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; }
.small-project-image[href*="revolution-fit"] { background: #080707; }
.small-project-image[href*="revolution-fit"] img { object-fit: contain; }
.small-project-image.plumitas-logo { background: #faf8f3; }
.small-project-image.plumitas-logo img { width: 78%; height: 88%; object-fit: contain; margin: auto; }
.feedback-grid figcaption span,.contact-invite p,.brief-hint,.brief-note,.brief-summary dt {
  color: var(--muted);
}
.contact-invite p { font-size: 16px; line-height: 1.65; }
.direct-whatsapp,.contact-actions [data-open-brief] { min-height: 48px; font-size: 14px; }
.brief-launch { bottom: max(18px,env(safe-area-inset-bottom)); }
.case-head .headline h1 { letter-spacing: -.055em; }
.case-head .headline>p { font-size: 17px; line-height: 1.65; max-width: 48ch; }
.brief { gap: 48px; }
.brief>div>p { max-width: 65ch; font-size: 16px; line-height: 1.7; }
.brief .label { display: block; font-size: 11px; margin: 0 0 12px; color: var(--muted); }
.brief>div>p+.label { margin-top: 28px; }
.gallery figcaption { padding-top: 18px; }
.gallery figcaption p { font-size: 15px; line-height: 1.65; color: var(--muted); max-width: 60ch; }
.gallery figcaption h3 { font-size: 21px; line-height: 1.3; margin-bottom: 8px; }
.production-detail { border: 1px solid var(--line); padding: 0 24px; }
.production-detail>summary { min-height: 64px; font-size: 15px; line-height: 1.5; padding: 18px 0; }
.production-detail .production-sheet { margin-inline: 0; }
.production-detail .production-sheet .zoom img { max-height: 750px; object-fit: contain; }
.image-tools button,.image-tools a,.image-dialog>.close { min-height: 48px; }
.image-dialog { scroll-margin: 0; }
.cms-project-cover .zoom { aspect-ratio: 16 / 10; overflow: hidden; }
.cms-project-cover .zoom img { width: 100%; height: 100%; object-fit: contain; }
.cms-project-gallery .zoom { aspect-ratio: 4 / 3; overflow: hidden; }
.cms-project-gallery .zoom img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; }
.cms-project-cover .zoom,.cms-project-gallery .zoom { touch-action: manipulation; }

@media(min-width:1000px) {
  .hero-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: 48px; align-items: center; }
  .hero-layout .intro { padding: 0 0 64px; }
  .hero-layout .intro h1 { font-size: clamp(68px,6.9vw,108px); }
  .hero-layout .feature-art { height: clamp(450px,42vw,590px); }
  .position { grid-template-columns: 1fr 2fr; }
  .work .project-grid:not(.filtered) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .work .project { grid-column: auto; }
  .work .project-grid.filtered { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .work .project-grid.filtered .project { grid-column: auto; }
  .work .art,.work .art.portrait { height: auto; aspect-ratio: 4 / 3; }
}
@media(min-width:701px) and (max-width:999px) {
  .hero-layout .intro { display: block; padding-bottom: 32px; }
  .hero-layout .intro-bottom { display: flex; gap: 28px; align-items: end; }
  .hero-layout .intro-bottom a { flex: 0 0 178px; margin: 0; }
  .hero-layout .feature-art { height: 380px; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr; }
  .hero-layout .feature-panel.centerpiece { grid-area: 1 / 2; }
  .hero-layout .feature-panel.detail { grid-area: 1 / 1; }
  .hero-layout .feature-panel.card { grid-area: 1 / 3; }
  .hero-layout .feature-panel img { object-fit: contain; }
  .work .project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .wrap { width: calc(100% - 36px); }
  header.wrap { height: 80px; }
  header .brand { width: 175px; }
  .hero-layout { padding-top: 20px; }
  .hero-layout .intro { padding: 0 0 24px; }
  .hero-layout .intro h1 { font-size: clamp(52px,14.6vw,80px); margin: 20px 0; }
  .hero-layout .intro-bottom p { font-size: 15px; max-width: 36ch; }
  .hero-layout .intro-bottom p br { display: none; }
  .hero-layout .intro-bottom a { margin-top: 16px; }
  .hero-layout .feature-art { height: clamp(230px,72vw,310px); grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
  .hero-layout .feature-panel.detail { display: none; }
  .hero-layout .feature-panel.centerpiece { grid-area: 1 / 1; }
  .hero-layout .feature-panel.card { grid-area: 1 / 2; }
  .hero-layout .feature-panel img { object-fit: contain; }
  .hero-layout .feature-cta { padding: 10px 14px; bottom: 12px; right: 12px; min-height: 44px; }
  .hero-layout .feature-caption { padding: 13px 0; }
  .position { padding: 30px 0 14px; }
  .position>p { font-size: 26px; margin: 12px 0; }
  .position>div { font-size: 14px; }
  .service-paths { padding-bottom: 28px; }
  .work .section-top { padding: 22px 0 16px; }
  .work .section-top h2 { font-size: 27px; }
  .work .filters { margin-top: 14px; gap: 4px; }
  .filters button { font-size: 12px; padding-inline: 12px; }
  .project-view-toggle { min-height: 44px; margin-bottom: 18px; font-size: 13px; }
  .work .project-grid:not(.show-all-projects) {
    display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity;
    padding: 2px 2px 14px; scroll-padding-inline: 2px;
  }
  .work .project-grid:not(.show-all-projects) .project { flex: 0 0 90%; min-width: 0; }
  .work .art,.work .art.portrait { height: auto; aspect-ratio: 4 / 3; }
  .work .project-meta { padding-top: 15px; }
  .work .project-meta h3 { font-size: 25px; }
  .work .project-meta p { display: block; font-size: 14px; line-height: 1.55; }
  .work .project-grid.show-all-projects { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 14px; }
  .work .show-all-projects .project { min-width: 0; }
  .work .show-all-projects .art,.work .show-all-projects .art.portrait { aspect-ratio: 4 / 3; }
  .work .show-all-projects .project-meta h3 { font-size: 18px; }
  .work .show-all-projects .project-meta p { font-size: 12px; }
  .project-rail-status { display: flex; }
  .work .project-grid.show-all-projects+.project-rail-status { display: none; }
  .small-project { flex: 0 0 44%; }
  .small-project-caption h3 { font-size: 14px!important; }
  .small-work .small-work-heading .eyebrow { font-size: 9px; }
  .profile-image img { max-width: 300px; }
  .profile-copy h2 { font-size: 34px; }
  .profile-copy>p { font-size: 16px; }
  .services summary { min-height: 56px; font-size: 16px; line-height: 1.45; }
  .services details>p { font-size: 15px; line-height: 1.65; }
  .feedback-grid figure { flex-basis: 88%; }
  .feedback-grid blockquote p { font-size: 14px; line-height: 1.65; }
  .contact { padding: 38px 0 44px; }
  .contact-invite p { font-size: 15px; }
  .contact-actions { align-items: stretch; gap: 10px; }
  .contact-actions>a,.contact-actions>button { min-height: 48px; }
  .contact-bottom { gap: 8px; }
  .contact-bottom a { min-height: 48px; }
  .brief-launch { left: auto; right: 16px; bottom: max(16px,env(safe-area-inset-bottom)); }
  footer.wrap { padding-bottom: calc(94px + env(safe-area-inset-bottom)); }
  .case-head .headline { gap: 20px; }
  .case-head .headline h1 { font-size: clamp(42px,12vw,70px); line-height: 1.1; }
  .case-head .headline>p { font-size: 16px; }
  .brief { gap: 24px; }
  .brief>div>p { font-size: 16px; }
  .gallery figcaption h3 { font-size: 20px; }
  .gallery figcaption p { font-size: 14px; }
  .production-detail { padding-inline: 16px; }
  .production-detail>summary { font-size: 14px; gap: 12px; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .project .art>img { transition: transform .32s var(--motion-ease); }
  .project:hover .art>img { transform: scale(1.025); }
  .project:hover h3 { color: var(--accent); }
  .small-project-image:hover img { transform: scale(1.02); }
  .feature-cta { transition: background .2s ease; }
  .feature-art:hover .feature-cta { background: #ece7de; }
}
.reveal-ready.is-seen { animation: editorial-entrance .42s var(--motion-ease) both; }
@keyframes editorial-entrance { from { transform: translateY(10px); } to { transform: none; } }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .project .art>img,.small-project-image img,.feature-panel img,.reveal-ready.is-seen {
    transform: none!important; animation: none!important; transition: none!important;
  }
}

/* Vecchia Roma: a short, readable sequence, never a scroll lock. */
.process-story { align-items: start; padding-bottom: 60px; }
.process-story .process-steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; margin: 0; list-style: none; }
.process-steps li { min-width: 0; }
.process-steps .zoom { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #f2eee7; }
.process-steps .process-crop-frame { position: relative; display: block; overflow: hidden; width: 94%; }
.process-place .process-crop-frame { aspect-ratio: 1.38; }
.process-drawing .process-crop-frame { aspect-ratio: 1.05; }
.process-crop .process-crop-frame img { position: absolute; width: 107.3%; height: auto; max-height: none; max-width: none; left: -4.65%; }
.process-place .process-crop-frame img { top: -141.1%; }
.process-drawing .process-crop-frame img { top: -3.4%; }
.process-steps .process-pack img { width: 92%; height: 92%; object-fit: contain; }
.process-steps figcaption { padding-top: 20px; }
.process-steps h3 { font-size: 21px; font-weight: 500; letter-spacing: -.03em; line-height: 1.3; margin: 12px 0 10px; }
.process-steps figcaption p { font-size: 14px; line-height: 1.65; }
.process-story .process-credit { grid-column: 1 / -1; font-size: 12px; max-width: 85ch; }
.process-step-visible { animation: process-entrance .45s var(--motion-ease) both; }
@keyframes process-entrance { from { transform: translateY(12px); } to { transform: none; } }
@media(max-width:700px) {
 .process-story { gap: 22px; padding-bottom: 36px; }
 .process-story h2 { font-size: clamp(32px,9vw,42px); }
 .process-story .process-steps { display: flex; overflow-x: auto; gap: 18px; padding: 2px 2px 16px; scroll-snap-type: x proximity; scroll-padding-left: 2px; }
 .process-steps li { flex: 0 0 92%; scroll-snap-align: start; }
 .process-steps h3 { font-size: 22px; }
 .process-story .process-credit { font-size: 12px; }
 .process-story .process-steps:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
}
@media(prefers-reduced-motion:reduce) {
 .process-step-visible { animation: none!important; transform: none!important; }
}

/* Consistent service examples and wrapping footers. */
.service-example-grid img{height:auto;aspect-ratio:4/3;object-fit:contain}footer{flex-wrap:wrap;gap:18px}footer nav{font-size:12px;line-height:1.8} .verified-link a{text-decoration:underline;text-underline-offset:4px}

/* 30 September: selected original artwork, without PDF presentation frames. */
.work .p-noemi .art { display: block; }
.work .p-noemi .art > img { object-fit: cover; object-position: center; }
.work .p-revolution-fit .art > img { object-fit: cover; object-position: center; }
.small-project-image.plumitas-logo { display: flex; align-items: center; justify-content: center; background: #f2e3dc; }
.small-project-image.plumitas-logo img { width: 76%; height: 76%; margin: 0; object-fit: contain; }
.noemi-wide-hero { max-width: 1000px; }
.noemi-wide-hero .zoom { aspect-ratio: 4 / 3; background: #063835; overflow: hidden; }
.noemi-wide-hero img { width: 100%; height: 100%; max-height: none; object-fit: cover; }
.photo-hero .zoom { background: transparent; overflow: hidden; }
.photo-hero img { max-height: none; background: transparent; }
.gallery .photograph .zoom { aspect-ratio: 3 / 2; background: transparent; overflow: hidden; }
.gallery .photograph img { width: 100%; height: 100%; max-height: none; padding: 0; aspect-ratio: auto; object-fit: cover; background: transparent; }
.revolution-gallery .wide.photograph .zoom { aspect-ratio: 3 / 2; }
.revolution-gallery .wide.photograph img { object-fit: cover; }
.revolution-gallery .logo .zoom { background: #f1ece4; }
.revolution-gallery .logo img { background: transparent; }
.revolution-gallery .wide:not(.photograph):not(.production-detail) .zoom { aspect-ratio: auto; background: #050505; }
.revolution-gallery .wide:not(.photograph):not(.production-detail) img { height: auto; background: transparent; }
.noemi-gallery figure:has(img[src*="gesto-originale"]) { grid-column: 1 / -1; }
.noemi-gallery figure:has(img[src*="gesto-originale"]) img { aspect-ratio: auto; max-height: none; }
.noemi-gallery figure:has(img[src*="smalto-verde"]) .zoom,
.noemi-gallery figure:has(img[src*="biglietto-visita"]) .zoom { background: #102f2b; }
.noemi-gallery figure:has(img[src*="smalto-verde"]) img,
.noemi-gallery figure:has(img[src*="biglietto-visita"]) img { background: transparent; aspect-ratio: 4 / 5; object-fit: contain; height: auto; }
.technical-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding: 8px 0 24px; }
.technical-gallery .wide { grid-column: auto; }
.revolution-gallery .technical-gallery .zoom { aspect-ratio: 4 / 3; background: #f2eee7; }
.revolution-gallery .technical-gallery img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.product-selection { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.product-selection .zoom { aspect-ratio: 1; background: #f1ece4; padding: 24px; }
.product-selection img { height: 100%; width: 100%; aspect-ratio: auto; object-fit: contain; background: transparent; }
.product-selection figcaption h3 { font-size: 18px; }
.product-selection figcaption p { font-size: 13px; }
@media(max-width:700px) {
 .noemi-wide-hero { width: calc(100% - 36px); }
 .technical-gallery { grid-template-columns: 1fr; }
 .product-selection { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; padding: 2px 2px 14px; }
 .product-selection .catalogue-item { flex: 0 0 78%; scroll-snap-align: start; }
 .product-selection:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
}

/* Horizontal wordmarks keep an optical scale appropriate to their artwork. */
.noemi-gallery .wide.logo .zoom,.moretti-gallery .wide.logo .zoom { aspect-ratio: 3 / 1; overflow: hidden; background: #f1ece4; }
.noemi-gallery .wide.logo img,.moretti-gallery .wide.logo img { width: 80%; height: 100%; margin-inline: auto; max-height: none; padding: 0; aspect-ratio: auto; object-fit: cover; background: transparent; }

/* Case-study photographs use their source proportions; technical boards stay complete. */
.gallery .photograph .zoom { aspect-ratio: auto; }
.gallery .photograph img { height: auto; aspect-ratio: auto; object-fit: contain; }
.revolution-gallery .application .zoom { aspect-ratio: 1; }
.revolution-gallery .application img { height: 100%; object-fit: cover; }

/* Original full-bleed artwork; no square page placed inside a wide frame. */
.work .p-oroterra .art>img { object-fit: cover; width: 100%; height: 100%; }
.oro-logo-hero .zoom { aspect-ratio: 4 / 3; overflow: hidden; background: transparent; }
.oro-logo-hero img { width: 100%; height: 100%; max-height: none; object-fit: cover; background: transparent; }
.revolution-photo-hero .zoom { background: transparent; }
.revolution-photo-hero img { aspect-ratio: auto; max-height: none; background: transparent; }
.oro-gallery .zoom,.revolution-gallery .zoom { padding: 0; border: 0; background: transparent; }
.oro-gallery img { width: 100%; height: auto; max-height: none; aspect-ratio: auto; object-fit: cover; background: transparent; }
.oro-gallery .photograph .zoom { aspect-ratio: auto; }
.revolution-gallery .logo .zoom { background: #000; aspect-ratio: 1; }
.revolution-gallery .logo img { width: 100%; height: 100%; padding: 0; aspect-ratio: auto; object-fit: cover; background: #000; }
.revolution-gallery .application .zoom { aspect-ratio: auto; }
.revolution-gallery .application img { width: 100%; height: auto; padding: 0; aspect-ratio: auto; object-fit: cover; }
.revolution-gallery .wide.photograph .zoom { aspect-ratio: auto; }
.revolution-gallery .wide.photograph img { width: 100%; height: auto; }
.revolution-gallery .technical-gallery .photograph .zoom { aspect-ratio: auto; }
.revolution-gallery .technical-gallery .photograph img { width: 100%; height: auto; object-fit: cover; }

.case-feedback { margin-top: 60px; padding: 32px 0; border-top: 1px solid var(--line); }
.case-feedback blockquote { margin: 22px 0 0; max-width: 68ch; }
.case-feedback blockquote p { font-size: clamp(17px,2vw,23px); line-height: 1.65; }
.case-feedback figcaption { display: flex; gap: 16px; padding-top: 16px; font-size: 13px; color: var(--muted); }

.oro-gallery .zoom { overflow: hidden; }
.oro-gallery .photograph img,.oro-gallery figure:has(img[src*="confezione-originale"]) img { transform: scale(1.01); }

/* Original proportions, with no added photographic frames or letterboxing. */
.hero .zoom,.gallery .zoom,.cms-project-cover .zoom,.cms-project-gallery .zoom { border: 0; padding: 0; background: transparent; }
.gallery .zoom { aspect-ratio: auto; overflow: hidden; }
.gallery .zoom>img,.cms-project-gallery .zoom>img { width: 100%; height: auto; max-height: none; padding: 0; margin: 0; aspect-ratio: auto; background: transparent; object-fit: contain; }
.gallery .photograph .zoom,.gallery .application .zoom,.gallery .technical-gallery .zoom { aspect-ratio: auto; background: transparent; }
.gallery .photograph img,.gallery .application img,.gallery .technical-gallery img { height: auto; max-height: none; padding: 0; aspect-ratio: auto; object-fit: contain; background: transparent; }
.noemi-gallery figure:has(img[src*="smalto-verde"]) .zoom,.noemi-gallery figure:has(img[src*="biglietto-visita"]) .zoom { aspect-ratio: auto; background: transparent; }
.noemi-gallery figure:has(img[src*="smalto-verde"]) img,.noemi-gallery figure:has(img[src*="biglietto-visita"]) img { height: auto; aspect-ratio: auto; padding: 0; }
.noemi-gallery .wide.logo .zoom,.moretti-gallery .wide.logo .zoom { aspect-ratio: 3 / 1; background: transparent; }
.noemi-gallery .wide.logo img,.moretti-gallery .wide.logo img { width: 100%; height: 100%; margin: 0; padding: 0; object-fit: cover; }
.product-selection .zoom { padding: 0; aspect-ratio: auto; background: transparent; }
.product-selection img { height: auto; }
.revolution-gallery .logo .zoom { aspect-ratio: 1; background: #000; }
.revolution-gallery .logo img { height: 100%; width: 100%; padding: 0; object-fit: cover; }
.oro-gallery img { height: auto; padding: 0; }
.work .p-la-clave .art>img,.work .p-la-clave:hover .art>img { transform: none; object-fit: cover; }
.clave-logo-hero .zoom { aspect-ratio: 4 / 3; background: #004e5a; }
.clave-logo-hero img { width: 100%; height: auto; max-height: none; aspect-ratio: 4 / 3; padding: 0; transform: none; }
.clave-gallery .logo .zoom { aspect-ratio: auto; background: transparent; }
.gallery.clave-gallery .logo img { width: 100%; height: auto; max-height: none; margin: 0; padding: 0; aspect-ratio: auto; background: transparent; object-fit: contain; }
/* These two source screenshots have a 52px browser strip above the scene.
   Crop only that strip, keeping the entire width and the bottom of the photo. */
.gallery .scene-with-strip .zoom { aspect-ratio: 1196 / 712; }
.gallery .scene-with-strip img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.gallery .rounded-source .zoom { aspect-ratio: 1086 / 1448; }
.gallery .rounded-source img { height: 100%; width: 100%; object-fit: cover; transform: scale(1.035); }
.cms-project-cover .zoom { aspect-ratio: auto; }
.cms-project-cover .zoom>img { height: auto; max-height: none; object-fit: contain; background: transparent; }
.gallery .production-detail { border: 0; border-top: 1px solid var(--line); padding: 0; }
.gallery figure:has(img[src*="fonte-benessere-logo"]) .zoom { width: min(100%,640px); margin-inline: auto; }
.gallery figure:has(img[src*="fonte-benessere-logo"]) img { height: auto; padding: 0; }
.gallery .beverage-series img { max-width: 850px; margin-inline: auto; }

/* Image choreography follows real scroll. Default / no-JS artwork stays visible. */
.scroll-motion-enabled .scroll-composition {
  translate: 0 var(--scroll-lift,0px);
}
.scroll-motion-enabled .scroll-composition:focus-within { translate: none; }
.scroll-motion-enabled .scroll-scene .feature-panel img {
  translate: 0 var(--scene-y,0px);
  scale: var(--scene-scale,1);
  transform-origin: center;
  transition: none;
}
/* Preserve the complete logo/stationery, rather than zooming their pixels. */
.scroll-motion-enabled .project:hover .art>img,
.scroll-motion-enabled .small-project-image:hover img { transform: none; }
.motion-control {
  appearance: none; border: 0; padding: 6px 0; background: transparent;
  font: inherit; color: inherit; min-height: 44px; cursor: pointer;
  text-decoration: underline; text-underline-offset: 4px;
}
.motion-control:disabled { cursor: default; text-decoration: none; }
@media(prefers-reduced-motion:reduce) {
  .scroll-composition,.scroll-scene .feature-panel img {
    translate: none!important; scale: none!important;
  }
}
@media print {
  .scroll-composition,.scroll-scene .feature-panel img { translate: none!important; scale: none!important; }
  .motion-control { display: none; }
}
