const DS=window.AgustinaRodrGuezAresArchivoDesignSystem_bb1a86;
const{Folder,Sheet,Photo,Note,Button,Label,Input,Textarea,ObjectImage,Divider,Tag}=DS;
const OBJ='assets/objects';
const mono=(s=11,c='var(--text-muted)')=>({fontFamily:'var(--font-mono)',fontSize:s,textTransform:'uppercase',letterSpacing:'var(--tracking-label)',color:c});

function MiniFolder({label,title,sub,cat,tone,tab,tilt,onClick}){
  return (
    <Folder label={label} tone={tone} tabPosition={tab} tilt={tilt} interactive papers texturePath="assets/objects/manila-textura.jpg" onClick={onClick} style={{width:'100%'}}>
      <div style={{minHeight:64,display:'flex',flexDirection:'column',justifyContent:'center',textAlign:'center',gap:6}}>
        {cat&&<div style={mono(11,'var(--tierra-700)')}>{cat}</div>}
        <div style={{fontFamily:'var(--font-display)',fontWeight:300,fontSize:20,lineHeight:1.15,color:'var(--tierra-900)'}}>{title}</div>
        {sub&&<div style={mono(11,'var(--tierra-700)')}>{sub}</div>}
      </div>
    </Folder>
  );
}

const STAGE_W=1300,STAGE_H=820;
function useFit(){
  const[s,setS]=React.useState(1);
  React.useEffect(()=>{
    const fit=()=>setS(Math.min(1,Math.max(.3,Math.min((innerWidth-28)/STAGE_W,(innerHeight-84)/STAGE_H))));
    fit();addEventListener('resize',fit);return()=>removeEventListener('resize',fit);
  },[]);
  return s;
}
const SAT_POS=[{left:150,top:56},{left:44,top:320},{left:56,top:590},{left:1000,top:322},{left:1010,top:576}];

