:root{--black:#090909;--paper:#f3f2ef;--white:#fff;--line:#d5d3ce;--muted:#77746e;--accent:#a5967f;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.5;font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem 1rem;z-index:1000}.skip:focus{top:1rem}.mono,.eyebrow,.section-tag{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}.topbar{position:fixed;z-index:100;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 clamp(1.25rem,4vw,4.5rem);color:#fff;border-bottom:1px solid rgba(255,255,255,.18);transition:.35s ease}.topbar.scrolled{height:70px;background:rgba(9,9,9,.94);backdrop-filter:blur(12px)}.brand{font-size:1.8rem;font-weight:600;letter-spacing:-.07em}.topbar nav{display:flex;align-items:center;gap:2rem}.topbar nav a{font-size:.8rem;letter-spacing:.03em;position:relative}.topbar nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:#fff;transition:.25s}.topbar nav a:hover:after{right:0}.nav-cta{border:1px solid rgba(255,255,255,.45);padding:.72rem 1rem}.nav-cta span{margin-left:1rem}.menu-toggle{display:none;background:none;border:0;color:#fff;padding:.6rem}.menu-toggle span{display:block;width:26px;height:1px;background:currentColor;margin:7px 0}.hero{position:relative;min-height:100svh;background:#111;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.79) 0%,rgba(0,0,0,.48) 38%,rgba(0,0,0,.02) 74%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 35%)}.hero-content{position:relative;z-index:2;min-height:100svh;padding:clamp(9rem,18vh,13rem) clamp(1.25rem,6vw,7rem) 6rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:930px}.eyebrow{margin:0 0 2rem}.light{color:#fff}.hero h1,.section h2,.contact h2{font-size:clamp(3.4rem,7.5vw,8.2rem);font-weight:300;line-height:.89;letter-spacing:-.065em;margin:0}.hero-copy{font-size:clamp(1rem,1.35vw,1.3rem);max-width:610px;margin:2.4rem 0 3rem;color:rgba(255,255,255,.8)}.hero-actions{display:flex;align-items:center;gap:2.4rem}.button{display:inline-flex;padding:1rem 1.3rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.button-light{background:#fff;color:#000}.text-link{display:inline-flex;align-items:center;gap:1.2rem;padding-bottom:.3rem;border-bottom:1px solid currentColor;text-transform:uppercase;font-size:.72rem;letter-spacing:.07em}.hero-index{position:absolute;right:clamp(1.25rem,4vw,4.5rem);bottom:2rem;z-index:2}.scroll{position:absolute;z-index:2;left:clamp(1.25rem,4vw,4.5rem);bottom:2rem;display:flex;align-items:center;gap:.7rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.scroll span{width:32px;height:1px;background:#fff}.section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,6rem);max-width:var(--max);margin:auto}.section-tag{padding-bottom:1.5rem;border-bottom:1px solid var(--line);margin-bottom:clamp(4rem,8vw,8rem)}.intro-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(3rem,8vw,9rem);align-items:end}.section h2{font-size:clamp(2.8rem,5.8vw,6.5rem)}.section h2 em,.contact h2 em{font-family:Georgia,serif;font-weight:400}.intro-grid p{color:#5a5854}.intro-grid .lead{font-size:1.25rem;color:#111}.journey{margin-top:clamp(5rem,9vw,9rem);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.journey-step{min-height:265px;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.journey-step:after{content:"↘";position:absolute;right:1.4rem;top:1.25rem;color:var(--accent)}.journey-step span{font-family:"IBM Plex Mono";font-size:.7rem;color:var(--muted)}.journey-step h3{font-size:1.25rem;font-weight:400;margin:4rem 0 1rem}.journey-step p{color:var(--muted);margin:0}.dark{max-width:none;background:var(--black);color:#fff}.dark .section-tag{border-color:#333;max-width:calc(var(--max) - 12rem);margin-left:auto;margin-right:auto}.vertical-heading{max-width:calc(var(--max) - 12rem);margin:auto}.vertical-heading h2{font-size:clamp(3rem,6.5vw,7rem)}.vertical-list{max-width:calc(var(--max) - 12rem);margin:clamp(4rem,8vw,8rem) auto 0}.vertical{display:grid;grid-template-columns:.15fr .5fr .35fr;gap:2rem;padding:3rem 0;border-top:1px solid #333}.vertical:last-child{border-bottom:1px solid #333}.vertical-no{color:#888}.vertical h3{font-size:clamp(1.8rem,3vw,3.6rem);font-weight:300;line-height:1.05;margin:0}.vertical>div:last-child{color:#aaa;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.vertical .eyebrow{color:var(--accent)}.structure .statement{display:grid;grid-template-columns:1.5fr .5fr;gap:5rem;align-items:end}.statement p{max-width:440px;color:#5c5a55}.structure-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:6rem}.structure-card{border:1px solid #bbb;padding:clamp(2rem,4vw,4.5rem);min-height:590px}.structure-card.inverse{background:var(--black);color:#fff;border-color:var(--black)}.structure-card h3{font-size:clamp(2rem,3.5vw,4rem);line-height:1.05;font-weight:300;margin:7rem 0 3rem}.structure-card ul{list-style:none;padding:0;margin:0;border-top:1px solid currentColor}.structure-card li{padding:.75rem 0;border-bottom:1px solid currentColor;color:inherit;opacity:.7}.portfolio-head{display:grid;grid-template-columns:1.5fr .5fr;gap:5rem;align-items:end}.portfolio-head p{color:var(--muted)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:5rem 0 2rem}.filters button{border:1px solid #bbb;background:transparent;text-transform:uppercase;font-family:"IBM Plex Mono";font-size:.65rem;letter-spacing:.06em;padding:.7rem 1rem;cursor:pointer}.filters button.active,.filters button:hover{background:#111;color:#fff;border-color:#111}.project-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1.3rem}.project{transition:.35s}.project.hidden{display:none}.project-art{position:relative;height:clamp(380px,50vw,690px);background:#d5d0c7;overflow:hidden}.project-vila .project-art{background:#a5967f}.project-art>span{position:absolute;left:1.2rem;top:1.2rem;font-family:"IBM Plex Mono";font-size:.65rem;line-height:1.7}.building-lines{position:absolute;inset:19% 6% 0 28%;background:repeating-linear-gradient(90deg,#1c1b1a 0 2%,transparent 2% 8%),linear-gradient(#75726d 0 12%,#bbb6ac 12% 17%,#4d4b48 17% 58%,#c9c4ba 58% 64%,#282726 64%);box-shadow:-70px 70px 0 #57534e}.tower{position:absolute;bottom:0;background:repeating-linear-gradient(0deg,#b8afa2 0 8%,#5f5a54 8% 11%)}.t1{left:18%;width:24%;height:65%}.t2{left:44%;width:22%;height:82%}.t3{left:68%;width:18%;height:55%}.project-info{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem 0 3rem}.project-info h3{font-size:clamp(1.7rem,2.7vw,3rem);font-weight:300;line-height:1;margin:.7rem 0}.project-meta{display:flex;flex-direction:column;text-align:right;color:#6a6864;font-size:.8rem}.about-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.35fr .65fr;gap:3rem}.about-layout h2{grid-column:2;font-size:clamp(3.5rem,7vw,7.7rem)}.about-layout>p:last-child{grid-column:2;max-width:640px;font-size:1.15rem;color:#aaa}.principle{max-width:calc(var(--max) - 12rem);margin:8rem auto 0;border-top:1px solid #333;padding-top:1.5rem;display:flex;justify-content:space-between;gap:2rem}.principle p{margin:0;color:#aaa}.contact{background:var(--accent);color:#0b0b0b;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,6rem);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(4rem,10vw,12rem)}.contact-copy{position:sticky;top:120px;align-self:start}.contact-copy h2{font-size:clamp(3.2rem,6vw,6.8rem);margin-top:3rem}.contact-options{border-top:1px solid rgba(0,0,0,.45)}.contact-options a{display:grid;grid-template-columns:.12fr .78fr .1fr;gap:1rem;padding:2rem 0;border-bottom:1px solid rgba(0,0,0,.45);align-items:start;transition:.2s}.contact-options a:hover{padding-left:1rem}.contact-options h3{font-size:1.35rem;font-weight:400;margin:0}.contact-options p{margin:.4rem 0 0;opacity:.65}.contact-options b{text-align:right;font-weight:400;font-size:1.4rem}footer{background:#090909;color:#fff;padding:4rem clamp(1.25rem,5vw,6rem) 2rem;display:grid;grid-template-columns:.25fr .25fr .5fr;gap:3rem;align-items:start}.footer-brand{font-size:5rem;font-weight:600;letter-spacing:-.08em;line-height:.8}footer p{color:#999;margin:0}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;font-size:.85rem}.footer-end{grid-column:1/-1;margin-top:5rem;padding-top:1.2rem;border-top:1px solid #333;display:flex;justify-content:space-between;color:#777;font-size:.75rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:900px){.menu-toggle{display:block}.topbar nav{position:absolute;top:100%;left:0;right:0;background:#0a0a0a;display:none;flex-direction:column;align-items:stretch;padding:1.5rem}.topbar nav.open{display:flex}.topbar nav a{font-size:1rem;padding:.6rem 0}.nav-cta{margin-top:.5rem}.hero-content{justify-content:flex-end;padding-bottom:8rem}.intro-grid,.structure .statement,.portfolio-head,.contact{grid-template-columns:1fr}.journey{grid-template-columns:1fr 1fr}.dark .section-tag,.vertical-heading,.vertical-list,.principle{max-width:none}.vertical{grid-template-columns:.15fr .85fr}.vertical>div:last-child{grid-column:2}.structure-grid,.project-grid{grid-template-columns:1fr}.structure-card{min-height:auto}.structure-card h3{margin-top:4rem}.about-layout{grid-template-columns:1fr}.about-layout h2,.about-layout>p:last-child{grid-column:1}.contact-copy{position:static}footer{grid-template-columns:1fr 1fr}footer nav{grid-column:1/-1}.footer-end{flex-wrap:wrap}.project-vila .project-art{height:430px}}@media(max-width:560px){.hero-actions{align-items:flex-start;flex-direction:column;gap:1.4rem}.hero h1{font-size:3.8rem}.hero-copy{max-width:92%}.journey{grid-template-columns:1fr}.journey-step{min-height:220px}.vertical{grid-template-columns:1fr}.vertical>div:last-child{grid-column:1}.vertical-no{margin-bottom:1.5rem}.project-info{flex-direction:column}.project-meta{text-align:left}.principle{flex-direction:column}.contact-options a{grid-template-columns:.14fr .76fr .1fr}footer{grid-template-columns:1fr}.footer-brand{font-size:4rem}.footer-end{gap:1rem;flex-direction:column}}

/* Marca oficial ARK */
.brand{display:inline-flex;align-items:center;line-height:1}.brand img{display:block;width:auto;height:33px;filter:invert(1)}.footer-brand img{display:block;width:auto;height:74px;filter:invert(1)}
@media(max-width:1180px){.menu-toggle{display:block}.topbar nav{position:absolute;top:100%;left:0;right:0;background:#0a0a0a;display:none;flex-direction:column;align-items:stretch;padding:1.5rem;max-height:calc(100svh - 70px);overflow:auto}.topbar nav.open{display:flex}.topbar nav a{font-size:1rem;padding:.6rem 0}.nav-cta{margin-top:.5rem}}
.brand{gap:1rem}.brand .brand-symbol{height:auto;width:42px;max-height:20px;object-fit:contain}.footer-brand .footer-symbol{height:auto;width:70px;max-height:38px;object-fit:contain;margin-top:1.5rem}.brand-form{display:block;width:auto;max-width:100%;object-fit:contain;object-position:left center}.gateway-card .gateway-form{height:32px;max-width:90px;margin-top:2rem}.gateway-card.primary .gateway-form{filter:invert(1)}.gateway-card .gateway-form+h3{margin-top:1.5rem}

.office-address{font-style:normal;font-size:1rem;line-height:1.7;margin-top:3rem}.footer-contact{font-style:normal;font-size:.85rem;color:#aaa;line-height:1.8}.footer-contact a{color:#fff;text-decoration:underline;text-underline-offset:.2em}

.topbar nav a.is-current:not(.nav-cta):after { right: 0; }
.floating-contact { position: fixed; z-index: 90; right: clamp(1rem, 3vw, 2.5rem); bottom: max(1rem, env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 1.3rem; padding: .8rem 1rem; color: #fff; background: #111; border: 1px solid #fff; box-shadow: 0 6px 20px rgba(0,0,0,.24); font-size: .88rem; font-weight: 500; }
.floating-contact:hover, .floating-contact:focus-visible { background: #fff; color: #111; border-color: #111; }
@media (max-width: 1180px) { .topbar nav a.is-current:not(.nav-cta) { border-left: 2px solid #fff; padding-left: .8rem; } }
