
html { scroll-behavior:auto; }
body { touch-action:pan-y; }
.framer-uNpys.framer-uNpys .framer-wa05fy { height:60svh; min-height:340px; }
.framer-uNpys.framer-uNpys .framer-7mxoqc { gap:40px; }
.framer-uNpys.framer-uNpys .framer-7piijt-container { background-image:url('/assets/framer/images/TJxdPkSjilFo62nuigVlkJjdI4.png'); background-size:cover; background-position:center; border-radius:12px; overflow:hidden; }
.framer-uNpys.framer-uNpys .framer-7piijt-container canvas { animation:enr-photo-reveal 900ms cubic-bezier(.22,1,.36,1) both; }
@keyframes enr-photo-reveal { from { opacity:0; } to { opacity:1; } }
@media(max-width:809px) {
 .framer-uNpys.framer-uNpys .framer-3usgsg { padding:40px 24px 48px; }
 .framer-uNpys.framer-uNpys .framer-1uoh6bi { padding:0; }
 .framer-uNpys.framer-uNpys .framer-7mxoqc { gap:28px; }
 .framer-uNpys.framer-uNpys .framer-14b6kf8 { padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .framer-uNpys.framer-uNpys .framer-7piijt-container canvas { animation:none; } }

/* ENR: color, rhythm and usable controls in both themes. */
:root { --enr-bg:#0a0a0a; --enr-text:#fafafa; --enr-muted:#b0b0b0; --enr-surface:#161616; --enr-border:#444; --enr-accent:#e1ff8a; --enr-gutter:clamp(24px,5.4vw,64px); color-scheme:dark; }
:root[data-theme="light"] { --enr-bg:#fafafa; --enr-text:#0a0a0a; --enr-muted:#575757; --enr-surface:#f0f1f3; --enr-border:#a1a1a1; --enr-accent:#d7ff6b; color-scheme:light; }
body { background:var(--enr-bg)!important; color:var(--enr-text); --token-45f8313c-0b44-4d9d-ae82-f9640dfb87c9:var(--enr-muted); --token-d0e2e07c-f4e5-496e-bf9d-db609c402cb4:var(--enr-bg); --token-6f61d6dd-90e0-4cfc-b01e-e12ca2d284f8:var(--enr-text); -webkit-text-size-adjust:100%; }
.framer-uNpys.framer-uNpys.framer-72rtr7 { background:var(--enr-bg)!important; width:100%!important; }
.framer-uNpys.framer-uNpys .framer-70zvsy { padding:16px var(--enr-gutter) 0; opacity:1; }
.framer-uNpys.framer-uNpys .framer-14b6kf8 { padding:24px var(--enr-gutter); }
.framer-uNpys.framer-uNpys .framer-kgdnlt-container { margin-right:0; }
.framer-uNpys.framer-uNpys .framer-99afgq { padding-inline:var(--enr-gutter); }
.framer-uNpys.framer-uNpys .framer-1tks0cm-container > div > div { color:var(--enr-text)!important; }
.framer-uNpys.framer-uNpys .framer-3usgsg { padding:72px var(--enr-gutter); }
.framer-uNpys.framer-uNpys .framer-7mxoqc { gap:clamp(28px,5vw,64px); }
.framer-uNpys.framer-uNpys .framer-w5yd7w { height:auto; min-width:0; }
.framer-uNpys.framer-uNpys .framer-7piijt-container { max-width:340px; opacity:1; border-radius:24px; }
.framer-uNpys.framer-uNpys .framer-igeiyh { padding:0; min-width:0; }
.framer-uNpys.framer-uNpys .framer-igeiyh .framer-text { line-height:1.6; }
.framer-uNpys.framer-uNpys .framer-1l5e6b2 { flex-direction:column; gap:20px; }
.framer-uNpys.framer-uNpys .framer-vqcf0x { padding:48px var(--enr-gutter) 72px; gap:32px; align-items:flex-start; }
.framer-uNpys.framer-uNpys .framer-wu7qtn { padding:64px var(--enr-gutter); gap:40px; border-top:0; }
.framer-uNpys.framer-uNpys .framer-15yk1g0 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; gap:40px 24px; }
.framer-uNpys.framer-uNpys .framer-15yk1g0 > div { width:100%; min-width:0; gap:20px; }
.framer-uNpys.framer-uNpys .framer-15yk1g0 .framer-text { white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
.framer-uNpys.framer-uNpys .framer-1y3gycx-container { display:block; inset:32px 4%; width:auto; height:auto; pointer-events:none; }
.framer-uNpys.framer-uNpys .framer-ykD4k { background:var(--enr-surface)!important; --border-color:var(--enr-border)!important; }
.framer-uNpys.framer-uNpys .framer-ypQRv { background:var(--enr-surface)!important; --border-color:var(--enr-border)!important; }
.framer-uNpys.framer-uNpys .framer-9iwf5y { gap:12px; overflow:visible; min-width:0; }
.framer-uNpys.framer-uNpys .framer-9iwf5y > div { height:auto; min-height:44px; max-width:100%; }
.framer-uNpys.framer-uNpys .framer-9iwf5y a { min-height:44px; max-width:100%; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-text { white-space:normal; overflow-wrap:anywhere; }
.framer-uNpys.framer-uNpys .framer-1iu9ocj { padding:24px 0 0; border-top:0; }
.framer-Ox3Fk.framer-Ox3Fk a { min-height:44px; }
[data-theme="light"] .framer-uNpys.framer-uNpys .framer-46zn2q-container { filter:invert(1); }
[data-theme="light"] .framer-uNpys.framer-uNpys .framer-ca3p46-container [data-border] { --border-color:var(--enr-border)!important; }
[data-theme="light"] .framer-uNpys.framer-uNpys .framer-ca3p46-container .framer-text { color:var(--enr-text)!important; }
[data-theme="light"] .framer-uNpys.framer-uNpys .framer-ca3p46-container svg { --1m973uw:var(--enr-text)!important; }
[data-theme="light"] .framer-uNpys.framer-uNpys .framer-ca3p46-container svg path { fill:var(--enr-text); }
.enr-theme-toggle { position:fixed; z-index:100; top:calc(38px + env(safe-area-inset-top)); right:max(24px,env(safe-area-inset-right)); display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid var(--enr-border); border-radius:999px; background:var(--enr-bg); color:var(--enr-text); font:500 14px/1.2 Arial,sans-serif; cursor:pointer; }
.enr-theme-toggle span:first-child { font-size:20px; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--enr-text)!important; outline-offset:5px; }
.enr-theme-toggle:focus-visible { outline-color:var(--enr-text)!important; }
.enr-skip { position:fixed; top:12px; left:24px; z-index:200; padding:14px 18px; background:var(--enr-accent); color:#0a0a0a; border-radius:8px; transform:translateY(-200%); font:16px Arial,sans-serif; }
.enr-skip:focus { transform:none; }
::selection { background:var(--enr-accent)!important; color:#0a0a0a!important; }
@media(hover:hover) { .enr-theme-toggle:hover { background:var(--enr-surface); } .framer-Ox3Fk.framer-Ox3Fk a:hover { background:var(--enr-surface)!important; } }
@media(max-width:809px) {
 .framer-uNpys.framer-uNpys .framer-70zvsy .framer-text { font-size:12px; line-height:1.5; }
 .framer-uNpys.framer-uNpys .framer-3usgsg { padding:40px var(--enr-gutter) 56px; }
 .framer-uNpys.framer-uNpys .framer-1uoh6bi { padding:0; }
 .framer-uNpys.framer-uNpys .framer-7piijt-container { max-width:240px; }
 .framer-uNpys.framer-uNpys .framer-w5yd7w { width:100%; flex:none; align-items:flex-start; }
 .framer-uNpys.framer-uNpys .framer-1l5e6b2 { gap:16px; }
 .framer-uNpys.framer-uNpys .framer-vqcf0x { padding:32px var(--enr-gutter) 56px; gap:24px; }
 .framer-uNpys.framer-uNpys .framer-wu7qtn { padding:48px var(--enr-gutter); gap:32px; }
 .framer-uNpys.framer-uNpys .framer-15yk1g0 { grid-template-columns:1fr; gap:32px; }
 .framer-uNpys.framer-uNpys .framer-15yk1g0 > div { border-bottom:0; padding-bottom:32px; }
 .framer-uNpys.framer-uNpys .framer-1amw8m4 { width:100%; }
 .enr-theme-toggle { padding:10px 14px; }
 .enr-theme-label { display:inline; }
 .framer-uNpys.framer-uNpys .framer-kgdnlt-container { margin-right:0; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } [data-framer-appear-id] { opacity:1!important; transform:none!important; } }
.framer-uNpys.framer-uNpys .framer-15yk1g0 > div > :first-child { padding-right:48px; }
.framer-uNpys.framer-uNpys .framer-15yk1g0 [class$="-container"][style] { max-width:100%; }
.framer-uNpys.framer-uNpys .framer-1wsrpih-container,.framer-uNpys.framer-uNpys .framer-19njd16-container,.framer-uNpys.framer-uNpys .framer-un0pxy-container,.framer-uNpys.framer-uNpys .framer-v0fdll-container,.framer-uNpys.framer-uNpys .framer-1h7p71n-container,.framer-uNpys.framer-uNpys .framer-18cbiqq-container,.framer-uNpys.framer-uNpys .framer-1o61jla-container { width:44px; height:44px; }
@media(pointer:coarse) { .framer-uNpys.framer-uNpys,[data-framer-cursor] { cursor:auto!important; } }
[data-theme="light"] .framer-uNpys.framer-uNpys .framer-ca3p46-container [id="physics-body"] > div { background-color:var(--enr-surface)!important; }

@media(max-width:809px) { .framer-uNpys.framer-uNpys .framer-1y3gycx-container { inset:24px 12px; } }

/* Keep authored Framer rules from reintroducing intrinsic one-pixel columns. */
#__framer-badge-container, .__framer-badge { display:none!important; }
.enr-theme-toggle { top:auto; right:max(20px,env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); box-shadow:0 4px 16px #00000014; }
html .framer-uNpys .framer-kgdnlt-container { margin-right:0; }
html .framer-uNpys .framer-46zn2q-container { z-index:0; pointer-events:none; }
html .framer-uNpys .framer-70zvsy,
html .framer-uNpys .framer-wa05fy,
html .framer-uNpys .framer-99afgq,
html .framer-uNpys .framer-18f8te2 { position:relative; z-index:1; }
html .framer-uNpys .framer-7mxoqc { align-items:flex-start; }
html .framer-uNpys .framer-1uoh6bi { align-self:flex-start; }
html .framer-uNpys .framer-w5yd7w { justify-content:flex-start; align-items:flex-start; }
html .framer-uNpys .framer-10cv6k7 { flex:none; width:100%; align-items:flex-start; min-width:0; }
html .framer-uNpys .framer-igeiyh { align-self:flex-start; }
html .framer-uNpys .framer-igeiyh .framer-text { color:var(--enr-text)!important; }
html .framer-uNpys .framer-15yk1g0 > div { width:100%; min-width:0; }
html .framer-uNpys .framer-15yk1g0 > div > div { width:100%; min-width:0; align-self:stretch; }
html .framer-uNpys .framer-15yk1g0 [data-framer-component-type="RichTextContainer"] { width:100%; min-width:0; }
html .framer-uNpys .framer-15yk1g0 .framer-text { overflow-wrap:normal; word-break:normal; }
html .framer-uNpys .framer-15yk1g0 > div > [class$="-container"] { width:44px; align-self:auto; }
html .framer-uNpys .framer-9iwf5y > div { width:max-content; max-width:100%; }
html .framer-uNpys .framer-9iwf5y .framer-ypQRv { width:max-content; height:auto; min-height:44px; overflow:visible; }
html .framer-uNpys .framer-9iwf5y a { width:max-content; }
html .framer-uNpys .framer-9iwf5y .framer-text { white-space:nowrap; overflow-wrap:normal; }
[data-theme="light"] .framer-uNpys .framer-ca3p46-container [data-framer-component-type="SVG"] { color:#0a0a0a; }
[data-theme="light"] .framer-uNpys .framer-ca3p46-container [data-framer-component-type="SVG"] svg,
[data-theme="light"] .framer-uNpys .framer-ca3p46-container [data-framer-component-type="SVG"] svg path { fill:#0a0a0a!important; }
@media(max-width:809px) {
 html .framer-uNpys .framer-15yk1g0 { grid-template-columns:minmax(0,1fr); }
 html .framer-uNpys .framer-1uoh6bi,html .framer-uNpys .framer-igeiyh { flex:none; width:100%; }
}

:root { --enr-chip-icon:#fafafa; }
:root[data-theme="light"] { --enr-chip-icon:#0a0a0a; }

/* Header alignment and four-column experience layout. */
.framer-uNpys.framer-uNpys .framer-14b6kf8 { align-items:center; }
.framer-uNpys.framer-uNpys .framer-kgdnlt-container { margin:0; justify-self:end; align-self:center; width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; }
.framer-uNpys.framer-uNpys .framer-BOwHI { min-height:44px; display:flex; align-items:center; justify-content:center; }
.framer-uNpys.framer-uNpys .framer-14obmsw { align-self:center; min-height:44px; }
.framer-uNpys.framer-uNpys .framer-d94urj { align-self:center; }

/* First scroll state is the brand mark; subsequent states retain the font cycler. */
.enr-brand-mark { display:block; width:100%; height:.8em; max-height:400px; }
.enr-brand-mark img { width:100%; height:100%; object-fit:contain; display:block; }
.enr-brand-mark .enr-brand-on-light { display:none; }
[data-theme="light"] .enr-brand-mark .enr-brand-on-dark { display:none; }
[data-theme="light"] .enr-brand-mark .enr-brand-on-light { display:block; }
@media(max-width:809px) { .enr-brand-mark { max-height:165px; } }
@media(hover:hover) and (pointer:fine) {
 .framer-uNpys.framer-uNpys .framer-14obmsw [data-framer-component-type="RichTextContainer"] { opacity:0; visibility:hidden; transition:opacity 160ms ease; }
 .framer-uNpys.framer-uNpys .framer-14obmsw:hover [data-framer-component-type="RichTextContainer"],
 .framer-uNpys.framer-uNpys .framer-14obmsw:focus-visible [data-framer-component-type="RichTextContainer"] { opacity:1; visibility:visible; }
}

/* About hierarchy, smaller brand mark, and room for the contact plane. */
.framer-uNpys.framer-uNpys .framer-3usgsg { padding-top:clamp(56px,6vw,80px); }
.framer-uNpys.framer-uNpys .framer-igeiyh { gap:24px; }
.framer-uNpys.framer-uNpys .framer-mb6yk .framer-text { font-size:clamp(28px,2.6vw,36px)!important; font-weight:600!important; line-height:1.15!important; letter-spacing:-.025em; }
.framer-uNpys.framer-uNpys .framer-1ba2ow4 .framer-text { font-size:clamp(14px,1.25vw,16px)!important; font-weight:500!important; line-height:1.5!important; color:var(--enr-muted)!important; }
.framer-uNpys.framer-uNpys .framer-1fm5yms .framer-text { font-size:clamp(17px,1.6vw,21px)!important; font-weight:400!important; line-height:1.65!important; }
.framer-uNpys.framer-uNpys .framer-1fm5yms strong.framer-text { font-weight:600!important; }
.framer-uNpys.framer-uNpys .framer-1fm5yms { max-width:58ch; }
.enr-brand-mark img { width:88%; margin-inline:auto; }
.framer-uNpys.framer-uNpys .framer-wa05fy { overflow:visible; }
.framer-uNpys.framer-uNpys .framer-ca3p46-container { z-index:2; }
.framer-uNpys.framer-uNpys .framer-99afgq { z-index:0; }

/* Compact the font cycler's reserved space at the tablet/mobile breakpoints. */
@media(min-width:810px) and (max-width:1199px) {
 .framer-uNpys.framer-uNpys .framer-1tks0cm-container { height:300px; }
}
@media(max-width:809px) {
 .framer-uNpys.framer-uNpys .framer-1tks0cm-container { height:150px; }
}

/* Project links keep their geometry when Framer inserts the hover icon. */
.framer-uNpys.framer-uNpys .framer-9iwf5y { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:12px; align-items:stretch; }
.framer-uNpys.framer-uNpys .framer-9iwf5y > div { width:100%!important; min-width:0; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-ypQRv { width:100%!important; min-height:48px; padding:0; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-j7vmol { width:100%!important; min-height:48px; box-sizing:border-box; padding:12px 44px 12px 16px; justify-content:flex-start; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-ijoxek { min-width:0; max-width:100%; white-space:normal; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-text { white-space:normal; overflow-wrap:anywhere; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-10gcfcw { position:absolute; right:14px; top:50%; margin-top:-10px; width:20px; height:20px; }
/* Center the footer links at every authored breakpoint. */
.framer-uNpys.framer-uNpys .framer-1iu9ocj .framer-Ox3Fk { width:100%; justify-content:center; }
.framer-uNpys.framer-uNpys .framer-1iu9ocj .framer-xplaok { width:100%; justify-content:center; flex-wrap:wrap; }
/* Quiet icon-only control with a full touch target. */
.enr-theme-toggle { width:44px; height:44px; min-height:44px; padding:0; border:0; border-radius:50%; background:color-mix(in srgb,var(--enr-bg) 70%,transparent); color:var(--enr-muted); box-shadow:none; opacity:.75; transition:opacity 160ms ease,background 160ms ease,color 160ms ease; }
.enr-theme-toggle > span:first-child { font-size:18px; line-height:1; }
.enr-theme-toggle .enr-theme-label { display:none; }
.enr-theme-toggle:hover,.enr-theme-toggle:focus-visible { opacity:1; background:var(--enr-surface); color:var(--enr-text); }

/* The content surface starts with the section and uses continuous corners. */
.framer-uNpys.framer-uNpys .framer-1y3gycx-container { top:0; }
.enr-content-surface { background:var(--enr-surface); border-radius:48px; corner-shape:squircle; overflow:hidden; }
.framer-uNpys.framer-uNpys .framer-7piijt-container { border-radius:40px; corner-shape:squircle; overflow:hidden; }
@media(max-width:809px) {
 .enr-content-surface { border-radius:36px; }
 .framer-uNpys.framer-uNpys .framer-7piijt-container { border-radius:32px; }
}

/* Editorial index: one existing surface, three distinct reading rhythms. */
.framer-uNpys.framer-uNpys .framer-18f8te2 {
 --section-inset:clamp(24px,6vw,80px);
 --section-space:clamp(56px,8vw,104px);
}
.framer-uNpys.framer-uNpys .framer-3usgsg,
.framer-uNpys.framer-uNpys .framer-vqcf0x,
.framer-uNpys.framer-uNpys .framer-wu7qtn { padding:var(--section-space) var(--section-inset); gap:32px; }
.framer-uNpys.framer-uNpys .framer-3usgsg { padding-top:48px; padding-bottom:32px; }
.framer-uNpys.framer-uNpys .framer-3usgsg::before { content:'01 / SOBRE'; font:500 .875rem/1.4 'Space Mono',monospace; letter-spacing:.06em; color:var(--enr-muted); }
.framer-uNpys.framer-uNpys .framer-7mxoqc { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,1.6fr); gap:clamp(32px,6vw,72px); align-items:start; overflow:visible; }
.framer-uNpys.framer-uNpys .framer-1uoh6bi,
.framer-uNpys.framer-uNpys .framer-igeiyh { width:100%; min-width:0; flex:none; }
.framer-uNpys.framer-uNpys .framer-w5yd7w { width:100%; align-items:flex-start; }
.framer-uNpys.framer-uNpys .framer-7piijt-container { width:100%; max-width:280px; }
.framer-uNpys.framer-uNpys .framer-igeiyh { gap:28px; }
.framer-uNpys.framer-uNpys .framer-1l5e6b2 { gap:12px; }
.framer-uNpys.framer-uNpys .framer-mb6yk .framer-text { font-size:clamp(2.125rem,4vw,3.5rem)!important; font-weight:500!important; line-height:1.04!important; letter-spacing:-.045em; }
.framer-uNpys.framer-uNpys .framer-1ba2ow4 .framer-text { font-size:1rem!important; font-weight:400!important; }
.framer-uNpys.framer-uNpys .framer-1fm5yms { max-width:49ch; }
.framer-uNpys.framer-uNpys .framer-1fm5yms .framer-text { font-size:clamp(1.0625rem,1.65vw,1.3125rem)!important; line-height:1.7!important; }
.framer-uNpys.framer-uNpys .framer-1fm5yms strong.framer-text { font-weight:500!important; }

/* Section labels share a quiet index rather than large decorative icons. */
.framer-uNpys.framer-uNpys .framer-vqcf0x { display:flex; flex-direction:column; }
.framer-uNpys.framer-uNpys .framer-4sgrfs,
.framer-uNpys.framer-uNpys .framer-1amw8m4 { width:100%; flex:none; gap:16px; align-items:center; }
.framer-uNpys.framer-uNpys .framer-4sgrfs > :not(.framer-p8xnsj),
.framer-uNpys.framer-uNpys .framer-1amw8m4 > :not(.framer-ccjbac) { display:none; }
.framer-uNpys.framer-uNpys .framer-4sgrfs::before,
.framer-uNpys.framer-uNpys .framer-1amw8m4::before { font:500 .875rem/1 'Space Mono',monospace; color:var(--enr-muted); }
.framer-uNpys.framer-uNpys .framer-4sgrfs::before { content:'02'; }
.framer-uNpys.framer-uNpys .framer-1amw8m4::before { content:'03'; }
.framer-uNpys.framer-uNpys .framer-p8xnsj .framer-text,
.framer-uNpys.framer-uNpys .framer-ccjbac .framer-text { font-size:clamp(1.375rem,2.5vw,2rem)!important; font-weight:500!important; letter-spacing:-.025em; }

/* Stable project blocks: the hover graphic never contributes to width. */
.framer-uNpys.framer-uNpys .framer-9iwf5y { grid-template-columns:repeat(2,minmax(0,1fr)); counter-reset:project; gap:12px; }
.framer-uNpys.framer-uNpys .framer-9iwf5y > div { counter-increment:project; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-ypQRv { --border-top-width:0px!important; --border-bottom-width:0px!important; --border-left-width:0px!important; --border-right-width:0px!important; border-radius:24px!important; corner-shape:squircle; background:color-mix(in srgb,var(--enr-text) 4%,var(--enr-surface))!important; transition:background 180ms ease; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-j7vmol { min-height:104px; padding:24px 48px 24px 24px; gap:20px; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-j7vmol::before { content:counter(project,decimal-leading-zero); flex:none; font:400 .75rem/1 'Space Mono',monospace; color:var(--enr-muted); }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-text { font-size:clamp(1rem,1.5vw,1.25rem)!important; line-height:1.35!important; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-10gcfcw { right:20px; }
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-ypQRv:hover,
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-ypQRv:focus-within { background:color-mix(in srgb,var(--enr-text) 9%,var(--enr-surface))!important; }

/* Experience remains a readable chronology; no timeline/divider lines. */
.framer-uNpys.framer-uNpys .framer-15yk1g0 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; align-items:start; }
.framer-uNpys.framer-uNpys .framer-15yk1g0 > div { gap:24px; padding:0; min-width:0; }
.framer-uNpys.framer-uNpys .framer-15yk1g0 > div > :first-child .framer-text { font-family:'Space Mono',monospace!important; font-size:.875rem!important; line-height:1.5!important; color:var(--enr-muted)!important; }
.framer-uNpys.framer-uNpys .framer-15yk1g0 > div > :not(:first-child) { gap:8px; }
.framer-uNpys.framer-uNpys .framer-15yk1g0 .framer-text { font-size:1rem!important; line-height:1.55!important; }

@media(min-width:810px) and (max-width:1199px) {
 .framer-uNpys.framer-uNpys .framer-15yk1g0 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 48px; }
}
@media(max-width:809px) {
 .framer-uNpys.framer-uNpys .framer-7mxoqc { grid-template-columns:minmax(0,1fr); gap:28px; }
 .framer-uNpys.framer-uNpys .framer-7piijt-container { max-width:220px; }
 .framer-uNpys.framer-uNpys .framer-9iwf5y { grid-template-columns:minmax(0,1fr); }
 .framer-uNpys.framer-uNpys .framer-9iwf5y .framer-j7vmol { min-height:88px; padding:20px 44px 20px 20px; gap:16px; }
 .framer-uNpys.framer-uNpys .framer-15yk1g0 { grid-template-columns:minmax(0,1fr); gap:36px; }
 .framer-uNpys.framer-uNpys .framer-15yk1g0 > div { display:grid; grid-template-columns:88px minmax(0,1fr); gap:12px 20px; }
 .framer-uNpys.framer-uNpys .framer-15yk1g0 > div > :not(:first-child) { grid-column:2; }
}

/* Responsive layout guardrails for the editorial sections. */
.framer-uNpys.framer-uNpys .framer-3usgsg,
.framer-uNpys.framer-uNpys .framer-vqcf0x,
.framer-uNpys.framer-uNpys .framer-wu7qtn,
.framer-uNpys.framer-uNpys .framer-7mxoqc,
.framer-uNpys.framer-uNpys .framer-igeiyh,
.framer-uNpys.framer-uNpys .framer-9iwf5y,
.framer-uNpys.framer-uNpys .framer-15yk1g0,
.framer-uNpys.framer-uNpys .framer-15yk1g0 > div {
  min-width: 0;
  box-sizing: border-box;
}

.framer-uNpys.framer-uNpys .framer-7mxoqc > *,
.framer-uNpys.framer-uNpys .framer-igeiyh > *,
.framer-uNpys.framer-uNpys .framer-15yk1g0 > div > * {
  min-width: 0;
  max-width: 100%;
}

.framer-uNpys.framer-uNpys .framer-9iwf5y {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.framer-uNpys.framer-uNpys .framer-9iwf5y > div,
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-ypQRv,
.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-j7vmol {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-text,
.framer-uNpys.framer-uNpys .framer-15yk1g0 .framer-text {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.framer-uNpys.framer-uNpys .framer-15yk1g0 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}

.framer-uNpys.framer-uNpys .framer-15yk1g0 > div {
  align-content: start;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-uNpys.framer-uNpys .framer-7mxoqc {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(28px, 4vw, 48px);
  }

  .framer-uNpys.framer-uNpys .framer-15yk1g0 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 32px;
  }
}

@media (max-width: 809.98px) {
  .framer-uNpys.framer-uNpys .framer-7mxoqc {
    grid-template-columns: minmax(0, 1fr);
  }

  .framer-uNpys.framer-uNpys .framer-9iwf5y {
    grid-template-columns: minmax(0, 1fr);
  }

  .framer-uNpys.framer-uNpys .framer-15yk1g0 {
    grid-template-columns: minmax(0, 1fr);
  }

  .framer-uNpys.framer-uNpys .framer-15yk1g0 > div {
    grid-template-columns: minmax(72px, 88px) minmax(0, 1fr);
  }
}

/* Keep the section heading at its natural width and give the cards their own grid. */
.framer-uNpys.framer-uNpys .framer-vqcf0x {
  width: 100% !important;
  min-width: 0;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch;
}

.framer-uNpys.framer-uNpys .framer-vqcf0x > .framer-4sgrfs {
  flex: none !important;
  width: 100% !important;
  min-width: 0;
  align-items: center;
}

.framer-uNpys.framer-uNpys .framer-vqcf0x > .framer-4sgrfs > .framer-p8xnsj {
  width: auto !important;
  min-width: max-content;
  overflow: visible;
}

.framer-uNpys.framer-uNpys .framer-vqcf0x > .framer-9iwf5y {
  flex: none !important;
  width: 100% !important;
  min-width: 0;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
}

.framer-uNpys.framer-uNpys .framer-9iwf5y > .framer-ni27nq-container,
.framer-uNpys.framer-uNpys .framer-9iwf5y > .framer-7rrtb-container,
.framer-uNpys.framer-uNpys .framer-9iwf5y > .framer-1hb2b3g-container,
.framer-uNpys.framer-uNpys .framer-9iwf5y > .framer-epfrpz-container,
.framer-uNpys.framer-uNpys .framer-9iwf5y > .framer-1q3u6qp-container {
  width: 100% !important;
  height: auto !important;
  min-width: 0;
  align-self: stretch;
}

.framer-uNpys.framer-uNpys .framer-9iwf5y .framer-text {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none;
}

@media (max-width: 809.98px) {
  .framer-uNpys.framer-uNpys .framer-vqcf0x {
    gap: 24px;
  }

  .framer-uNpys.framer-uNpys .framer-vqcf0x > .framer-9iwf5y {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* Dates occupy the narrow timeline column without desktop icon spacing. */
@media (max-width: 809.98px) {
  .framer-uNpys.framer-uNpys .framer-15yk1g0 > div > :first-child {
    padding-right: 0;
    height: auto;
    align-self: start;
  }
  .framer-uNpys.framer-uNpys .framer-15yk1g0 > div > :first-child .framer-text {
    overflow-wrap: normal;
    white-space: nowrap;
  }
  .framer-uNpys.framer-uNpys .framer-wy00l3 .framer-text > span {
    display: block;
  }
}

/* Theme parity: the WebGL scene already reads the theme variables. */
[data-theme="light"] .framer-uNpys.framer-uNpys .framer-46zn2q-container { filter:none; }
[data-theme="light"] .framer-uNpys .framer-text { --framer-text-color:var(--enr-text); }
[data-theme="light"] .framer-uNpys .framer-70zvsy .framer-text,
[data-theme="light"] .framer-uNpys .framer-15yk1g0 > div > :first-child .framer-text { color:var(--enr-muted)!important; }
[data-theme="light"] .framer-uNpys .framer-d94urj svg { --1m973uw:var(--enr-text); }
[data-theme="light"] .framer-uNpys .framer-14obmsw svg { --1m973uw:var(--enr-text); }
.enr-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.framer-uNpys.framer-uNpys .framer-7piijt-container { position:relative; aspect-ratio:1044/1156; height:auto!important; background-image:none; background-color:var(--enr-surface); }
.enr-portrait { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.framer-7piijt-container > .ssr-variant { position:absolute; inset:0; }
.framer-7piijt-container canvas { pointer-events:none; }
@media (pointer:coarse), (prefers-reduced-motion:reduce) {
 .framer-7piijt-container [data-framer-component-type="Shader"] { visibility:hidden; }
}
.framer-uNpys.framer-uNpys .framer-p8xnsj,
.framer-uNpys.framer-uNpys .framer-ccjbac { height:auto; overflow:visible; }
@media(max-width:359px) {
 .framer-uNpys.framer-uNpys .framer-15yk1g0 > div { grid-template-columns:minmax(0,1fr); gap:12px; }
 .framer-uNpys.framer-uNpys .framer-15yk1g0 > div > :not(:first-child) { grid-column:1; }
 .framer-uNpys.framer-uNpys .framer-14b6kf8 { padding-inline:20px; gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .framer-uNpys .framer-1tks0cm-container * { filter:none!important; transition:none!important; }
}
.framer-7piijt-container [data-framer-component-type="Shader"] { position:absolute; inset:0; }
.framer-uNpys h2.framer-text { margin:0; }

/* About without a portrait: text uses the available section width. */
.framer-uNpys.framer-uNpys .framer-7mxoqc { grid-template-columns:minmax(0,1fr); }
.framer-uNpys.framer-uNpys .framer-igeiyh { width:100%; }

/* Project entries without a destination read as unavailable in either theme. */
.framer-uNpys.framer-uNpys .framer-9iwf5y > div:not(:has(a[href])) { cursor:default; }
.framer-uNpys.framer-uNpys .framer-9iwf5y > div:not(:has(a[href])) .framer-ypQRv {
 opacity:.45!important; filter:grayscale(1); pointer-events:none; cursor:default;
}
.framer-uNpys.framer-uNpys .framer-9iwf5y > div:not(:has(a[href])) .framer-10gcfcw { display:none; }

/* Keep the content surface visible when GPU rendering is unavailable. */
.enr-no-webgl .framer-1y3gycx-container { display:none!important; }
.enr-no-webgl .framer-18f8te2 { background:var(--enr-surface);border-radius:36px;corner-shape:squircle; }
@media(prefers-reduced-motion:reduce){.framer-46zn2q-container{pointer-events:none}}

/* Keep the mobile introduction within the first screen while retaining the chips. */
@media(max-width:809px) {
 .framer-uNpys.framer-uNpys .framer-wa05fy { height:36svh; min-height:280px; max-height:380px; }
 .framer-uNpys.framer-uNpys .framer-70zvsy { padding-inline:24px; }
 .framer-uNpys.framer-uNpys .framer-70zvsy .framer-text { white-space:normal; }
 .framer-uNpys.framer-uNpys .framer-ykD4k .framer-1a7jj5b { max-width:calc(100vw - 48px); z-index:10; }
}

/* Text variants must fill the column instead of retaining the removed photo layout. */
.framer-uNpys.framer-uNpys .framer-igeiyh > .ssr-variant { width:100%; min-width:0; }
.framer-uNpys.framer-uNpys .framer-1fm5yms { width:100%!important; max-width:880px; min-width:0; box-sizing:border-box; }
.framer-uNpys.framer-uNpys .framer-1fm5yms > .framer-text { width:100%; max-width:none; }
/* Metalboard has no destination; keep its state explicit through hydration. */
.framer-uNpys.framer-uNpys .framer-7rrtb-container .framer-ypQRv { opacity:.45!important; filter:grayscale(1); pointer-events:none; cursor:default; }
.framer-uNpys.framer-uNpys .framer-7rrtb-container .framer-10gcfcw { display:none; }
/* No desktop experience photo exists for Acesse.net. */
.framer-uNpys.framer-uNpys .framer-1o61jla-container { display:none!important; }

/* Upcoming projects keep their disabled state and expose a compact status. */
.framer-uNpys.framer-uNpys .enr-coming-soon .framer-j7vmol { flex-wrap:wrap; row-gap:8px; }
.framer-uNpys.framer-uNpys .enr-coming-soon .framer-j7vmol::after { content:"em breve"; flex:none; margin-left:auto; padding:4px 8px; border:1px solid var(--enr-border); border-radius:999px; color:var(--enr-text); font:400 11px/1.2 Archivo,sans-serif; white-space:nowrap; }
/* Smaller touch objects give the phone hero room to settle without a pile-up. */
@media(max-width:480px) {
 .framer-ca3p46-container [id="physics-body"] > div { zoom:.72; }
}
