:root{--paper:#faf8f3;--ink:#302b25;--muted:#6d6358;--line:#ded7cc;--accent:#7b6344}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p{color:var(--muted);line-height:1.7}em{font-family:Newsreader,Georgia,serif;font-weight:400}.wrap{width:min(1200px,calc(100% - 88px));margin:auto}.preview{display:flex;justify-content:space-between;background:#eee9df;padding:10px 44px;font-size:10px;color:var(--muted)}header{height:110px;display:flex;justify-content:space-between;align-items:center;font-size:12px}header img{width:250px}.case-head{padding:50px 0 45px;border-top:1px solid var(--line)}.label{font-size:10px;letter-spacing:.12em}.headline{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:end;margin-top:25px}h1{font-size:clamp(45px,6.5vw,90px);letter-spacing:-.06em;font-weight:500;line-height:1.04}.headline p{max-width:370px;font-size:16px}.hero img{max-height:700px;object-fit:contain;background:#eee9df}.zoom{border:0;display:block;background:#eee9df;padding:0;width:100%;cursor:zoom-in}.brief{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:85px 0}.brief h2{font-size:48px;font-weight:500;letter-spacing:-.045em;line-height:1.12}.brief p{font-size:14px;margin:14px 0 28px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:60px 30px}.gallery figure{min-width:0}.gallery .wide{grid-column:1/-1}.gallery img{aspect-ratio:1.2;object-fit:contain;background:#eee9df}.gallery .logo img{aspect-ratio:1.4;padding:30px}.gallery .wide img{aspect-ratio:auto;max-height:780px}.gallery .browser img{aspect-ratio:auto}.browserbar{background:#e5dfd5;display:flex;align-items:center;gap:6px;padding:13px 15px;border-radius:10px 10px 0 0}.browserbar i{width:5px;height:5px;border-radius:50%;background:#a69a8b}.browserbar span{font-size:8px;letter-spacing:.1em;margin-left:15px}.gallery figcaption{padding:18px 0}.gallery h3{font-size:15px;font-weight:500}.gallery p{font-size:12px;margin-top:8px}.next{padding:75px 0;margin-top:60px;border-top:1px solid var(--line)}.next>a{display:flex;justify-content:space-between;font-size:clamp(28px,4vw,55px);letter-spacing:-.04em;margin-top:25px}.contact{background:var(--ink);color:var(--paper);padding:60px 0}.contact>.wrap{display:flex;justify-content:space-between;align-items:end;gap:30px}.contact h2{font-size:45px;font-weight:500;letter-spacing:-.04em}.contact a{border-bottom:1px solid #a59a8c;padding:12px 0;font-size:15px}.contact em{color:#d1b99a}footer{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:30px 0}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:15px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}dialog{border:0;background:var(--paper);padding:55px 20px 20px;width:min(95vw,1400px);max-height:95vh}dialog::backdrop{background:#16120ee6}dialog>img{width:100%;max-height:80vh;object-fit:contain}.close{position:absolute;right:20px;top:15px;background:none;border:1px solid var(--line);padding:8px 15px;cursor:pointer;font-size:12px}@media(max-width:650px){.wrap{width:calc(100% - 40px)}.preview{padding:9px 20px;font-size:8px}header{height:85px;font-size:10px}header img{width:170px}.case-head{padding:35px 0}.headline{grid-template-columns:1fr;gap:20px}h1{font-size:49px}.headline p{font-size:14px}.brief{grid-template-columns:1fr;gap:30px;padding:45px 0}.brief h2{font-size:36px}.gallery{grid-template-columns:1fr;gap:30px}.gallery .wide{grid-column:auto}.gallery img{aspect-ratio:auto;max-height:600px}.gallery .logo img{aspect-ratio:1.3;padding:15px}.next{padding:40px 0;margin-top:40px}.contact{padding:40px 0}.contact>.wrap{display:block}.contact h2{font-size:35px}.contact a{display:inline-block;margin-top:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.gallery .wide.logo img{height:300px;aspect-ratio:auto;object-fit:contain} @media(max-width:650px){.gallery .wide.logo img{height:220px}}
.qr-flow{padding:0 0 65px}.qr-flow>div{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:25px}.qr-flow article{border-top:1px solid var(--line);padding-top:15px}.qr-flow small{font-size:10px;color:var(--accent)}.qr-flow h3{font-size:20px;font-weight:500;margin:15px 0 10px}.qr-flow p{font-size:12px}.qr-related{margin-top:30px;max-width:750px}.qr-related a{text-decoration:underline}@media(max-width:650px){.qr-flow>div{grid-template-columns:1fr 1fr}.qr-flow{padding-bottom:40px}}
.beverage-series .zoom{padding:30px}.beverage-series img{max-width:400px;margin:auto;background:transparent}
.seo-breadcrumb{font-size:11px;color:var(--muted);padding:12px 0}.seo-breadcrumb a{text-decoration:underline}
.vecchia-gallery{align-items:start}.vecchia-gallery .vecchia-process img{aspect-ratio:auto;max-height:620px;object-fit:contain;background:white}.production-detail{border-top:1px solid var(--line);margin-top:45px;padding-top:15px}.production-detail summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:18px 0;list-style:none}.production-detail summary::-webkit-details-marker{display:none}.production-sheet{margin:15px 0 0}.production-sheet img{max-height:750px;object-fit:contain;background:#f1ece4}.production-detail[open] summary span{transform:rotate(45deg)}@media(max-width:650px){.vecchia-gallery .vecchia-process img{max-height:560px}.production-detail{margin-top:30px}.production-detail summary{font-size:13px}.production-sheet img{max-height:500px}}

.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; }
.work .p-la-clave .art>img { transform: scale(1.28); }
.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; }
.clave-gallery .logo .zoom,.clave-gallery .logo img { background: #f3eadb; }
.clave-gallery .clave-symbol img { height: 400px; aspect-ratio: auto; 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; }
@media(max-width:650px) { .clave-gallery .clave-symbol img { height: 320px; } }
.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}