function Hero({t,lang,onOpen,onContact,onAbout,shift}){
  const s=useFit();
  return (
    <section id="portada" className="pf-hero" style={{position:'relative',height:'100vh',overflow:'hidden',isolation:'isolate'}}>
      <div aria-hidden style={{position:'absolute',inset:0,background:"url('assets/backgrounds/fondo-web.png') center bottom/cover no-repeat",zIndex:0}}></div>
      <div aria-hidden className="pf-windwrap"><div className="pf-wind"></div></div>
      <div aria-hidden style={{position:'absolute',inset:0,backgroundImage:'var(--grain)',opacity:.05,mixBlendMode:'multiply',zIndex:1}}></div>

      <div data-hero style={{position:'absolute',left:'50%',top:'calc(50% + 22px)',width:STAGE_W,height:STAGE_H,transform:`translate(-50%,-50%) scale(${s}) translateX(${shift?-128:0}%)`,transformOrigin:'center',zIndex:3,opacity:shift?0:1,pointerEvents:shift?'none':'auto',transition:'transform var(--dur-slow) var(--ease-paper),opacity var(--dur-slow) var(--ease-paper)'}}>
        <div className="pf-flor" style={{position:'absolute',left:-18,bottom:0,width:0,height:0,overflow:'hidden'}}></div>

        {window.PF_PROJECTS.map((p,i)=>(
          <div key={p.id} className={'pf-sat'+(p.tabTone?' pf-tone-'+p.tabTone:'')} data-par={p.par} style={{position:'absolute',width:232,...SAT_POS[i],zIndex:4}}>
            <MiniFolder label={p.genre[lang]} cat={p.cat[lang]} title={p.title} tone={p.tone} tab={['left','center','right','center','left'][i]} tilt={[-2,1.4,-1.1,2,-1.6][i]} onClick={()=>onOpen(p)} />
          </div>
        ))}
        <div className="pf-sat" data-par="0.08" style={{position:'absolute',left:1000,top:54,width:232,zIndex:4}}>
          <MiniFolder label={t.contactTitle} title={t.nav[2]} sub="11 2283 2030" tone="salvia" tab="right" tilt={1.2} onClick={onContact} />
        </div>

        <div className="pf-cover" onClick={onAbout} title={t.aboutLabel} style={{position:'absolute',left:430,top:126,width:440,transform:'rotate(6.5deg)',zIndex:6,cursor:'pointer'}}>
          <div aria-hidden style={{position:'absolute',left:'6%',top:'2%',right:'-7%',bottom:'-3%',background:'var(--manila)',border:'1px solid rgba(80,50,40,.18)',borderRadius:'2px 4px 4px 2px',boxShadow:'0 10px 24px rgba(80,50,40,.22)'}}></div>
          <div aria-hidden style={{position:'absolute',left:'3%',top:'-1%',right:'-4%',bottom:'-1%',background:'var(--cielo)',filter:'brightness(.94)',border:'1px solid rgba(80,50,40,.20)',borderRadius:'2px 4px 6px 2px'}}></div>
          <div style={{position:'relative',height:568,background:'var(--cielo)',border:'1px solid rgba(80,50,40,.24)',borderRadius:'2px 2px 6px 18px',boxShadow:'0 3px 4px rgba(80,50,40,.18),0 40px 66px -20px rgba(80,50,40,.46)',display:'grid',placeItems:'center',padding:'44px 40px 44px 78px'}}>
            <div aria-hidden style={{position:'absolute',inset:0,borderRadius:'inherit',background:'linear-gradient(104deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,0) 28%,rgba(80,50,40,.05) 76%,rgba(80,50,40,.10) 100%)'}}></div>
            <div aria-hidden style={{position:'absolute',inset:0,borderRadius:'inherit',backgroundImage:'var(--grain)',opacity:.12,mixBlendMode:'multiply'}}></div>
            <div style={{position:'absolute',left:24,top:'20%',bottom:'10%',display:'flex',alignItems:'center'}}>
              <span style={{writingMode:'vertical-rl',fontFamily:'var(--font-mono)',fontSize:13,letterSpacing:'.14em',color:'var(--tierra-900)'}}>Agustina Rodríguez Ares</span>
            </div>
            <h1 style={{position:'relative',margin:'0 0 12px',fontFamily:'var(--font-display)',fontWeight:300,fontSize:60,lineHeight:1,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-900)',whiteSpace:'nowrap',textAlign:'center'}}>
              <span style={{fontFamily:'var(--font-script)',fontSize:'1.5em',lineHeight:.8,verticalAlign:'-.12em'}}>P</span><span>ortfolio</span>
            </h1>
            <div style={{position:'absolute',bottom:26,left:78,right:104,lineHeight:1.7,...mono(10,'var(--tierra-800)')}}>{t.sub}</div>
            <img src={OBJ+'/wax-seal-burgundy.png'} alt="" aria-hidden style={{position:'absolute',right:26,bottom:22,width:58,filter:'drop-shadow(0 4px 6px rgba(80,50,40,.3))',transform:'rotate(-9deg)'}} />
          </div>
          <div className="pf-polaroid" style={{position:'absolute',right:2,top:-26,width:158,transform:'rotate(-4deg)',zIndex:7}}>
            <Photo src="assets/photos/agustina-retrato.jpg" alt="Agustina en set" ratio="3 / 4" frame="border" />
            <img src={OBJ+'/clip-brass.png'} alt="" aria-hidden style={{position:'absolute',top:-52,left:'26%',width:'56%',filter:'drop-shadow(0 6px 8px rgba(80,50,40,.34))',transform:'rotate(2deg)'}} />
          </div>
        </div>

      </div>
    </section>
  );
}

function About({t}){
  return (
    <div id="sobre" style={{maxWidth:'var(--page-max)',margin:'0 auto'}}>
      <Label rule size="lg" style={{marginBottom:'var(--space-6)'}}>{t.aboutLabel}</Label>
      <div data-fx="1" style={{display:'grid',gridTemplateColumns:'1.35fr .9fr',gap:'var(--space-7)',alignItems:'start',willChange:'transform'}}>
        <Sheet ruled tone="paper" tilt={-.5} pad="var(--space-7)" elevation={2}>
          <div style={mono(11)}>Ficha 00 · {t.aboutRole}</div>
          <h2 style={{margin:'var(--space-4) 0 var(--space-5)',fontFamily:'var(--font-display)',fontWeight:300,fontSize:44,lineHeight:1.05,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-900)'}}>{t.aboutTitle}</h2>
          <p style={{margin:0,fontFamily:'var(--font-serif)',fontWeight:300,fontSize:19,lineHeight:'var(--rule-gap)',maxWidth:'var(--measure)',color:'var(--text-body)',textWrap:'pretty'}}>{t.aboutBody}</p>
          <div style={{display:'flex',gap:'var(--space-3)',marginTop:'var(--space-6)',flexWrap:'wrap'}}>
            <Tag tone="rosa">Producción</Tag><Tag tone="musgo">Escenografía</Tag><Tag tone="naranja">Fotografía</Tag>
          </div>
        </Sheet>
        <div style={{position:'relative',paddingTop:18}}>
          <Photo src="assets/photos/agustina-retrato.jpg" alt="Agustina en set" tilt={1.6} ratio="4 / 5" frame="border" caption={t.aboutNote} />
          <img src={OBJ+'/clip-steel.png'} alt="" aria-hidden style={{position:'absolute',top:-16,right:'18%',width:52,filter:'drop-shadow(0 5px 7px rgba(80,50,40,.28))',transform:'rotate(6deg)'}} />
        </div>
      </div>
    </div>
  );
}

function Typed({text,speed=64,delay=140,style,caret=true}){
  const[n,setN]=React.useState(0);
  React.useEffect(()=>{setN(0);},[text]);
  React.useEffect(()=>{
    if(n>=text.length)return;
    const id=setTimeout(()=>setN(n+1),n===0?delay:speed);
    return()=>clearTimeout(id);
  },[n,text,speed,delay]);
  const done=n>=text.length;
  return <span style={style}>{text.slice(0,n)}{caret&&!done&&<span style={{opacity:.55,animation:'pfCaret 1s steps(1,end) infinite'}}>|</span>}</span>;
}

function Presentacion({t,lang,onClose}){
  const sc=useFit();
  const[opened,setOpened]=React.useState(false);
  React.useEffect(()=>{const id=setTimeout(()=>setOpened(true),1650);return()=>clearTimeout(id);},[]);
  const rev=d=>({animation:'pfReveal 640ms var(--ease-paper) both',animationDelay:d+'ms'});
  const soft=d=>({animation:'pfSoftIn 700ms var(--ease-paper) both',animationDelay:d+'ms'});
  return (
    <div style={{position:'fixed',inset:0,zIndex:50,overflow:'hidden'}}>
      <div aria-hidden style={{position:'absolute',inset:0,background:"url('assets/backgrounds/fondo-web.png') center bottom/cover no-repeat"}}></div>
            <div aria-hidden style={{position:'absolute',inset:0,backgroundImage:'var(--grain)',opacity:.05,mixBlendMode:'multiply'}}></div>

      <div style={{position:'absolute',left:'50%',top:'calc(50% + 18px)',width:STAGE_W,height:STAGE_H,transform:'translate(-50%,-50%) scale('+sc+')',transformOrigin:'center'}}>
        <div style={{position:'absolute',left:96,top:96,width:1108,height:640,transform:'rotate(-.7deg)',perspective:'2200px',animation:'pfSpreadOpen 1800ms var(--ease-paper) both'}}>
          {!opened&&<div aria-hidden style={{position:'absolute',left:'50%',top:-14,width:'50%',height:'calc(100% + 24px)',zIndex:12,transformOrigin:'left center',transformStyle:'preserve-3d',backfaceVisibility:'hidden',WebkitBackfaceVisibility:'hidden',animation:'pfCoverOpen 1600ms var(--ease-paper) both',pointerEvents:'none'}}>
            <div style={{position:'relative',width:'100%',height:'100%',background:'var(--cielo)',border:'1px solid rgba(80,50,40,.24)',borderRadius:'2px 8px 8px 2px',boxShadow:'0 3px 4px rgba(80,50,40,.18),0 40px 66px -20px rgba(80,50,40,.46)',display:'grid',placeItems:'center'}}>
              <div aria-hidden style={{position:'absolute',inset:0,borderRadius:'inherit',background:'linear-gradient(104deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,0) 28%,rgba(80,50,40,.05) 76%,rgba(80,50,40,.10) 100%)'}}></div>
              <div aria-hidden style={{position:'absolute',inset:0,borderRadius:'inherit',backgroundImage:'var(--grain)',opacity:.12,mixBlendMode:'multiply'}}></div>
              <div style={{position:'absolute',left:26,top:'18%',bottom:'12%',display:'flex',alignItems:'center'}}>
                <span style={{writingMode:'vertical-rl',fontFamily:'var(--font-mono)',fontSize:13,letterSpacing:'.14em',color:'var(--tierra-900)'}}>Agustina Rodríguez Ares</span>
              </div>
              <div style={{position:'relative',fontFamily:'var(--font-display)',fontWeight:300,fontSize:56,lineHeight:1,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-900)',whiteSpace:'nowrap'}}>
                <span style={{fontFamily:'var(--font-script)',fontSize:'1.5em',lineHeight:.8,verticalAlign:'-.12em'}}>P</span><span>ortfolio</span>
              </div>
              <img src={OBJ+'/wax-seal-burgundy.png'} alt="" aria-hidden style={{position:'absolute',right:26,bottom:24,width:56,filter:'drop-shadow(0 4px 6px rgba(80,50,40,.3))',transform:'rotate(-9deg)'}} />
            </div>
          </div>}
          <div aria-hidden style={{position:'absolute',left:26,top:14,right:18,bottom:-14,background:'var(--hueso)',border:'1px solid rgba(80,50,40,.16)',transform:'rotate(.9deg)',boxShadow:'0 18px 34px -12px rgba(80,50,40,.34)',animation:'pfLeftIn 1900ms var(--ease-paper) both'}}></div>
          <div style={{position:'absolute',inset:0,display:'grid',gridTemplateColumns:'1fr 1fr'}}>
            <div style={{position:'relative',animation:'pfLeftIn 1900ms var(--ease-paper) both',background:'var(--crema)',border:'1px solid rgba(80,50,40,.16)',borderRight:'none',boxShadow:'inset -22px 0 34px -26px rgba(80,50,40,.5),0 3px 4px rgba(80,50,40,.14),0 40px 66px -22px rgba(80,50,40,.44)'}}>
              <div aria-hidden style={{position:'absolute',inset:0,backgroundImage:'var(--grain)',opacity:.09,mixBlendMode:'multiply'}}></div>
              <div style={{position:'absolute',left:26,top:64,bottom:64,display:'flex',flexDirection:'column',justifyContent:'space-between',...soft(900)}}>
                {[1,2,3,4,5,6].map(n=><span key={n} style={mono(10,'var(--tierra-600,var(--tierra-700))')}>{n}</span>)}
              </div>
              <div style={{position:'absolute',left:78,right:190,top:76}}>
                <div style={{...mono(11,'var(--tierra-700)'),...rev(1000)}}>{t.aboutLabel} · Ficha 00</div>
                <h2 style={{margin:'22px 0 0',fontFamily:'var(--font-display)',fontWeight:300,fontSize:62,lineHeight:.96,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-900)',...rev(1140)}}>
                  <span style={{fontFamily:'var(--font-script)',fontSize:'1.4em',lineHeight:.7,verticalAlign:'-.10em'}}>A</span>gustina
                </h2>
                <div style={{fontFamily:'var(--font-display)',fontWeight:300,fontSize:31,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-800)',marginTop:6,...rev(1290)}}>Rodríguez Ares</div>
                <div style={{...mono(11,'var(--tierra-700)'),marginTop:22,minHeight:30}}><Typed text={t.aboutRole} delay={1500} /></div>
              </div>
              <div style={{position:'absolute',left:80,top:330,width:216,fontFamily:'var(--font-hand)',fontSize:22,lineHeight:1.35,color:'var(--tierra-800)',transform:'rotate(-1.6deg)',minHeight:64,...soft(1950)}}>
                <Typed text={t.aboutNote} speed={74} delay={2100} />
              </div>
              <img src={OBJ+'/clover.png'} alt="" aria-hidden style={{position:'absolute',left:322,bottom:112,width:54,transform:'rotate(12deg)',zIndex:8,filter:'drop-shadow(0 5px 7px rgba(80,50,40,.26))',...soft(1850)}} />
              <div style={{position:'absolute',left:74,bottom:52,display:'flex',gap:10,flexWrap:'wrap',...rev(2250)}}>
                <Tag tone="rosa">Producción</Tag><Tag tone="musgo">Escenografía</Tag><Tag tone="naranja">Fotografía</Tag>
              </div>
              <div style={{position:'absolute',right:66,top:268,width:172,transform:'rotate(-4.2deg)',zIndex:6,...soft(1650)}}>
                <div style={{background:'#fffdf7',border:'1px solid rgba(80,50,40,.14)',padding:'9px 9px 30px',boxShadow:'var(--shadow-photo)'}}>
                  <div style={{position:'relative',aspectRatio:'4 / 5',overflow:'hidden',background:'var(--hueso)'}}>
                    <img src="assets/photos/agustina-retrato.jpg" alt="Agustina en set" style={{position:'absolute',inset:0,width:'100%',height:'100%',objectFit:'cover',display:'block'}} />
                  </div>
                </div>
                <img src={OBJ+'/clip-brass.png'} alt="" aria-hidden style={{position:'absolute',top:-44,left:'22%',width:'50%',filter:'drop-shadow(0 6px 8px rgba(80,50,40,.32))',transform:'rotate(3deg)'}} />
              </div>
            </div>
            <div style={{position:'relative',animation:'pfPagesIn 1900ms var(--ease-paper) both',background:'var(--crema)',border:'1px solid rgba(80,50,40,.16)',borderLeft:'none',boxShadow:'inset 22px 0 34px -26px rgba(80,50,40,.5),0 3px 4px rgba(80,50,40,.14),0 40px 66px -22px rgba(80,50,40,.44)'}}>
              <div aria-hidden style={{position:'absolute',inset:0,backgroundImage:'var(--grain)',opacity:.09,mixBlendMode:'multiply'}}></div>
              <div style={{position:'absolute',left:104,right:66,top:214}}>
                <p style={{margin:0,fontFamily:'var(--font-serif)',fontWeight:300,fontSize:21,lineHeight:'var(--rule-gap)',color:'var(--text-body)',textWrap:'pretty',...rev(2500)}}>{t.aboutBody}</p>
                <Divider style={{margin:'24px 0 16px',...soft(2700)}} />
                <div style={{display:'grid',gap:9}}>
                  {[[t.phone,'11 2283 2030'],['Mail','agus.rodriguez.ares@gmail.com'],['Instagram','@aagus.ares']].map(([k,v],ri)=>(
                    <div key={k} style={{display:'flex',justifyContent:'space-between',gap:14,borderBottom:'1px solid rgba(80,50,40,.14)',paddingBottom:6,...rev(2780+ri*110)}}>
                      <span style={mono(10,'var(--tierra-700)')}>{k}</span><span style={mono(10,'var(--tierra-900)')}>{v}</span>
                    </div>
                  ))}
                </div>
              </div>
              <div style={{position:'absolute',right:52,top:20,width:146,transform:'rotate(3.4deg)',...soft(2350)}}>
                <div style={{background:'#fffdf7',border:'1px solid rgba(80,50,40,.14)',padding:'9px 9px 26px',boxShadow:'var(--shadow-photo)'}}>
                  <div style={{position:'relative',aspectRatio:'1 / 1',overflow:'hidden',background:'var(--hueso)'}}>
                    <img src="assets/photos/presentacion.jpg" alt="Equipo de trabajo" style={{position:'absolute',inset:0,width:'100%',height:'100%',objectFit:'cover',display:'block'}} />
                  </div>
                </div>
                <img src={OBJ+'/paperclip.png'} alt="" aria-hidden style={{position:'absolute',top:-24,right:'14%',width:44,filter:'drop-shadow(0 5px 7px rgba(80,50,40,.30))',transform:'rotate(-16deg)'}} />
              </div>
            </div>
          </div>
          <img src={OBJ+'/filmstrip.png'} alt="" aria-hidden style={{position:'absolute',right:-34,bottom:-58,width:72,transform:'rotate(13deg)',filter:'drop-shadow(0 8px 12px rgba(80,50,40,.30))',zIndex:9,pointerEvents:'none',...soft(3150)}} />
          <img src={OBJ+'/safety-pin.png'} alt="" aria-hidden style={{position:'absolute',right:150,top:-20,width:54,transform:'rotate(24deg)',filter:'drop-shadow(0 6px 9px rgba(80,50,40,.28))',zIndex:9,pointerEvents:'none',...soft(3280)}} />
          <img src={OBJ+'/anillado-lomo.png?v=3'} alt="" aria-hidden style={{position:'absolute',left:'50%',top:-10,bottom:-10,transform:'translateX(-50%)',height:'calc(100% + 20px)',width:104,objectFit:'fill',filter:'sepia(.16) saturate(1.04) brightness(.985) drop-shadow(0 6px 10px rgba(80,50,40,.30))',zIndex:7,pointerEvents:'none'}} />
          <div style={{position:'absolute',left:-58,top:196,transform:'rotate(-7deg)',zIndex:8,...soft(2950)}}>
            <div style={{background:'var(--manila)',border:'1px solid rgba(80,50,40,.24)',borderRadius:999,padding:'11px 22px',boxShadow:'0 8px 14px rgba(80,50,40,.24)',...mono(11,'var(--tierra-900)')}}>Sobre mí</div>
          </div>
        </div>
        <button onClick={onClose} aria-label={t.close} style={{...mono(13,'var(--tierra-900)'),position:'absolute',right:0,top:16,background:'rgba(255,249,237,.86)',border:'1px solid var(--border-strong)',borderRadius:2,padding:'8px 14px',cursor:'pointer',zIndex:20}}>× {t.close}</button>
      </div>
    </div>
  );
}

function Archive({t,lang,onOpen}){
  const tabs=['left','center','right','center','left'];
  return (
    <section id="archivo" style={{maxWidth:'var(--page-max)',margin:'0 auto',padding:'0 var(--space-7) var(--space-9)'}}>
      <Label rule size="lg" style={{marginBottom:'var(--space-3)'}}>{t.archiveLabel}</Label>
      <div style={{display:'flex',justifyContent:'space-between',alignItems:'baseline',gap:24,marginBottom:'var(--space-7)',flexWrap:'wrap'}}>
        <h2 style={{margin:0,fontFamily:'var(--font-display)',fontWeight:300,fontSize:44,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-900)'}}>{t.archiveTitle}</h2>
        <span style={mono(11)}>{t.archiveHint}</span>
      </div>
      <div style={{display:'grid',gridTemplateColumns:'repeat(2,1fr)',gap:'var(--space-8) var(--space-7)'}}>
        {window.PF_PROJECTS.map((p,i)=>(
          <div key={p.id} data-fx={0.7+i%2*0.5} style={{willChange:'transform'}}>
            <Folder label={p.tab[lang]} tone={p.tone} tabPosition={tabs[i]} tilt={[-1,.8,-.5,1.1,-.8][i]} interactive texturePath="assets/objects/manila-textura.jpg" onClick={()=>onOpen(p)}>
              <div style={{display:'flex',justifyContent:'space-between',alignItems:'flex-start',gap:16,minHeight:132}}>
                <div>
                  <div style={mono(11,'var(--tierra-700)')}>Ficha {p.n}</div>
                  <div style={{fontFamily:'var(--font-display)',fontWeight:300,fontSize:31,lineHeight:1.1,color:'var(--tierra-900)',marginTop:10}}>{p.title}</div>
                  <div style={{...mono(11,'var(--tierra-700)'),marginTop:10}}>{p.kind[lang]}</div>
                </div>
                <ObjectImage name={i%2?'paperclip':'filmstrip'} basePath={OBJ} size={i%2?44:66} tilt={i%2?-14:8} />
              </div>
              <div style={{display:'flex',justifyContent:'flex-end',marginTop:'var(--space-5)'}}><span style={mono(11,'var(--naranja)')}>{t.open} →</span></div>
            </Folder>
          </div>
        ))}
      </div>
    </section>
  );
}

function PaperWindow({onClose,children,width='min(1040px,96vw)',glass}){
  return (
    <div onClick={onClose} style={{position:'fixed',inset:0,zIndex:60,background:glass?'rgba(246,225,189,.52)':'rgba(62,38,30,.58)',backdropFilter:glass?'blur(14px) saturate(1.05)':undefined,WebkitBackdropFilter:glass?'blur(14px) saturate(1.05)':undefined,display:'grid',placeItems:'start center',overflowY:'auto',padding:'clamp(20px,5vh,64px) 20px 64px',animation:'pfIn var(--dur-base) var(--ease-paper)'}}>
      <div onClick={e=>e.stopPropagation()} style={{position:'relative',width,animation:'pfRise var(--dur-slow) var(--ease-paper)'}}>
        {glass?<React.Fragment>
          <button onClick={onClose} aria-label="Cerrar" style={{...mono(13,'var(--tierra-900)'),position:'absolute',top:-2,right:0,background:'rgba(255,249,237,.82)',border:'1px solid var(--border-strong)',borderRadius:2,padding:'7px 13px',cursor:'pointer',zIndex:5}}>×</button>
          {children}
        </React.Fragment>:<Sheet tone="crema" pad="clamp(24px,3.4vw,48px)" elevation={3} tilt={-.35}>
          <button onClick={onClose} aria-label="Cerrar" style={{...mono(14,'var(--tierra-800)'),position:'absolute',top:14,right:14,background:'transparent',border:'1px solid var(--border-strong)',borderRadius:2,padding:'6px 12px',cursor:'pointer',zIndex:2}}>×</button>
          {children}
        </Sheet>}
      </div>
    </div>
  );
}

const PH_SLOTS=[{left:742,top:36,w:322,r:-3.2,clip:'clip-steel'},{left:1040,top:150,w:246,r:4.1,clip:'paperclip'},{left:770,top:392,w:286,r:2.3,clip:'paperclip'},{left:1046,top:486,w:236,r:-4.6,clip:'clip-bronze'},{left:848,top:604,w:182,r:5.4,clip:'paperclip'}];

function NaturalPolaroid({src,alt}){
  const[ar,setAr]=React.useState(null);
  React.useEffect(()=>{
    let live=true;setAr(null);
    const im=new Image();
    im.onload=()=>{if(live&&im.naturalHeight)setAr(Math.min(1.6,Math.max(.68,im.naturalWidth/im.naturalHeight)));};
    im.src=src;
    return()=>{live=false;};
  },[src]);
  return (
    <div style={{background:'#fffdf7',border:'1px solid rgba(80,50,40,.14)',padding:'10px 10px 34px',boxShadow:'var(--shadow-photo)'}}>
      <div style={{position:'relative',aspectRatio:ar?String(ar):'1 / 1',background:'var(--hueso)',overflow:'hidden'}}>
        <img src={src} alt={alt} style={{position:'absolute',inset:0,width:'100%',height:'100%',objectFit:ar?'contain':'cover',display:'block'}} />
      </div>
    </div>
  );
}

function ClipPhoto({src,alt,slot,i,children,onOpen}){
  return (
    <div onClick={src?onOpen:undefined} className={src?'pf-clipphoto':undefined} style={{position:'absolute',left:slot.left,top:slot.top,width:slot.w,zIndex:6+i,cursor:src?'zoom-in':'default',animation:`pfFade var(--dur-slow) var(--ease-paper) ${.06*i+.12}s both`,transition:'transform var(--dur-base) var(--ease-paper)'}}>
      <div aria-hidden style={{position:'absolute',left:14,top:16,right:-16,bottom:-14,background:'#fffdf7',border:'1px solid rgba(80,50,40,.14)',transform:`rotate(${slot.r+3.4}deg)`,boxShadow:'0 10px 20px rgba(80,50,40,.20)'}}></div>
      <div style={{position:'relative',transform:`rotate(${slot.r}deg)`}}>
        {src?<NaturalPolaroid src={src} alt={alt} />:children}
        <img src={OBJ+'/'+slot.clip+'.png'} alt="" aria-hidden style={{position:'absolute',top:-34,left:'12%',width:'26%',minWidth:38,filter:'drop-shadow(0 5px 7px rgba(80,50,40,.30))',transform:'rotate(-6deg)',zIndex:3}} />
      </div>
    </div>
  );
}

function Lightbox({imgs,i,setI,onClose,alt}){
  React.useEffect(()=>{
    const k=e=>{if(e.key==='ArrowRight')setI((i+1)%imgs.length);else if(e.key==='ArrowLeft')setI((i-1+imgs.length)%imgs.length);};
    addEventListener('keydown',k);return()=>removeEventListener('keydown',k);
  },[i,imgs.length,setI]);
  const arrow=side=>({position:'absolute',[side]:'clamp(12px,3vw,44px)',top:'50%',transform:'translateY(-50%)',...mono(20,'var(--tierra-900)'),width:56,height:56,display:'grid',placeItems:'center',background:'rgba(255,249,237,.82)',border:'1px solid var(--border-strong)',borderRadius:2,cursor:'pointer',zIndex:3,boxShadow:'var(--shadow-lift-2)'});
  return (
    <div onClick={onClose} style={{position:'fixed',inset:0,zIndex:70,display:'grid',placeItems:'center',padding:'clamp(56px,8vh,96px) clamp(72px,10vw,150px)',background:'rgba(246,225,189,.52)',backdropFilter:'blur(14px) saturate(1.05)',WebkitBackdropFilter:'blur(14px) saturate(1.05)',animation:'pfFade var(--dur-base) var(--ease-paper) both'}}>
      <div onClick={e=>e.stopPropagation()} style={{position:'relative',maxWidth:'100%',maxHeight:'100%',background:'#fffdf7',border:'1px solid rgba(80,50,40,.18)',padding:'clamp(10px,1.2vw,18px)',boxShadow:'0 40px 80px -24px rgba(80,50,40,.5)',animation:'pfRise var(--dur-base) var(--ease-paper) both'}}>
        <img src={imgs[i]} alt={alt} style={{display:'block',maxWidth:'100%',maxHeight:'calc(100vh - 190px)',objectFit:'contain'}} />
        <div style={{display:'flex',justifyContent:'space-between',alignItems:'center',gap:16,paddingTop:'clamp(8px,1vw,14px)'}}>
          <span style={mono(11,'var(--tierra-700)')}>{alt}</span>
          <span style={mono(11,'var(--tierra-700)')}>{String(i+1).padStart(2,'0')} / {String(imgs.length).padStart(2,'0')}</span>
        </div>
      </div>
      {imgs.length>1&&<button aria-label="Anterior" onClick={e=>{e.stopPropagation();setI((i-1+imgs.length)%imgs.length);}} style={arrow('left')}>←</button>}
      {imgs.length>1&&<button aria-label="Siguiente" onClick={e=>{e.stopPropagation();setI((i+1)%imgs.length);}} style={arrow('right')}>→</button>}
      <button aria-label="Cerrar" onClick={onClose} style={{...mono(13,'var(--tierra-900)'),position:'absolute',right:'clamp(12px,3vw,44px)',top:'clamp(16px,3vh,34px)',background:'rgba(255,249,237,.82)',border:'1px solid var(--border-strong)',borderRadius:2,padding:'8px 14px',cursor:'pointer',zIndex:3}}>×</button>
    </div>
  );
}

function Tape({width=136,tilt=0,style}){
  return <div aria-hidden style={{width,height:44,background:'rgba(246,225,189,.72)',border:'1px solid rgba(80,50,40,.10)',boxShadow:'0 3px 6px rgba(80,50,40,.16)',transform:'rotate('+tilt+'deg)',clipPath:'polygon(3% 6%,26% 0,54% 7%,78% 1%,97% 8%,100% 92%,74% 100%,48% 93%,22% 100%,2% 94%)',backgroundImage:'var(--grain),linear-gradient(90deg,rgba(80,50,40,.06),rgba(80,50,40,0) 22%,rgba(80,50,40,.05) 68%,rgba(80,50,40,0))',...style}}></div>;
}

function PostIt({width=660,tilt=-1.4,label,note,children,style}){
  return (
    <div style={{position:'relative',width,transform:'rotate('+tilt+'deg)',...style}}>
      <div style={{position:'absolute',left:'50%',top:-30,transform:'translateX(-50%)',zIndex:3}}><Tape width={150} tilt={1.4} /></div>
      <div style={{position:'relative',background:'var(--crema)',border:'1px solid rgba(80,50,40,.14)',padding:'44px 40px 40px',boxShadow:'0 2px 3px rgba(80,50,40,.14),0 34px 56px -20px rgba(80,50,40,.46)'}}>
        <div aria-hidden style={{position:'absolute',inset:0,backgroundImage:'var(--grain)',opacity:.09,mixBlendMode:'multiply'}}></div>
        {label&&<div style={{...mono(11,'var(--tierra-700)'),marginBottom:20}}>{label}</div>}
        {children}
        {note&&<div style={{fontFamily:'var(--font-hand)',fontSize:21,color:'var(--tierra-800)',marginTop:22,transform:'rotate(-.8deg)'}}>{note}</div>}
      </div>
    </div>
  );
}

function VideoBox({v,onClose}){
  const src=v.yt?'https://www.youtube-nocookie.com/embed/'+v.yt+'?autoplay=1&rel=0&modestbranding=1':v.drive?'https://drive.google.com/file/d/'+v.drive+'/preview':null;
  return (
    <div onClick={onClose} style={{position:'fixed',inset:0,zIndex:70,display:'grid',placeItems:'center',padding:'clamp(48px,7vh,88px) clamp(28px,6vw,110px)',background:'rgba(246,225,189,.52)',backdropFilter:'blur(14px) saturate(1.05)',WebkitBackdropFilter:'blur(14px) saturate(1.05)',animation:'pfFade var(--dur-base) var(--ease-paper) both'}}>
      <div onClick={e=>e.stopPropagation()} style={{position:'relative',width:'min(1180px,100%)',background:'#fffdf7',border:'1px solid rgba(80,50,40,.18)',padding:'clamp(10px,1.2vw,18px)',boxShadow:'0 40px 80px -24px rgba(80,50,40,.5)',animation:'pfRise var(--dur-base) var(--ease-paper) both'}}>
        <div style={{position:'relative',aspectRatio:'16 / 9',background:'var(--tierra-900)'}}>
          {src
            ?<iframe src={src} title="Video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; picture-in-picture" allowFullScreen frameBorder="0" style={{position:'absolute',inset:0,width:'100%',height:'100%',border:'none',display:'block'}}></iframe>
            :<video src={v.src} controls autoPlay playsInline style={{position:'absolute',inset:0,width:'100%',height:'100%',display:'block'}}></video>}
        </div>
      </div>
      <button aria-label="Cerrar" onClick={onClose} style={{...mono(13,'var(--tierra-900)'),position:'absolute',right:'clamp(12px,3vw,44px)',top:'clamp(16px,3vh,34px)',background:'rgba(255,249,237,.82)',border:'1px solid var(--border-strong)',borderRadius:2,padding:'8px 14px',cursor:'pointer',zIndex:3}}>×</button>
    </div>
  );
}

function Ficha({p,t,lang,onClose}){
  const[zoom,setZoom]=React.useState(null);
  const[vzoom,setVzoom]=React.useState(null);
  React.useEffect(()=>{setZoom(null);setVzoom(null);},[p&&p.id]);
  React.useEffect(()=>{
    if(vzoom===null)return;
    const k=e=>{if(e.key==='Escape'){e.stopImmediatePropagation();setVzoom(null);}};
    addEventListener('keydown',k,true);return()=>removeEventListener('keydown',k,true);
  },[vzoom]);
  React.useEffect(()=>{
    if(zoom===null)return;
    const k=e=>{if(e.key==='Escape'){e.stopImmediatePropagation();setZoom(null);}};
    addEventListener('keydown',k,true);return()=>removeEventListener('keydown',k,true);
  },[zoom]);
  if(!p) return null;
  const s=useFit();
  const imgs=p.photos&&p.photos.length?p.photos:[];
  const n=imgs.length||p.slots||3;
  return (
    <div style={{position:'fixed',inset:0,zIndex:50,overflow:'hidden'}}>
      <div style={{position:'absolute',left:'50%',top:'calc(50% + 22px)',width:STAGE_W,height:STAGE_H,transform:`translate(-50%,-50%) scale(${s})`,transformOrigin:'center'}}>

        <div style={{position:'absolute',left:-300,top:104,width:470,transform:'rotate(-2.4deg)',zIndex:4,animation:'pfFade var(--dur-slow) var(--ease-paper) both'}}>
          <div aria-hidden style={{position:'absolute',left:38,top:-16,right:-30,height:300,background:'var(--hueso)',border:'1px solid rgba(80,50,40,.14)',transform:'rotate(1.6deg)'}}></div>
          <div aria-hidden style={{position:'absolute',left:30,top:-8,right:-44,height:330,background:`var(--${p.tone==='cielo'?'cielo':p.tone==='rosa'?'rosa':'crema'})`,border:'1px solid rgba(80,50,40,.14)',transform:'rotate(-1deg)',opacity:.9}}></div>
          <div style={{position:'relative',height:560,background:'var(--manila)',backgroundImage:"url('assets/objects/manila-textura.jpg')",backgroundSize:'cover',border:'1px solid rgba(80,50,40,.22)',borderRadius:'2px 6px 6px 2px',boxShadow:'0 26px 48px -14px rgba(80,50,40,.42)'}}>
            <div aria-hidden style={{position:'absolute',inset:0,backgroundImage:'var(--grain)',opacity:.10,mixBlendMode:'multiply'}}></div>
            <div style={{position:'absolute',right:18,top:28,bottom:34,display:'flex',alignItems:'center',justifyContent:'flex-end',gap:16}}>
              <span style={{writingMode:'vertical-rl',fontFamily:'var(--font-display)',fontWeight:300,fontSize:34,lineHeight:1,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-900)'}}>{p.title}</span>
              <span style={{writingMode:'vertical-rl',...mono(11,'var(--tierra-700)')}}>Ficha {p.n}</span>
            </div>
          </div>
          <div aria-hidden style={{position:'absolute',right:30,top:-26,width:132,height:28,background:p.tabTone?'var(--aqua)':`var(--${p.tone})`,border:'1px solid rgba(80,50,40,.20)',borderBottom:'none',borderRadius:'8px 8px 0 0',boxShadow:'0 -4px 10px rgba(80,50,40,.14)'}}></div>
        </div>

        {p.media!=='video'&&<div style={{position:'absolute',left:176,top:34,width:492,transform:'rotate(-3.4deg)',zIndex:5,animation:'pfFade var(--dur-slow) var(--ease-paper) .08s both'}}>
          <Sheet ruled tone="paper" pad="42px 40px 46px" elevation={3}>
            <div style={mono(11,'var(--tierra-700)')}>{p.kind[lang]}</div>
            <h2 style={{margin:'14px 0 0',fontFamily:'var(--font-display)',fontWeight:300,fontSize:46,lineHeight:1.02,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-900)'}}>{p.title}</h2>
            <div style={{...mono(11,'var(--tierra-700)'),marginTop:16}}>{p.role[lang]}</div>
            <Divider style={{margin:'26px 0'}} />
            <p style={{margin:0,fontFamily:'var(--font-serif)',fontWeight:300,fontSize:19,lineHeight:'var(--rule-gap)',color:'var(--text-body)',textWrap:'pretty'}}>{p.desc?p.desc[lang]:t.pendingFicha}</p>
            <div style={{display:'grid',gap:10,marginTop:30}}>
              {p.meta.map(([k,v])=>(
                <div key={k} style={{display:'flex',justifyContent:'space-between',gap:12,borderBottom:'1px solid rgba(80,50,40,.14)',paddingBottom:7}}>
                  <span style={mono(11,'var(--tierra-700)')}>{k}</span><span style={mono(11,'var(--tierra-900)')}>{v}</span>
                </div>
              ))}
              <div style={{display:'flex',justifyContent:'space-between',gap:12}}>
                <span style={mono(11,'var(--tierra-700)')}>Año</span><span style={mono(11,'var(--tierra-900)')}>{p.year}</span>
              </div>
            </div>
            <div style={{fontFamily:'var(--font-hand)',fontSize:21,color:'var(--tierra-800)',marginTop:26,transform:'rotate(-1.2deg)'}}>{p.note[lang]}</div>
          </Sheet>
        </div>}

        {p.media==='video'?(
          <div style={{position:'absolute',left:262,top:112,width:900,zIndex:6,animation:'pfFade var(--dur-slow) var(--ease-paper) .08s both'}}>
            <PostIt width={900} label={p.kind[lang]+' · '+p.role[lang]} note={p.note[lang]}>
              <div style={{display:'grid',gridTemplateColumns:'repeat(2,1fr)',gap:26}}>
                {[0,1].map(i=>(
                  <div key={i} style={{position:'relative'}}>
                    <div onClick={p.videos&&p.videos[i]?()=>setVzoom(i):undefined} style={{position:'relative',aspectRatio:'16 / 9',background:'var(--hueso)',border:'1px solid rgba(80,50,40,.16)',display:'grid',placeItems:'center',overflow:'hidden',cursor:p.videos&&p.videos[i]?'zoom-in':'default'}}>
                      {p.videos&&p.videos[i]?<React.Fragment>
                        <img src={p.videos[i].poster?p.videos[i].poster:p.videos[i].yt?'https://i.ytimg.com/vi/'+p.videos[i].yt+'/hqdefault.jpg':p.videos[i].drive?'https://drive.google.com/thumbnail?id='+p.videos[i].drive+'&sz=w1000':undefined} alt="" style={{position:'absolute',inset:0,width:'100%',height:'100%',objectFit:'cover',display:'block'}} />
                        <span aria-hidden style={{position:'relative',...mono(14,'var(--tierra-900)'),width:56,height:56,display:'grid',placeItems:'center',background:'rgba(255,249,237,.86)',border:'1px solid var(--border-strong)',borderRadius:999,boxShadow:'var(--shadow-lift-2)'}}>▶</span>
                      </React.Fragment>:<span style={mono(11,'var(--tierra-700)')}>Video {String(i+1).padStart(2,'0')}</span>}
                    </div>
                    <div style={{...mono(10,'var(--tierra-700)'),marginTop:10}}>{p.videos&&p.videos[i]&&p.videos[i].title?p.videos[i].title:'Pieza '+String(i+1).padStart(2,'0')}</div>
                    {p.videos&&p.videos[i]&&p.videos[i].sub&&<div style={{...mono(10,'var(--tierra-700)'),marginTop:5,opacity:.78}}>{p.videos[i].sub}</div>}
                  </div>
                ))}
              </div>
            </PostIt>
          </div>
        ):Array.from({length:Math.min(n,PH_SLOTS.length)}).map((_,i)=>(
          <ClipPhoto key={i} i={i} slot={PH_SLOTS[i]} src={imgs[i]} alt={p.title} onOpen={()=>setZoom(i)}>
            <div style={{background:'#fffdf7',border:'1px solid rgba(80,50,40,.14)',padding:'10px 10px 34px',boxShadow:'var(--shadow-photo)'}}>
              <div style={{position:'relative',aspectRatio:'1 / 1',background:'var(--hueso)'}}>
                <image-slot id={'pf-'+p.id+'-'+i} shape="rect" placeholder={t.dropHint}></image-slot>
              </div>
            </div>
          </ClipPhoto>
        ))}

        <button onClick={onClose} aria-label={t.close} style={{...mono(13,'var(--tierra-900)'),position:'absolute',right:0,top:-6,background:'rgba(255,249,237,.86)',border:'1px solid var(--border-strong)',borderRadius:2,padding:'8px 14px',cursor:'pointer',zIndex:20}}>× {t.close}</button>
      </div>
      {vzoom!==null&&p.videos&&p.videos[vzoom]&&<VideoBox v={p.videos[vzoom]} onClose={()=>setVzoom(null)} />}
      {zoom!==null&&imgs.length>0&&<Lightbox imgs={imgs} i={zoom} setI={setZoom} onClose={()=>setZoom(null)} alt={p.title} />}
    </div>
  );
}

function KeyedVideo({src,width,style}){
  const cv=React.useRef(null);
  React.useEffect(()=>{
    const v=document.createElement('video');
    v.src=src;v.muted=true;v.loop=true;v.playsInline=true;v.autoplay=true;
    let raf,ctx,W=0,H=0,alive=true;
    const start=()=>{
      const c=cv.current;if(!c)return;
      W=Math.min(480,v.videoWidth||480);H=Math.round(W*(v.videoHeight/v.videoWidth||1.34));
      c.width=W;c.height=H;ctx=c.getContext('2d',{willReadFrequently:true});
      const loop=()=>{
        if(!alive)return;
        if(v.readyState>=2){
          ctx.clearRect(0,0,W,H);ctx.drawImage(v,0,0,W,H);
          const d=ctx.getImageData(0,0,W,H),p=d.data;
          for(let i=0;i<p.length;i+=4){
            const mn=Math.min(p[i],p[i+1],p[i+2]);
            if(mn>=254)p[i+3]=0;
            else if(mn>247)p[i+3]=Math.round(255*(254-mn)/7);
          }
          ctx.putImageData(d,0,0);
        }
        raf=requestAnimationFrame(loop);
      };
      loop();
    };
    v.addEventListener('loadeddata',start);
    const pl=v.play();if(pl&&pl.catch)pl.catch(()=>{});
    return()=>{alive=false;cancelAnimationFrame(raf);v.removeEventListener('loadeddata',start);v.pause();v.src='';};
  },[src]);
  return <canvas ref={cv} aria-hidden style={{width,display:'block',...style}}></canvas>;
}

const FORM_ENDPOINT='https://formspree.io/f/mrpzloqa';

function Contact({t}){
  const[state,setState]=React.useState('idle');
  const sent=state==='sent';
  const submit=async e=>{
    e.preventDefault();
    const f=e.target,fd=new FormData(f);
    if(FORM_ENDPOINT.includes('TU_ID_ACA')){setState('sent');return;}
    setState('sending');
    try{
      const r=await fetch(FORM_ENDPOINT,{method:'POST',headers:{Accept:'application/json'},body:fd});
      if(!r.ok)throw new Error('bad');
      f.reset();setState('sent');
    }catch(err){setState('error');}
  };
  return (
    <div id="contacto" style={{maxWidth:'var(--page-max)',margin:'0 auto'}}>
      <Label rule size="lg" style={{marginBottom:'var(--space-6)'}}>{t.contactLabel}</Label>
      <div data-fx="1.1" style={{display:'grid',gridTemplateColumns:'1.15fr .58fr',gap:'var(--space-7)',alignItems:'start',willChange:'transform'}}>
        <Sheet ruled tone="paper" pad="var(--space-7)" elevation={2} tilt={.4}>
          <h2 style={{margin:0,fontFamily:'var(--font-display)',fontWeight:300,fontSize:44,letterSpacing:'var(--tracking-tight)',color:'var(--tierra-900)'}}>{t.contactTitle}</h2>
          <p style={{margin:'var(--space-4) 0 var(--space-6)',fontFamily:'var(--font-serif)',fontWeight:300,fontSize:19,lineHeight:'var(--rule-gap)',maxWidth:'var(--measure)',color:'var(--text-body)'}}>{t.contactBody}</p>
          <form onSubmit={submit} style={{display:'grid',gap:'var(--space-5)',maxWidth:520}}>
            <Input label={t.fName} name="nombre" required />
            <Input label={t.fMail} name="_replyto" type="email" required />
            <Textarea label={t.fMsg} name="mensaje" rows={4} />
            <input type="hidden" name="_subject" value="Consulta desde el portfolio" />
            <div style={{display:'flex',alignItems:'center',gap:'var(--space-5)'}}>
              <Button variant="solid" size="md" type="submit" disabled={state==='sending'}>{state==='sending'?'Enviando…':t.send}</Button>
              {state==='error'&&<span style={{fontFamily:'var(--font-hand)',fontSize:19,color:'var(--naranja)'}}>No salió. Escribime a agus.rodriguez.ares@gmail.com</span>}
              {sent&&<span style={{display:'flex',alignItems:'center',gap:12}}><ObjectImage name="wax-seal-burgundy" basePath={OBJ} size={46} tilt={-6} /><span style={{fontFamily:'var(--font-hand)',fontSize:19,color:'var(--tierra-800)'}}>{t.sent}</span></span>}
            </div>
          </form>
        </Sheet>
        <div style={{display:'grid',gap:'var(--space-5)',justifyItems:'start'}}>
          <Sheet tone="manila" pad="var(--space-5)" elevation={2} tilt={-1.2} style={{width:'100%',maxWidth:308,boxSizing:'border-box'}}>
            <div style={mono(10,'var(--tierra-700)')}>{t.phone}</div>
            <a href="https://wa.me/5491122832030?text=Hola%20Agus%2C%20te%20escribo%20desde%20tu%20portfolio" target="_blank" rel="noreferrer" style={{display:'block',marginTop:7,fontFamily:'var(--font-mono)',fontSize:17,letterSpacing:'.05em',color:'var(--tierra-900)',textDecoration:'none'}}>11 2283 2030</a>
            <div style={{...mono(9.5,'var(--tierra-700)'),marginTop:6}}>Abrir en WhatsApp</div>
            <Divider style={{margin:'var(--space-4) 0'}} />
            <div style={mono(10,'var(--tierra-700)')}>Mail</div>
            <a href="mailto:agus.rodriguez.ares@gmail.com" style={{display:'block',marginTop:6,fontFamily:'var(--font-mono)',fontSize:12.5,letterSpacing:'.03em',color:'var(--tierra-900)',textDecoration:'none',wordBreak:'break-all'}}>agus.rodriguez.ares@gmail.com</a>
            <Divider style={{margin:'var(--space-4) 0'}} />
            <div style={mono(10,'var(--tierra-700)')}>Instagram</div>
            <a href="https://instagram.com/aagus.ares" target="_blank" rel="noreferrer" style={{display:'block',marginTop:6,fontFamily:'var(--font-mono)',fontSize:14,letterSpacing:'.04em',color:'var(--tierra-900)',textDecoration:'none'}}>@aagus.ares</a>
          </Sheet>
          <KeyedVideo src="assets/objects/maquina-contacto.mp4" width={236} style={{marginLeft:2,filter:'drop-shadow(0 12px 16px rgba(80,50,40,.24))'}} />
        </div>
      </div>
      <div style={{...mono(11,'var(--text-faint)'),marginTop:'var(--space-7)',textAlign:'center'}}>{t.footer}</div>
    </div>
  );
}
Object.assign(window,{Hero,About,Presentacion,Archive,Ficha,Contact,MiniFolder,PaperWindow});
