[data-obra]{--bg:#17140f;--bg-soft:#1e1a14;--paper:#efeae0;--stone:#c9c2b4;--brick:#7a3b2e;--olive:#5c6350;--brass:#a9834f;--ink:#1f1c17;--line:#a9834f47;--line-soft:#efeae01a;background:var(--bg);color:var(--paper);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}[data-obra] *{box-sizing:border-box}[data-obra] ::selection{background:var(--brick);color:var(--paper)}[data-obra] h1,[data-obra] h2,[data-obra] h3{color:var(--paper);letter-spacing:-.01em;margin:0;font-family:Fraunces,serif;font-weight:400}[data-obra] .mono{letter-spacing:.04em;text-transform:uppercase;font-family:IBM Plex Mono,monospace}[data-obra] .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brass);align-items:center;gap:10px;margin-bottom:18px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}[data-obra] .eyebrow:before{content:"";background:var(--brass);width:22px;height:1px;display:block}[data-obra] a{color:inherit}[data-obra] .wrap{max-width:1180px;margin:0 auto;padding:0 40px}@media (width<=720px){[data-obra] .wrap{padding:0 22px}}[data-obra] .ticked{position:relative}[data-obra] .ticked:before,[data-obra] .ticked:after,[data-obra] .ticked .tick-br,[data-obra] .ticked .tick-bl{content:"";border-color:var(--brass);opacity:.55;width:14px;height:14px;position:absolute}[data-obra] .ticked:before{border-top:1px solid var(--brass);border-left:1px solid var(--brass);top:-1px;left:-1px}[data-obra] .ticked:after{border-top:1px solid var(--brass);border-right:1px solid var(--brass);top:-1px;right:-1px}[data-obra] .ticked .tick-bl{border-bottom:1px solid var(--brass);border-left:1px solid var(--brass);bottom:-1px;left:-1px}[data-obra] .ticked .tick-br{border-bottom:1px solid var(--brass);border-right:1px solid var(--brass);bottom:-1px;right:-1px}[data-obra] .obra-header{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#17140feb,#17140f00);justify-content:space-between;align-items:center;padding:22px 40px;display:flex;position:fixed;top:0;left:0;right:0}@media (width<=720px){[data-obra] .obra-header{padding:18px 22px}}[data-obra] .logo{letter-spacing:.02em;align-items:baseline;gap:6px;font-family:Fraunces,serif;font-size:22px;display:flex}[data-obra] .logo sup{color:var(--brass);letter-spacing:.1em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:10px}[data-obra] nav{align-items:center;gap:34px;display:flex}[data-obra] nav a.navlink{color:var(--stone);font-size:13px;text-decoration:none;transition:color .2s;position:relative}[data-obra] nav a.navlink:hover{color:var(--paper)}[data-obra] .btn{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--brass);color:var(--paper);cursor:pointer;white-space:nowrap;background:0 0;padding:11px 20px;font-family:IBM Plex Mono,monospace;font-size:11px;text-decoration:none;transition:background .25s,color .25s}[data-obra] .btn:hover{background:var(--brass);color:var(--ink)}@media (width<=900px){[data-obra] nav .navlink{display:none}}[data-obra] .hero{background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);background-position:50% -1px;background-size:64px 64px;flex-direction:column;justify-content:center;min-height:100vh;padding-top:120px;padding-bottom:60px;display:flex;position:relative}[data-obra] .hero:after{content:"";background:radial-gradient(ellipse at 60% 30%, transparent 0%, var(--bg) 78%);pointer-events:none;position:absolute;inset:0}[data-obra] .hero-grid{z-index:2;grid-template-columns:1fr 260px;align-items:end;gap:60px;display:grid;position:relative}@media (width<=900px){[data-obra] .hero-grid{grid-template-columns:1fr}}[data-obra] .hero h1{max-width:15ch;font-size:clamp(38px,6vw,74px);font-weight:300;line-height:1.06}[data-obra] .hero h1 em{color:var(--brick);font-style:italic}[data-obra] .hero p.lede{max-width:46ch;color:var(--stone);margin-top:26px;font-size:16px}[data-obra] .hero-cta{flex-wrap:wrap;align-items:center;gap:18px;margin-top:38px;display:flex}[data-obra] .link-arrow{color:var(--paper);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--brass);padding-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:12px;text-decoration:none;transition:opacity .2s}[data-obra] .link-arrow:hover{opacity:.7}[data-obra] .titleblock{color:var(--stone);padding:18px;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.9}[data-obra] .titleblock .row{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:8px;padding-top:8px;display:flex}[data-obra] .titleblock .row:first-child{border-top:none;margin-top:0;padding-top:0}[data-obra] .titleblock .k{color:var(--brass)}[data-obra] section{padding:130px 0;position:relative}@media (width<=720px){[data-obra] section{padding:90px 0}}[data-obra] .section-head{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:64px;display:flex}@media (width<=720px){[data-obra] .section-head{flex-direction:column;align-items:flex-start;gap:20px}}[data-obra] .section-head h2{max-width:20ch;font-size:clamp(28px,4vw,42px);font-weight:300}[data-obra] .section-head p{color:var(--stone);max-width:34ch;margin:0;font-size:14.5px}[data-obra] .projects{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}@media (width<=900px){[data-obra] .projects{grid-template-columns:1fr}}[data-obra] .project-card{background:var(--bg);padding:36px 30px 30px;transition:background .3s;position:relative}[data-obra] .project-card:hover{background:var(--bg-soft)}[data-obra] .project-card svg{width:100%;height:120px;margin-bottom:26px}[data-obra] .project-card .cat{letter-spacing:.1em;text-transform:uppercase;color:var(--brass);opacity:.85;font-family:IBM Plex Mono,monospace;font-size:10px}[data-obra] .project-card h3{margin-top:10px;font-size:22px;font-weight:400}[data-obra] .project-card .meta{color:var(--stone);border-top:1px solid var(--line);justify-content:space-between;margin-top:14px;padding-top:14px;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}[data-obra] .project-card .go{color:var(--paper);opacity:.65;margin-top:20px;font-size:12px;text-decoration:none;display:inline-block}[data-obra] .project-card .go:hover{opacity:1}[data-obra] .viewer-section{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}[data-obra] .viewer-frame{border:1px solid var(--line);background:#0b0d14;position:relative}[data-obra] .canvas-holder{cursor:grab;width:100%;height:640px;display:block}[data-obra] .canvas-holder:active{cursor:grabbing}@media (width<=720px){[data-obra] .canvas-holder{height:440px}}[data-obra] .canvas-holder canvas{width:100%;height:100%;display:block}[data-obra] .viewer-loading{letter-spacing:.08em;text-transform:uppercase;color:var(--brass);z-index:5;background:#0b0d14;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:opacity .5s;display:flex;position:absolute;inset:0}[data-obra] .spinner{border:1px solid var(--line);border-top:1px solid var(--brass);border-radius:50%;width:22px;height:22px;animation:.9s linear infinite obra-spin}@keyframes obra-spin{to{transform:rotate(360deg)}}[data-obra] .viewer-controls{z-index:4;pointer-events:none;flex-wrap:wrap;justify-content:space-between;gap:14px;display:flex;position:absolute;top:18px;left:18px;right:18px}[data-obra] .ctrl-group{border:1px solid var(--line);pointer-events:all;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b0d14b8;gap:2px;display:flex}[data-obra] .ctrl-group button{letter-spacing:.08em;text-transform:uppercase;color:var(--stone);cursor:pointer;background:0 0;border:none;padding:10px 14px;font-family:IBM Plex Mono,monospace;font-size:10.5px;transition:background .2s,color .2s}[data-obra] .ctrl-group button.active{background:var(--brass);color:var(--ink)}[data-obra] .ctrl-group button:hover:not(.active){color:var(--paper);background:#a9834f2e}[data-obra] .viewer-presets{border:1px solid var(--line);z-index:4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b0d14b8;gap:2px;display:flex;position:absolute;bottom:18px;left:18px}[data-obra] .viewer-presets button{letter-spacing:.06em;text-transform:uppercase;color:var(--stone);cursor:pointer;background:0 0;border:none;padding:10px 13px;font-family:IBM Plex Mono,monospace;font-size:10.5px;transition:background .2s,color .2s}[data-obra] .viewer-presets button:hover{color:var(--paper);background:#a9834f2e}[data-obra] .viewer-caption{border:1px solid var(--line);letter-spacing:.05em;color:var(--stone);text-align:right;z-index:4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b0d14b8;padding:10px 16px;font-family:IBM Plex Mono,monospace;font-size:10.5px;position:absolute;bottom:18px;right:18px}@media (width<=720px){[data-obra] .viewer-presets{display:none}[data-obra] .viewer-caption{text-align:left;left:18px;right:18px}}[data-obra] .viewer-hint{color:var(--olive);align-items:center;gap:8px;margin-top:18px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}[data-obra] .process{grid-template-columns:repeat(4,1fr);gap:40px;display:grid}@media (width<=900px){[data-obra] .process{grid-template-columns:1fr 1fr}}@media (width<=560px){[data-obra] .process{grid-template-columns:1fr}}[data-obra] .step{border-top:1px solid var(--line);padding-top:20px}[data-obra] .step .num{color:var(--brass);font-family:IBM Plex Mono,monospace;font-size:12px}[data-obra] .step h3{margin-top:10px;font-size:19px;font-weight:400}[data-obra] .step p{color:var(--stone);margin-top:10px;font-size:13.5px}[data-obra] .contact{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;display:grid}@media (width<=900px){[data-obra] .contact{grid-template-columns:1fr}}[data-obra] .contact h2{max-width:14ch;font-size:clamp(30px,5vw,50px);font-weight:300}[data-obra] .contact p{color:var(--stone);max-width:42ch;margin-top:20px}[data-obra] .contact-box{border:1px solid var(--line);padding:30px}[data-obra] .contact-box .mono{color:var(--brass);margin-bottom:16px;font-size:11px;display:block}[data-obra] .contact-box .field{margin-bottom:18px}[data-obra] .contact-box label{color:var(--stone);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:11px;display:block}[data-obra] .contact-box input,[data-obra] .contact-box textarea{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--paper);background:0 0;outline:none;padding:8px 0;font-family:Inter,sans-serif;font-size:14px}[data-obra] .contact-box input:focus,[data-obra] .contact-box textarea:focus{border-color:var(--brass)}[data-obra] .obra-footer{border-top:1px solid var(--line);color:var(--stone);padding:34px 0;font-size:12px}[data-obra] .obra-footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}@media (width<=720px){[data-obra] .obra-footer .wrap{text-align:center;flex-direction:column}}[data-obra] .obra-footer nav{gap:22px}[data-obra] .obra-footer nav a{color:var(--stone);font-size:12px;text-decoration:none}[data-obra] .obra-footer nav a:hover{color:var(--paper)}[data-obra] .reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}[data-obra] .reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){[data-obra] .reveal{opacity:1;transition:none;transform:none}[data-obra] html{scroll-behavior:auto}}[data-obra] button:focus-visible,[data-obra] a:focus-visible,[data-obra] input:focus-visible,[data-obra] textarea:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
