:root{--paper:#c9cac8;--ink:#262728;--ink-soft:#5c5f61;--line:#26272838;--sheet:#fafaf8b3;--tavola:#eeeeeb;--grid:#26272808;--grid-strong:#2627280f;--font-display:"Tenor Sans", "Didot", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--gutter:clamp(16px, 4vw, 48px);--content:1100px;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex;overflow-x:hidden}img{max-width:100%;height:auto;display:block}.paper,.vignette{pointer-events:none;z-index:0;width:100%;height:100%;transition:opacity .6s;display:block;position:fixed;inset:0}.vignette{background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#3c3e4024 100%)}.intro-video{object-fit:cover;background:#2a2b2c}.intro-video::-webkit-media-controls,.intro-video::-webkit-media-controls-start-playback-button,.reel video::-webkit-media-controls-start-playback-button,.riga-video video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;display:none!important}body.is-index:not(.tavola){--ink:#fbfbf9;--ink-soft:#fbfbf9d1;--line:#fbfbf959;background:#2a2b2c}body.is-index:not(.tavola) .vignette{background:linear-gradient(#14151661,#14151661),radial-gradient(120% 90%,#0000 40%,#0f101173 100%)}body.is-index:not(.tavola) .enter,body.is-index:not(.tavola) .enter-meta{text-shadow:0 1px 14px #00000059}.drawing .wash,body.tavola{background-color:var(--tavola);background-image:linear-gradient(var(--grid-strong) 1px, transparent 1px), linear-gradient(90deg, var(--grid-strong) 1px, transparent 1px), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:top;background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-attachment:fixed}body.tavola .paper,body.tavola .vignette{opacity:0}.site-header{z-index:10;padding:calc(env(safe-area-inset-top,0px) + 22px) var(--gutter) 22px;justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}body.tavola.scrolled .site-header,body.solid-header .site-header{background:linear-gradient(var(--tavola) 75%, transparent)}.logo{color:var(--ink);z-index:1;line-height:0;display:block;position:relative}.menu-toggle{z-index:1;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:7px 12px;display:none;position:relative}.logo svg{width:40px;height:40px}.site-nav{flex-wrap:wrap;justify-content:flex-end;gap:clamp(18px,4vw,44px);display:flex}.site-nav a{color:var(--ink-soft);letter-spacing:.28em;text-transform:uppercase;padding-block:6px;font-size:12px;text-decoration:none;transition:color .3s;position:relative}.site-nav a:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform .4s;position:absolute;bottom:0;left:0;right:.28em;transform:scaleX(0)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform:scaleX(1)}a:focus-visible,button:focus-visible{outline:1px dashed var(--ink);outline-offset:6px}main{z-index:1;flex:1;position:relative}.view{min-height:100dvh;padding:130px var(--gutter) 90px;animation:.8s both rise}.page{padding:140px var(--gutter) 80px;animation:.8s both rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:300}#enter{text-align:center;place-items:center;padding-top:90px;display:grid}.enter-wrap{justify-items:center;gap:18px;display:grid}.enter{color:var(--ink);letter-spacing:.42em;text-transform:uppercase;align-items:center;gap:14px;padding-left:.42em;font-size:20px;text-decoration:none;display:inline-flex}.enter .rule{background:var(--ink);width:0;height:1px;transition:width .6s cubic-bezier(.2,.7,.2,1);display:block}.enter:hover .rule,.enter:focus-visible .rule{width:44px}.enter-meta{flex-wrap:wrap;justify-content:center;gap:22px;display:flex}.enter-meta .label{font-size:15px}.home-grid{max-width:var(--content);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,6vw,96px);min-height:calc(100vh - 260px);margin:0 auto;display:grid}.home-left{gap:clamp(28px,4vw,48px);min-width:0;display:grid}.home-grid h1{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(44px,6.4vw,92px);font-weight:400;line-height:.98}.home-grid h1 span{color:var(--ink-soft);letter-spacing:.3em;text-transform:uppercase;margin-top:22px;font-size:.38em;display:block}.home-text{gap:18px;min-width:0;display:grid}.home-text p,.prose p,.prose li{font-family:var(--font-mono);max-width:62ch;margin:0;font-size:14px;font-weight:300;line-height:1.75}.home-text p{max-width:42ch}.home-text a,.more{color:var(--ink);letter-spacing:.28em;text-transform:uppercase;text-underline-offset:6px;justify-self:start;font-size:12px}.plan-frame{gap:12px;min-width:0;margin:0;display:grid}.plan-frame .plan-art{background:var(--sheet);border:1px solid var(--line);padding:clamp(14px,2.5vw,28px)}.plan-frame svg{width:100%;height:auto;color:var(--ink);display:block;overflow:visible}.plan-frame figcaption{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.plan-art .w{stroke-width:2px}.plan-art .t{stroke-width:1px}.plan-art .ax{stroke-width:.6px;opacity:.55}.plan-art text{font-family:var(--font-mono);letter-spacing:.12em;fill:currentColor;stroke:none;font-size:11px}.plan-art text.room{fill:var(--ink-soft);font-size:10px}.plan-frame.landing .plan-art svg{visibility:hidden}.drawing{z-index:8;pointer-events:none;padding-inline:var(--gutter);place-items:center;display:grid;position:fixed;inset:0}.drawing canvas,.drawing .wash{width:100%;height:100%;position:absolute;inset:0}.drawing .wash{opacity:0}.drawing svg{width:min(100%,980px);height:auto;max-height:80vh;color:var(--ink);position:relative;overflow:visible}.drawing .w{stroke-width:2px}.drawing .t{stroke-width:1px}.drawing .ax{stroke-width:.6px;opacity:.55}.drawing text{font-family:var(--font-mono);letter-spacing:.12em;fill:currentColor;stroke:none;opacity:0;font-size:11px}.drawing text.room{fill:var(--ink-soft);font-size:10px}.section-head{max-width:var(--content);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin:0 auto 48px;display:flex}.section-head h1,.section-head h2{letter-spacing:.06em;text-wrap:balance;margin:0;font-size:clamp(30px,4vw,48px);font-weight:400}.projects{max-width:var(--content);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.5vw,48px);margin:0 auto;display:grid}.project{color:inherit;gap:14px;min-width:0;text-decoration:none;display:grid}.sheet{aspect-ratio:3/4;background:var(--sheet);border:1px solid var(--line);place-items:center;max-width:100%;transition:transform .5s,box-shadow .5s;display:grid;overflow:hidden}.sheet svg{width:62%;height:auto;color:var(--ink-soft)}.sheet img{object-fit:contain;width:100%;height:100%}.project:hover .sheet{transform:translateY(-4px)rotate(-.4deg);box-shadow:0 20px 34px -16px #00000059}.project-info{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;display:flex}.project-info h3{letter-spacing:.06em;margin:0;font-size:17px;font-weight:400}.empty{max-width:var(--content);margin:0 auto}.project-head{max-width:var(--content);gap:18px;margin:0 auto 40px;display:grid}.project-head h1{text-wrap:balance;margin:0;font-size:clamp(36px,5.5vw,72px);font-weight:400;line-height:1}.meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px 28px;padding-top:14px;display:flex}.back{margin-top:24px;display:inline-block}.contact{max-width:var(--content);grid-template-columns:1fr 1fr;align-items:end;gap:clamp(32px,6vw,96px);margin:0 auto;display:grid}.contact.full{min-height:calc(100vh - 260px)}.contact h1,.contact h2{margin:0;font-size:clamp(40px,6vw,80px);font-weight:400;line-height:1}.contact dl{margin:0;display:grid}.contact .row{border-top:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);gap:16px;padding-block:16px;display:grid}.contact .row:last-child{border-bottom:1px solid var(--line)}.contact dd{letter-spacing:.04em;overflow-wrap:anywhere;margin:0;font-size:16px}.contact dd a{color:var(--ink);text-decoration:none}.contact dd a:hover{text-underline-offset:5px;text-decoration:underline}.sections{gap:clamp(56px,8vw,110px);display:grid}.sec{max-width:var(--content);width:100%;min-width:0;margin:0 auto}.sec-text{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(20px,5vw,80px);display:grid}.sec-text h2{letter-spacing:.04em;text-wrap:balance;margin:0;font-size:clamp(24px,3vw,36px);font-weight:400}.prose{gap:16px;min-width:0;display:grid}.prose h3{letter-spacing:.04em;margin:12px 0 0;font-size:20px;font-weight:400}.prose ul,.prose ol{gap:6px;margin:0;padding-left:1.2em;display:grid}.prose a{color:var(--ink);text-underline-offset:4px}.prose blockquote{border-left:1px solid var(--line);margin:0;padding-left:18px}.sec-image figure,.gallery figure{gap:10px;margin:0;display:grid}.sec-image .frame,.gallery .frame{border:1px solid var(--line);background:var(--sheet);padding:clamp(8px,1.5vw,16px)}.caption{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.sec-image.narrow{max-width:760px}.gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(16px,3vw,36px);display:grid}.gallery img{width:100%;height:auto}.sec-plan{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:clamp(24px,5vw,80px);display:grid}.sec-plan h2{margin:0 0 16px;font-size:clamp(24px,3vw,36px);font-weight:400}.sec-quote{text-align:center;max-width:860px}.sec-quote blockquote{letter-spacing:.01em;text-wrap:balance;margin:0;font-size:clamp(22px,3vw,34px);line-height:1.35}.sec-quote .label{margin-top:20px;display:block}.site-footer{z-index:5;padding:18px var(--gutter) calc(env(safe-area-inset-bottom,0px) + 18px);pointer-events:none;pointer-events:auto;flex-direction:column;justify-content:space-between;gap:0;display:flex;position:relative}.footer-full{max-width:var(--content);border-top:1px solid var(--line);grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);width:100%;margin:clamp(40px,6vw,80px) auto 0;padding-top:clamp(28px,4vw,44px);display:grid}.footer-brand{align-content:start;gap:16px;display:grid}.footer-brand p{letter-spacing:.03em;gap:6px;margin:0;font-size:20px;display:grid}.footer-contatti{align-content:start;gap:12px;margin:0;display:grid}.footer-contatti div{grid-template-columns:90px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.footer-contatti dd{letter-spacing:.03em;overflow-wrap:anywhere;margin:0;font-size:15px}.footer-contatti a,.footer-nav a{color:var(--ink);text-decoration:none}.footer-contatti a:hover,.footer-nav a:hover{text-underline-offset:5px;text-decoration:underline}.footer-nav{align-content:start;justify-items:start;gap:10px;display:grid}.footer-nav a{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);font-size:12px}.footer-bottom{max-width:var(--content);border-top:1px solid var(--line);justify-content:space-between;gap:16px;width:100%;margin:clamp(28px,4vw,44px) auto 0;padding-top:14px;display:flex}body.is-index:not(.tavola) .site-footer,body.no-footer .site-footer{display:none}.sheet{position:relative}.sheet-tag{color:var(--ink);opacity:0;background:#fafaf8e0;padding:4px 8px;transition:opacity .3s,transform .3s;position:absolute;bottom:10px;left:10px;transform:translateY(4px)}.project:hover .sheet-tag,.project:focus-visible .sheet-tag,.sheet-tag.has-video{opacity:1;transform:none}.close-project{z-index:11;right:var(--gutter);top:calc(env(safe-area-inset-top,0px) + 84px);color:var(--ink);white-space:nowrap;border:1px solid var(--line);background:#fafaf8eb;padding:8px 12px;text-decoration:none;transition:border-color .2s;position:fixed}.close-project:hover{border-color:var(--ink)}.video-link{color:var(--ink);text-underline-offset:4px}#video,#pianta{scroll-margin-top:110px}.project-piante{margin-top:clamp(56px,8vw,110px)}.project-piante .plan-frame{max-width:820px;margin:0 auto}.project-piante img{width:100%;height:auto;display:block}.project-hero{max-width:var(--content);margin:0 auto clamp(56px,8vw,110px)}.project-hero .frame{border:1px solid var(--line);background:var(--sheet);justify-content:center;padding:clamp(8px,1.5vw,16px);display:flex!important}.project-hero img{object-fit:contain;width:auto;max-width:100%;max-height:82vh}.tavole{max-width:var(--content);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(20px,3vw,40px);margin:0 auto;display:grid}.tavola-item{gap:10px;min-width:0;margin:0;display:grid}.tavola-item a{border:1px solid var(--line);background:var(--sheet);cursor:zoom-in;padding:clamp(6px,1.2vw,12px);display:block}.tavola-item img{width:100%;height:auto;transition:transform .6s}.tavola-item a:hover img{transform:scale(1.015)}.tavola-item figcaption{justify-content:space-between;gap:12px;display:flex}.reels-sec{margin-top:clamp(56px,8vw,110px)}.reels{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:minmax(200px,250px);grid-auto-flow:column;gap:clamp(16px,2.5vw,28px);padding-bottom:14px;display:grid;overflow-x:auto}.reel{scroll-snap-align:start;gap:10px;margin:0;display:grid}.reel-frame{border:1px solid var(--line);background:var(--sheet);padding:8px}.reel video{aspect-ratio:9/16;object-fit:cover;cursor:pointer;background:#dcdcd9;width:100%;display:block}@media (width<=1000px){.tavole,.projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.tavole{grid-template-columns:1fr}.reels{grid-auto-columns:62vw}.home-grid,.contact,.sec-text,.sec-plan{grid-template-columns:1fr;align-items:start;min-height:0}.projects{grid-template-columns:1fr}.menu-toggle{display:block}.site-nav{z-index:-1;padding:0 var(--gutter);background:var(--tavola);opacity:0;visibility:hidden;flex-direction:column;justify-content:center;align-items:flex-start;gap:22px;transition:opacity .35s,visibility .35s;position:fixed;inset:0}body.menu-open .site-nav{opacity:1;visibility:visible}body.menu-open,body.is-index.menu-open:not(.tavola){--ink:#262728;--ink-soft:#5c5f61;--line:#26272838}body.menu-open .enter,body.menu-open .enter-meta{text-shadow:none}body.menu-open{overflow:hidden}.site-nav a{letter-spacing:.06em;text-transform:none;font-size:30px;font-family:var(--font-display);color:var(--ink)}.site-nav a:after{right:0}.enter{gap:12px}.site-footer .hide-sm{display:none}.footer-full{grid-template-columns:1fr}.footer-nav{grid-template-columns:repeat(2,auto);justify-content:start;column-gap:28px}.contact .row{grid-template-columns:1fr;gap:4px}}@media (pointer:coarse){a.label,.more,.back,.video-link,.contact dd a,.enter,.home-text a{margin-block:-12px;padding-block:12px;display:inline-block}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.lb{z-index:50;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.lb[hidden]{display:none}.lb-bg{opacity:0;background:#eeeeebf7;transition:opacity .45s;position:absolute;inset:0}.lb.on .lb-bg{opacity:1}.lb-head,.lb-foot,.lb-nav{opacity:0;transition:opacity .4s .15s}.lb.on .lb-head,.lb.on .lb-foot,.lb.on .lb-nav{opacity:1}.lb-head{padding:calc(env(safe-area-inset-top,0px) + 22px) var(--gutter) 12px;justify-content:space-between;align-items:baseline;gap:16px;display:flex;position:relative}.lb-title-wrap{flex-wrap:wrap;align-items:baseline;gap:18px;min-width:0;display:flex}.lb-group{letter-spacing:.04em;font-size:clamp(18px,2.2vw,26px)}.lb-link{color:var(--ink);text-underline-offset:5px}.lb-stage{min-height:0;padding-inline:var(--gutter);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.lb-media{place-items:center;height:100%;min-height:0;display:grid;position:relative}.lb-media>*{background:#e4e4e1;display:block;box-shadow:0 30px 60px -30px #26272873}.lb-media video{background:#000}.lb button{font-family:var(--font-mono);color:var(--ink);cursor:pointer;background:0 0;border:0}.lb-close{white-space:nowrap;padding:6px 0;font-size:12px}.lb-nav{opacity:.55;padding:16px 12px;font-size:22px}.lb.on .lb-nav:hover{opacity:1}.lb-foot{padding:12px var(--gutter) calc(env(safe-area-inset-bottom,0px) + 16px);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid;position:relative}.lb-strip{scrollbar-width:none;gap:8px;padding:4px 2px;display:flex;overflow-x:auto}.lb-strip::-webkit-scrollbar{display:none}.lb-strip button{opacity:.45;border:1px solid #0000;flex:none;width:44px;height:58px;padding:0;transition:opacity .2s,border-color .2s,transform .2s}.lb-strip button img{object-fit:cover;width:100%;height:100%;display:block}.lb-strip button:hover{opacity:.85}.lb-strip button[aria-current=true]{opacity:1;border-color:var(--ink);transform:translateY(-3px)}.lb-strip .is-video:after{content:"▶";position:absolute}.lb-strip button.is-video{place-items:center;display:grid;position:relative}.lb-strip button.is-video:after{color:#fff;text-shadow:0 0 4px #0009;font-size:12px}.lb-ghost{z-index:60;pointer-events:none;object-fit:cover;transform-origin:0 0;position:fixed}@media (width<=760px){.lb-nav{display:none}.lb-stage{grid-template-columns:minmax(0,1fr);padding-inline:12px}.lb-strip button{width:36px;height:48px}}
